

지원 종료 공지: 2026 AWS 년 5월 20일에에 대한 지원이 종료됩니다 AWS SimSpace Weaver. 2026년 5월 20일 이후에는 SimSpace Weaver 콘솔 또는 SimSpace Weaver 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은 [AWS SimSpace Weaver 지원 종료를 참조하세요](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html).

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정 컨테이너를 사용하도록 프로젝트 수정
<a name="working-with_custom-containers_modify-project"></a>

이 지침에서는를 사용하는 방법을 이미 알고 있으며 앱 스토리지 AWS SimSpace Weaver 및 개발 워크플로를 AWS 클라우드 보다 효율적으로 만들고 싶다고 가정합니다.

**사전 조건**
+ Amazon Elastic Container Registry(Amazon ECR)에 사용자 지정 컨테이너가 있습니다. 사용자 지정 컨테이너 생성에 대한 자세한 내용은 [사용자 지정 컨테이너 생성](working-with_custom-containers_create.md) 섹션을 참조하세요.

**사용자 지정 컨테이너를 사용하도록 프로젝트 수정**

1. 프로젝트의 시뮬레이션 앱 역할에 Amazon ECR을 사용할 수 있는 권한을 추가합니다.

   1. 다음 권한이 있는 IAM 정책이 아직 없다면 정책을 생성합니다. 정책 이름 `simspaceweaver-ecr`을 사용하는 것이 좋습니다. IAM 정책 생성 방법에 대한 자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.

      ```
      {
          "Version": "2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "Statement",
                  "Effect": "Allow",
                  "Action": [
                      "ecr:BatchGetImage",
                      "ecr:GetDownloadUrlForLayer",
                      "ecr:GetAuthorizationToken"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

   1. 프로젝트의 시뮬레이션 앱 역할 이름을 찾으려면 다음을 수행합니다.

      1. 텍스트 편집기에서 CloudFormation 템플릿을 엽니다.

         ```
         sdk-folder\PackagingTools\sample-stack-template.yaml
         ```

      1. `WeaverAppRole`에서 `RoleName` 속성을 찾습니다. 해당 값은 프로젝트의 시뮬레이션 앱 역할 이름입니다.  
**Example**  

         ```
         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'
         ```

   1. `simspaceweaver-ecr` 정책을 프로젝트의 시뮬레이션 앱 역할에 연결합니다. 정책 연결 방법에 대한 자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [IAM 자격 증명 권한 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.

   1. 다음 명령으로 이동하여 `sdk-folder` 실행하여 샘플 SimSpace Weaver 스택을 업데이트합니다.

      ```
      python setup.py --cloudformation
      ```

1. 프로젝트의 시뮬레이션 스키마에 컨테이너 이미지를 지정합니다.
   + `default_image`에서 선택적 `simulation_properties` 속성을 추가하여 모든 도메인의 기본 사용자 지정 컨테이너 이미지를 지정할 수 있습니다.
   + 사용자 지정 컨테이너 이미지로 사용하려는 도메인에 대해 `image` 속성을 `app_config`에 추가합니다. Amazon ECR 리포지토리 URI를 값으로 지정합니다. 도메인마다 다른 이미지를 지정할 수 있습니다.
     + 도메인에 `image`이 지정되지 않고 `default_image`가 지정된 경우 해당 도메인의 앱이 기본 이미지를 사용합니다.
     + `image`가 도메인에 지정되지 않고가 지정되지 않은 경우 해당 도메인의 앱`default_image`은 표준 SimSpace Weaver 컨테이너에서 실행됩니다.  
**Example 사용자 지정 컨테이너 설정이 포함된 스키마 스니펫**  

   ```
   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
   ```

1. 평소와 같이 프로젝트를 빌드하고 업로드합니다.