カスタムコンテナを使用するようにプロジェクトを変更する - AWS SimSpace Weaver

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタムコンテナを使用するようにプロジェクトを変更する

この手順では、 の使用方法が既にわかっており AWS SimSpace Weaver 、 でアプリケーションのストレージと開発ワークフローをより AWS クラウド 効率的にしたいことを前提としています。

前提条件
  • Amazon Elastic Container Registry (Amazon ECR) にはカスタムコンテナが用意されています。カスタムコンテナの作成方法の詳細については、「カスタムコンテナを作成する」を参照してください。

カスタムコンテナを使用するようにプロジェクトを変更する方法
  1. Amazon ECR を使用するアクセス許可をプロジェクトのシミュレーションアプリケーションロールに追加します。

    1. 以下のアクセス許可を持つ 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": "*" } ] }
    2. プロジェクトのシミュレーションアプリケーションロールの名前を検索します。

      1. テキストエディタで、 AWS CloudFormation テンプレートを開きます。

        sdk-folder\PackagingTools\sample-stack-template.yaml
      2. WeaverAppRole の下の [RoleName] プロパティを検索します。値はプロジェクトのシミュレーションアプリケーションロール名です。

        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'
    3. simspaceweaver-ecr ポリシーをプロジェクトのシミュレーションアプリケーションロールにアタッチします。ポリシーをアタッチする方法の詳細については、「AWS Identity and Access Management ユーザーガイド」の「IAM アイデンティティの許可の追加および削除」を参照してください。

    4. に移動sdk-folderして次のコマンドを実行して、サンプル SimSpace Weaver スタックを更新します。

      python setup.py --cloudformation
  2. プロジェクトのシミュレーションスキーマでコンテナイメージを指定します。

    • simulation_properties の下にオプションの default_image プロパティを追加して、すべてのドメインのデフォルトのカスタムコンテナイメージを指定できます。

    • カスタムコンテナイメージを使用するドメインの image プロパティを app_config に追加します。値として 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
  3. 通常どおりプロジェクトを構築してアップロードします。