사용자 지정 컨테이너를 사용하도록 프로젝트 수정 - 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. 프로젝트의 시뮬레이션 스키마에 컨테이너 이미지를 지정합니다.

    • default_image에서 선택적 simulation_properties 속성을 추가하여 모든 도메인의 기본 사용자 지정 컨테이너 이미지를 지정할 수 있습니다.

    • 사용자 지정 컨테이너 이미지로 사용하려는 도메인에 대해 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. 평소와 같이 프로젝트를 빌드하고 업로드합니다.