Crie uma instância do caderno Braket usando CloudFormation
dica
Aprenda os fundamentos da computação quântica comAWS! Inscreva-se no Amazon Braket Digital Learning Plan
Você pode usar CloudFormation para gerenciar suas instâncias de caderno Amazon Braket. As instâncias do caderno Braket são criadas com base na IA do Amazon SageMaker AI. Com o CloudFormation, você pode provisionar uma instância de caderno com um arquivo de modelo que descreve a configuração pretendida. O arquivo de modelo é escrito no formato JSON ou YAML. É possível criar, editar e excluir instâncias de forma ordenada e repetível. Você pode achar isso útil ao gerenciar várias instâncias do caderno Braket em seu. Conta da AWS
Depois de criar um modelo do CloudFormation para um caderno Braket, use CloudFormation para implantar o recurso. Para ter mais informações, consulte Como criar um conjunto de pilhas no console do CloudFormation no Guia do usuário do CloudFormation.
Para criar uma instância do caderno Braket usando o CloudFormation, você executa estas três etapas:
-
Criar uma configuração de ciclo de vida
-
Crie um perfil do AWS Identity and Access Management (IAM) a ser assumido pelo SageMaker AI.
-
Crie uma instância de caderno do SageMaker AI com o prefixo
amazon-braket-
Você pode reutilizar a configuração do ciclo de vida de todos os cadernos Braket que você criar. Você também pode reutilizar o perfil do IAM para os cadernos Braket aos quais você atribui as mesmas permissões de execução.
Nesta seção:
Etapa 1: Criar um script de configuração do ciclo de vida do SageMaker AI
Use o modelo a seguir para criar um script de configuração do ciclo de vida do SageMaker AI. O script personaliza uma instância do caderno SageMaker AI para Braket. Para opções de configuração para o recurso de ciclo de vida do CloudFormation, consulte AWS::SageMaker::NotebookInstanceLifecycleConfig no Guia do usuário CloudFormation.
BraketNotebookInstanceLifecycleConfig: Type: "AWS::SageMaker::NotebookInstanceLifecycleConfig" Properties: NotebookInstanceLifecycleConfigName: BraketLifecycleConfig-${AWS::StackName} OnStart: - Content: Fn::Base64: | #!/usr/bin/env bash sudo -u ec2-user -i ≪EOS curl -o braket-notebook-lcc.zip https://d3ded4lzb1lnme.cloudfront.net/notebook/braket-notebook-lcc.zip unzip braket-notebook-lcc.zip ./install.sh EOS exit 0
Etapa 2: Criar o perfil do IAM assumido pelo Amazon SageMaker AI.
Quando você usa uma instância do caderno Braket, o SageMaker AI executa operações em seu nome. Por exemplo, suponha que você execute um caderno Braket usando um circuito em um dispositivo compatível. Na instância do caderno, o SageMaker AI executa a operação no Braket para você. O perfil de execução do caderno define as operações exatas que o SageMaker AI tem permissão para executar em seu nome. Para obter informações, consulte Perfis do SageMaker AI no Guia do desenvolvedor do Amazon SageMaker AI.
Use o exemplo a seguir para criar um perfil de execução do caderno Braket com as permissões necessárias. É possível modificar as políticas de acordo com as suas necessidades.
nota
Certifique-se de que o perfil tenha permissão para as operações s3:GetObjecte s3:ListBucket e nos buckets do Amazon S3 prefixados com braketnotebookcdk-". O script de configuração do ciclo de vida requer essas permissões para copiar o script de instalação do caderno Braket.
ExecutionRole: Type: "AWS::IAM::Role" Properties: RoleName: !Sub AmazonBraketNotebookRole-${AWS::StackName} AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "sagemaker.amazonaws.com" Action: - "sts:AssumeRole" Path: "/service-role/" ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonBraketFullAccess Policies: - PolicyName: "AmazonBraketNotebookPolicy" PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Action: - s3:GetObject - s3:PutObject - s3:ListBucket Resource: - arn:aws:s3:::amazon-braket-* - arn:aws:s3:::braketnotebookcdk-* - Effect: "Allow" Action: - "logs:CreateLogStream" - "logs:PutLogEvents" - "logs:CreateLogGroup" - "logs:DescribeLogStreams" Resource: - !Sub "arn:aws:logs:*:${AWS::AccountId}:log-group:/aws/sagemaker/*" - Effect: "Allow" Action: - braket:* Resource: "*"
Etapa 3: criar uma instância de caderno do SageMaker AI com o prefixo amazon-braket-
Use o script de ciclo de vida do SageMaker AI e o perfil do IAM criado nas etapas 1 e 2 para criar uma instância de caderno do SageMaker AI. A instância do caderno é personalizada para o Braket e pode ser acessada com o console Amazon Braket. Para obter mais informações sobre as opções de configuração desse recurso do CloudFormation, consulte AWS::SageMaker::NotebookInstance no Guia do usuário CloudFormation.
BraketNotebook: Type: AWS::SageMaker::NotebookInstance Properties: InstanceType: ml.t3.medium NotebookInstanceName: !Sub amazon-braket-notebook-${AWS::StackName} RoleArn: !GetAtt ExecutionRole.Arn VolumeSizeInGB: 30 LifecycleConfigName: !GetAtt BraketNotebookInstanceLifecycleConfig.NotebookInstanceLifecycleConfigName