기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 컨테이너를 사용하도록 프로젝트 수정
이 지침에서는 사용자가 이미 사용 방법을 알고 있고 앱 스토리지 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 -
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'
-
simspaceweaver-ecr
정책을 프로젝트의 시뮬레이션 앱 역할에 연결합니다. 정책 연결 방법에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서의 IAM 자격 증명 권한 추가 및 제거를 참조하세요.-
다음 명령으로
이동하여 실행하여 샘플 SimSpace Weaver 스택을 업데이트합니다.sdk-folder
python setup.py --cloudformation
-
프로젝트의 시뮬레이션 스키마에 컨테이너 이미지를 지정합니다.
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
평소와 같이 프로젝트를 빌드하고 업로드합니다.