本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用以下方法建立 Amazon Braket 筆記本執行個 AWS CloudFormation
您可以用AWS CloudFormation來管理您的 Amazon Braket 筆記型電腦執行個體。Braket 筆記本實例建立在亞馬遜SageMaker上。使用CloudFormation,您可以使用描述預定組態的範本檔案來佈建筆記本執行個體。範本檔案會以 JSON 或 YAML 格式撰寫。您可以以有序且可重複的方式建立、更新和刪除執行個體。當您管理多個 Braket 筆記本實例時,您可能會發現這很有用AWS 帳戶。
建立 Braket 筆記本的CloudFormation範本後,您可AWS CloudFormation以用來部署資源。如需詳細資訊,請參閱AWS CloudFormation使用指南中的在AWS CloudFormation主控台上建立堆疊。
若要使用建立 Braket 筆記本實例CloudFormation,請執行下列三個步驟:
-
建立亞馬遜SageMaker生命週期組態指令碼。
-
建立要承擔的 AWS Identity and Access Management (IAM) 角色SageMaker。
-
使用前置詞建立SageMaker筆記本執行個體
amazon-braket-
您可以為您建立的所有 Braket 筆記本重複使用生命週期組態。您也可以針對指派相同執行權限的 Braket 筆記本重複使用 IAM 角色。
步驟 1:建立亞馬遜生SageMaker命週期組態指令碼
使用下列範本建立SageMaker生命週期組態指令碼。此指令碼會自訂 Braket 的SageMaker筆記本執行個體。如需生命週期CloudFormation資源的組態選項,請參閱AWS CloudFormation使用指南AWS::SageMaker::NotebookInstanceLifecycleConfig中的。
BraketNotebookInstanceLifecycleConfig: Type: "AWS::SageMaker::NotebookInstanceLifecycleConfig" Properties: NotebookInstanceLifecycleConfigName: BraketLifecycleConfig-${AWS::StackName} OnStart: - Content: Fn::Base64: | #!/usr/bin/env bash sudo -u ec2-user -i ≪EOS aws s3 cp s3://braketnotebookcdk-prod-i-notebooklccs3bucketb3089-1cysh30vzj2ju/notebook/braket-notebook-lcc.zip braket-notebook-lcc.zip unzip braket-notebook-lcc.zip ./install.sh EOS exit 0
步驟 2:創建亞馬遜假定的 IAM 角色 SageMaker
當您使用 Braket 筆記本執行個體時,SageMaker會代表您執行作業。例如,假設您使用支援裝置上的電路執行 Braket 筆記型電腦。在筆記本執行個體中,為您SageMaker執行 Braket 上的作業。筆記本執行角色定義了允許代表您執行的確切作業。SageMaker如需詳細資訊,請參閱 Amazon SageMaker 開發人員指南中的SageMaker角色。
使用下列範例建立具有所需權限的 Braket 筆記本執行角色。您可以根據需要修改策略。
注意
請確定角色具有前置詞為的 Amazon S3 儲存貯體s3:ListBucket
和s3: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-
使用在步驟 1 和步驟 2 中建立的SageMaker生命週期指令碼和 IAM 角色建立SageMaker筆記本執行個體。筆記型電腦執行個體是針對 Braket 客製化的,可透過 Amazon Braket 主控台存取。若要取得有關此CloudFormation資源之組態選項的更多資訊,請參閱AWS CloudFormation使用指南AWS::SageMaker::NotebookInstance中的〈〉。
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