Amazon EC2 Container Service
开发人员指南 (API Version 2014-11-13)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

任务的 Windows IAM 角色

与 Windows 相关的任务的 IAM 角色需要额外配置,但此配置很大程度上类似于在 Linux 容器实例上启用任务的 IAM 角色。必须满足以下要求才能为 Windows 容器启用任务的 IAM 角色。

  • 在启动您的容器实例时,您必须通过在容器实例启动脚本中设置 ECS_ENABLE_TASK_IAM_ROLE 环境变量来启用此功能。

  • 您必须使用任务的 IAM 角色的容器引导脚本中提供的联网命令来引导容器。

  • 您必须为任务创建 IAM 角色和策略。有关更多信息,请参阅 为任务创建 IAM 角色和策略

  • 您的容器必须使用支持任务的 IAM 角色的 AWS 开发工具包。有关更多信息,请参阅 使用支持的 AWS 开发工具包

  • 您必须指定在注册任务定义时为任务创建的 IAM 角色,或者在运行任务时作为覆盖指定。有关更多信息,请参阅 为任务指定 IAM 角色

  • 任务的 IAM 角色凭证提供程序在容器实例上使用端口 80,因此,如果您在容器实例上启用任务的 IAM 角色,则容器无法将端口 80 用于任何端口映射中的主机端口。要在端口 80 上公开容器,建议您为这些容器配置一个使用负载平衡功能的服务。您可以在负载平衡器上使用端口 80,并且流量可传送到容器实例上的另一个主机端口。有关更多信息,请参阅 服务负载均衡

任务的 IAM 角色的容器引导脚本

必须先使用所需的联网命令引导容器,然后容器才能访问容器实例上的凭证代理来获得凭证。当容器启动时,应在容器上运行以下代码示例脚本。

Copy
# 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-WMIObject -Class Win32_IP4RouteTable | Where { $_.Destination -eq '0.0.0.0' -and $_.Mask -eq '0.0.0.0' } | Sort-Object Metric1 | 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