작업을 위한 Windows IAM 역할 - Amazon Elastic Container Service

작업을 위한 Windows IAM 역할

Windows 기능이 있는 작업을 위한 IAM 역할에는 추가 구성이 필요하지만 이러한 구성의 상당 부분은 Linux 컨테이너 인스턴스에서의 작업을 위한 IAM 역할 활성화와 비슷합니다. Windows 컨테이너용 작업을 위한 IAM 역할을 활성화하려면 다음의 요구 사항을 충족해야 합니다.

  • 컨테이너 인스턴스를 시작할 때 컨테이너 인스턴스 사용자 데이터 스크립트에 -EnableTaskIAMRole 옵션을 설정하여 기능을 활성화해야 합니다. 예:

    <powershell> Import-Module ECSTools Initialize-ECSAgent -Cluster 'windows' -EnableTaskIAMRole </powershell>
  • 작업 컨테이너 부트스트랩 스크립트를 위한 IAM 역할에서 제공되는 네트워킹 명령을 사용하여 컨테이너를 부트스트랩해야 합니다.

  • 작업을 위한 IAM 역할과 정책을 생성해야 합니다. 자세한 내용은 작업에 대한 IAM 역할 및 정책 생성 단원을 참조하십시오.

  • 컨테이너는 작업을 위한 IAM 역할을 지원하는 AWS SDK를 사용해야 합니다. 자세한 내용은 지원되는 AWS SDK 사용 단원을 참조하십시오.

  • 작업 정의를 등록할 때 또는 작업을 실행할 때 재정의로 작업을 위해 생성한 IAM 역할을 지정해야 합니다. 자세한 내용은 작업에 대한 IAM 역할 지정 단원을 참조하십시오.

  • 작업 자격 증명 공급자를 위한 IAM 역할은 컨테이너 인스턴스에서 포트 80을 사용하므로 컨테이너 인스턴스에서 작업을 위한 IAM 역할을 활성화하면 컨테이너는 어떤 포트 매핑에서도 호스트 포트로 포트 80을 사용할 수 없습니다. 포트 80에서 컨테이너를 노출하려면 로드 밸런싱을 사용하는 컨테이너를 위한 서비스를 구성하는 것이 좋습니다. 로드 밸런서에서 포트 80을 사용할 수 있으며, 트래픽을 컨테이너 인스턴스 상의 다른 호스트 포트로 라우팅할 수 있습니다. 자세한 내용은 서비스 로드 밸런싱 단원을 참조하십시오.

작업 컨테이너 부트스트랩 스크립트를 위한 IAM 역할

컨테이너가 컨테이너 인스턴스에서 자격 증명 프록시에 액세스하여 자격 증명을 얻으려면 먼저 필요한 네트워킹 명령을 사용하여 컨테이너를 부트스트랩해야 합니다. 다음 코드 예제 스크립트는 시작할 때 컨테이너에서 실행되어야 합니다.

# Copyright 2014-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may # not use this file except in compliance with the License. A copy of the # License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is distributed # on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either # express or implied. See the License for the specific language governing # permissions and limitations under the License. $gateway = (Get-NetRoute | Where { $_.DestinationPrefix -eq '0.0.0.0/0' } | Sort-Object RouteMetric | Select NextHop).NextHop $ifIndex = (Get-NetAdapter -InterfaceDescription "Hyper-V Virtual Ethernet*" | Sort-Object | Select ifIndex).ifIndex New-NetRoute -DestinationPrefix 169.254.170.2/32 -InterfaceIndex $ifIndex -NextHop $gateway