使用以下方法建立 Amazon Braket 筆記本執行個 AWS CloudFormation - Amazon Braket

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用以下方法建立 Amazon Braket 筆記本執行個 AWS CloudFormation

提示

透過以下方式瞭解量子運算的基礎 AWS! 註冊 Amazon Braket 數位學習計劃,並在完成一系列學習課程和數位評估後獲得自己的數位徽章。

您可以使用... AWS CloudFormation 管理您的亞馬遜筆記本電腦實例。Braket 筆記本實例建立在 Amazon SageMaker 上。使用 CloudFormation,您可以使用描述預定組態的範本檔案來佈建筆記本執行個體。範本檔案是以JSON或格YAML式寫入。您可以以有序且可重複的方式建立、更新和刪除執行個體。當您管理多個 Braket 筆記本實例時,您可能會發現這很有用 AWS 帳戶.

建立 Braket 筆記本的 CloudFormation 範本後,您可以使用 AWS CloudFormation 部署資源。如需詳細資訊,請參閱在 AWS CloudFormation 控制台中的 AWS CloudFormation 用戶指南

若要使用建立 Braket 筆記本實例 CloudFormation,請執行下列三個步驟:

  1. 建立 Amazon SageMaker 生命週期組態指令碼。

  2. 創建一個 AWS Identity and Access Management (IAM)由承擔的角色 SageMaker。

  3. 使用前置詞建立 SageMaker 筆記本執行個體 amazon-braket-

您可以為您建立的所有 Braket 筆記本重複使用生命週期組態。您也可以重複使用指派相同執行權限的 Braket 筆記本的IAM角色。

步驟 1:建立 Amazon SageMaker 生命週期組態指令碼

使用下列範本建立SageMaker 生命週期組態指令碼。此指令碼會自訂 Braket 的 SageMaker 筆記本執行個體。如需生命週期 CloudFormation 資源的組態選項,請參閱AWSSageMaker:: NotebookInstanceLifecycleConfig AWS 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

第 2 步:創建 Amazon 假定的IAM角色 SageMaker

當您使用 Braket 筆記本執行個體時, SageMaker 會代表您執行作業。例如,假設您使用支援裝置上的電路執行 Braket 筆記型電腦。在筆記本執行個體中,為您 SageMaker 執行 Braket 上的作業。筆記本執行角色定義了允許代表您執行的確切作業。 SageMaker 如需詳細資訊,請參閱 Amazon SageMaker 開發人員指南中的SageMaker 角色

使用下列範例建立具有所需權限的 Braket 筆記本執行角色。您可以根據需要修改策略。

注意

請確定角色具有前置詞為的 Amazon S3 儲存貯體s3:ListBuckets3:GetObject操作的braketnotebookcdk-"權限。生命週期組態指令碼需要這些權限才能複製 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: "*"

步驟 3:建立具有前置詞的 Amazon SageMaker 筆記本執行個體 amazon-braket-

使用 SageMaker 生命週期指令碼以及在步驟 1 和步驟 2 中建立的IAM角色來建立 SageMaker 筆記本執行個體。筆記型電腦執行個體是針對 Braket 客製化的,可透過 Amazon Braket 主控台存取。如需有關此 CloudFormation 資源組態選項的詳細資訊,請參閱AWSSageMaker:: NotebookInstance AWS 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