本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
修改專案以使用自訂容器
這些指示假設您已經知道如何使用 AWS SimSpace Weaver 並希望讓您的應用程式儲存和開發工作流程 AWS 雲端 更有效率。
必要條件
-
您在 Amazon Elastic Container Registry (Amazon ECR) 中有一個自定義容器。如需建立自訂容器的詳細資訊,請參閱建立自訂容器。
若要修改專案以使用自訂容器
為專案的模擬應用程式角色新增許可以使用 Amazon ECR。
如果您還沒有具有以下許可的 IAM 政策,請建立該政策。我們建議使用策略名稱
simspaceweaver-ecr
。如需如何建立 IAM 政策的詳細資訊,請參閱AWS Identity and Access Management 使用者指南中的建立 IAM 政策。{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
尋找專案模擬應用程式角色的名稱:
-
在文字編輯器中,開啟 AWS CloudFormation 範本:
sdk-folder
\PackagingTools\sample-stack-template.yaml -
尋找下方的
RoleName
屬性WeaverAppRole
。此值是專案模擬應用程式角色的名稱。AWSTemplateFormatVersion: "2010-09-09" Resources: WeaverAppRole: Type: 'AWS::IAM::Role' Properties: RoleName: 'weaver-MySimulation-app-role' AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: - 'simspaceweaver.amazonaws.com'
-
將
simspaceweaver-ecr
原則附加至專案的模擬應用程式角色。如需有關如何附加政策的詳細資訊,請參閱AWS Identity and Access Management 使用指南中的新增和移除 IAM 身分許可。-
瀏覽
並執行下列命令以更新範例 SimSpace Weaver 堆疊:sdk-folder
python setup.py --cloudformation
-
在專案的模擬結構描述中指定容器映像檔。
您可以在下新增選擇
default_image
性屬性,simulation_properties
以指定所有網域的預設自訂容器映像檔。在您要使用
app_config
自訂容器映像檔的網域中新增image
屬性。將 Amazon ECR 儲存庫 URI 指定為值。您可以為每個網域指定不同的映像檔。-
如果
image
未為網域指定且已指定,default_image
則該網域中的應用程式會使用預設映像檔。 -
如果
image
未為網域指定且default_image
未指定,則該網域中的應用程式會在標準 SimSpace Weaver 容器中執行。
-
範例 包含自訂容器設定的結構描述片段
sdk_version: "1.17.0" simulation_properties: log_destination_service: "logs" log_destination_resource_name: "MySimulationLogs" default_entity_index_key_type: "Vector3<f32>" default_image: "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-ecr-repository:latest" # image to use if no image specified for a domain domains: MyCustomDomain: launch_apps_via_start_app_call: {} app_config: package: "s3://weaver-myproject-111122223333-us-west-2/MyViewApp.zip" launch_command: ["MyViewApp"] required_resource_units: compute: 1 endpoint_config: ingress_ports: - 7000 image: "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-ecr-repository:latest" # custom container image to use for this domain MySpatialDomain: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1 image: "111122223333.dkr.ecr.us-west-2.amazonaws.com/my-ecr-repository:latest" # custom container image to use for this domain
像往常一樣構建和上傳您的項目。