Creación de una instancia de cuaderno de Braket usando CloudFormation
sugerencia
Conozca los fundamentos de la computación cuántica con AWS. Inscríbase en el plan de aprendizaje digital de Amazon Braket
Puedes utilizar CloudFormation para gestionar las instancias de su cuaderno de Amazon Braket. Las instancias de cuaderno de Braket se basan en Amazon SageMaker AI. Con CloudFormation, puede aprovisionar una instancia de cuaderno con un archivo de plantilla que describa la configuración prevista. El archivo de plantilla está escrito en formato JSON o YAML. Puede crear, actualizar y eliminar instancias de forma ordenada y repetible. Esto puede resultarle útil cuando gestione varias instancias de cuaderno de Braket en su Cuenta de AWS.
Después de crear una plantilla de CloudFormation para un cuaderno de Braket, se utiliza CloudFormation para implementar el recurso. Para obtener más información, consulte Creación de una pila en la consola de CloudFormation en la Guía del usuario de CloudFormation.
Para crear una instancia de cuaderno de Braket con CloudFormation, lleve a cabo estos tres pasos:
-
Creación de un script de configuración del ciclo de vida de SageMaker AI.
-
Creación de un rol de AWS Identity and Access Management (IAM) para que lo asuma SageMaker AI.
-
Creación de una instancia de cuaderno de SageMaker AI con el prefijo
amazon-braket-.
Puede reutilizar la configuración del ciclo de vida de todos los cuadernos de Braket que cree. También puede reutilizar el rol de IAM para los cuadernos de Braket a los que asigne los mismos permisos de ejecución.
En esta sección:
Paso 1: Creación de un script de configuración del ciclo de vida de SageMaker AI
Utilice la siguiente plantilla para crear un script de configuración del ciclo de vida de SageMaker AI. El script personaliza una instancia de cuaderno de SageMaker AI para Braket. Para ver las opciones de configuración del recurso CloudFormation del ciclo de vida, consulte AWS::SageMaker::NotebookInstanceLifecycleConfig en la Guía del usuario de 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
Paso 2: Creación del rol de IAM que asumirá Amazon SageMaker AI
Cuando utiliza una instancia de cuaderno de Braket, SageMaker AI realiza operaciones en su nombre. Por ejemplo, supongamos que ejecuta un cuaderno de Braket utilizando un circuito de un dispositivo compatible. En la instancia del cuaderno, SageMaker AI ejecuta la operación en Braket por usted. El rol de ejecución del cuaderno define las operaciones exactas que SageMaker AI puede ejecutar en su nombre. Para obtener más información, consulte Roles de SageMaker AI en la Guía para desarrolladores de Amazon SageMaker AI.
Utilice el siguiente ejemplo para crear un rol de ejecución de cuaderno de Braket con los permisos requeridos. Puede modificar las políticas en función de sus necesidades.
nota
Asegúrese de que el rol tenga permiso para las operaciones s3:ListBucket y s3:GetObject en los buckets de Amazon S3 con el prefijo braketnotebookcdk-". El script de configuración del ciclo de vida requiere estos permisos para copiar el script de instalación del cuaderno de 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: "*"
Paso 3: Creación de una instancia de cuaderno de SageMaker AI con el prefijo amazon-braket-
Utilice el script del ciclo de vida de SageMaker AI y el rol de IAM creado en los pasos 1 y 2 para crear una instancia de cuaderno de SageMaker AI. La instancia del cuaderno está personalizada para Braket y se puede acceder a ella desde la consola de Amazon Braket. Para ver las opciones de configuración del recurso CloudFormation del ciclo de vida, consulte AWS::SageMaker::NotebookInstance en la Guía del usuario de 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