Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

安装 Amazon ECS 容器代理

如果容器实例不是使用 Amazon ECS 优化型 AMI 启动的,则可使用以下过程之一手动安装 Amazon ECS 容器代理。

注意

Amazon ECS 容器代理包含在 Amazon ECS 优化型 AMI 中,不需要安装。

在 Amazon Linux EC2 实例上安装 Amazon ECS 容器代理

要使用 Amazon YUM 存储库在 Amazon Linux EC2 实例上安装 Amazon ECS 容器代理,请使用以下步骤。

在 Amazon Linux EC2 实例上安装 Amazon ECS 容器代理

  1. 启动一个 Amazon Linux EC2 实例,该实例具有允许访问 Amazon ECS 的 IAM 角色。有关更多信息,请参阅 Amazon ECS 容器实例 IAM 角色

  2. 连接到您的实例。

  3. 安装 ecs-init 软件包。有关 ecs-init 的更多信息,请参阅 GitHub 上的源代码

    [ec2-user ~]$ sudo yum install -y ecs-init
  4. 启动 Docker 守护程序。

    [ec2-user ~]$ sudo service docker start

    输出:

    Starting cgconfig service: [ OK ] Starting docker: [ OK ]
  5. 启动 ecs-init upstart 作业。

    [ec2-user ~]$ sudo start ecs

    输出:

    ecs start/running, process 2804
  6. (可选) 您可以利用代理自检 API 验证代理是否正在运行并查看有关新容器实例的一些信息。有关更多信息,请参阅 Amazon ECS 容器代理自检

    [ec2-user ~]$ curl http://localhost:51678/v1/metadata

    输出:

    { "Cluster": "default", "ContainerInstanceArn": "<container_instance_ARN>", "Version": "Amazon ECS Agent - v1.20.2 (d68e729f)" }

在非 Amazon Linux EC2 实例上安装 Amazon ECS 容器代理

要在非 Amazon Linux EC2 实例上安装 Amazon ECS 容器代理,您可以从区域性 S3 存储桶之一或 Docker Hub 下载代理。如果您从区域性 S3 存储桶之一下载,则可以选择使用 PGP 签名来验证容器代理的有效性。

下面按区域列出了最新的 Amazon ECS 容器代理文件,以供参考。

Region Region Name Container agent Container agent signature
us-east-2 美国东部(俄亥俄州) ECS container agent PGP signature
us-east-1 美国东部(弗吉尼亚北部) ECS container agent PGP signature
us-west-2 美国西部(俄勒冈) ECS container agent PGP signature
us-west-1 美国西部(加利福尼亚北部) ECS container agent PGP signature
eu-west-3 欧洲 (巴黎) ECS container agent PGP signature
eu-west-2 欧洲 (伦敦) ECS container agent PGP signature
eu-west-1 欧洲(爱尔兰) ECS container agent PGP signature
eu-central-1 欧洲(法兰克福) ECS container agent PGP signature
ap-northeast-2 亚太区域(首尔) ECS container agent PGP signature
ap-northeast-1 亚太区域(东京) ECS container agent PGP signature
ap-southeast-2 亚太区域(悉尼) ECS container agent PGP signature
ap-southeast-1 亚太区域(新加坡) ECS container agent PGP signature
ca-central-1 加拿大 (中部) ECS container agent PGP signature
ap-south-1 亚太地区(孟买) ECS container agent PGP signature
sa-east-1 南美洲(圣保罗) ECS container agent PGP signature
cn-northwest-1 中国 (宁夏) ECS container agent PGP signature
us-gov-west-1 AWS GovCloud(美国) ECS container agent PGP signature
cn-north-1 中国(北京) ECS container agent PGP signature

在非 Amazon Linux EC2 实例上安装 Amazon ECS 容器代理

  1. 启动一个 Amazon EC2 实例,该实例具有允许访问 Amazon ECS 的 IAM 角色。有关更多信息,请参阅 Amazon ECS 容器实例 IAM 角色

  2. 连接到您的实例。

  3. 在实例上安装 Docker。Amazon ECS 需要最低 Docker 版本的 1.9.0 (推荐使用版本 18.06.1-ce),许多系统程序包管理器中的默认 Docker 版本 (如 yumapt-get) 未满足此最低要求。有关在特定 Linux 分发版上安装最新 Docker 版本的信息,请参阅 https://docs.docker.com/engine/installation/

    注意

    Amazon Linux AMI 始终包含用于 Amazon ECS 的 Docker 推荐版本。您可以利用 sudo yum install docker -y 命令在 Amazon Linux 上安装 Docker。

  4. 检查 Docker 版本以验证系统是否满足最低版本要求。

    ubuntu:~$ sudo docker version

    输出:

    Client version: 1.4.1 Client API version: 1.16 Go version (client): go1.3.3 Git commit (client): 5bc2ff8 OS/Arch (client): linux/amd64 Server version: 1.4.1 Server API version: 1.16 Go version (server): go1.3.3 Git commit (server): 5bc2ff8

    在本示例中,Docker 版本为 1.4.1,低于最低版本 1.9.0。在继续之前,此实例需要升级其 Docker。有关在特定 Linux 分发版上安装最新 Docker 版本的信息,请转到 https://docs.docker.com/engine/installation/

  5. 在容器实例上运行以下命令,以允许端口代理使用回环地址路由流量。

    ubuntu:~$ sudo sh -c "echo 'net.ipv4.conf.all.route_localnet = 1' >> /etc/sysctl.conf" ubuntu:~$ sudo sysctl -p /etc/sysctl.conf
  6. 对容器实例运行以下命令以便为任务启用 IAM 角色。有关更多信息,请参阅 任务的 IAM 角色

    ubuntu:~$ sudo iptables -t nat -A PREROUTING -p tcp -d 169.254.170.2 --dport 80 -j DNAT --to-destination 127.0.0.1:51679 ubuntu:~$ sudo iptables -t nat -A OUTPUT -d 169.254.170.2 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 51679
  7. 将新的 iptables 配置写入到特定于您的操作系统的位置。

    • 对于 Debian/Ubuntu:

      sudo sh -c 'iptables-save > /etc/iptables/rules.v4'
    • 对于 CentOS/RHEL:

      sudo sh -c 'iptables-save > /etc/sysconfig/iptables'
  8. 创建 /etc/ecs 目录并创建 Amazon ECS 容器代理配置文件。

    ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config
  9. 编辑 /etc/ecs/ecs.config 文件并添加以下内容。如果不希望向默认群集注册容器实例,请将 ECS_CLUSTER 的值指定为群集名称。

    ECS_DATADIR=/data ECS_ENABLE_TASK_IAM_ROLE=true ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true ECS_LOGFILE=/log/ecs-agent.log ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"] ECS_LOGLEVEL=info ECS_CLUSTER=default

    有关这些和其他代理运行时选项的更多信息,请参阅 Amazon ECS 容器代理配置

    注意

    您可以选择将代理环境变量存储在 Amazon S3 中 (可在启动时使用 Amazon EC2 用户数据将其下载到容器实例)。建议对敏感信息(如私有存储库的身份验证凭证)采用此方法。有关更多信息,请参阅 将容器实例配置存储在 Amazon S3 中任务的私有注册表身份验证

  10. 在容器实例上拉取并运行最新的 Amazon ECS 容器代理。

    注意

    使用 Docker 重新启动策略或进程管理器 (如 upstartsystemd) 将容器代理作为服务或守护程序处理,并确保在容器代理退出后重新启动它。有关更多信息,请参阅 Docker 文档中的自动启动容器重新启动策略。针对 Amazon ECS 优化过的 AMI 使用 ecs-init RPM 达到此目的,并且您可以在 GitHub 上查看此 RPM 的源代码。有关适用于 Ubuntu 16.04 和 CentOS 7 的示例 systemd 单元文件,请参阅示例容器实例用户数据配置脚本

    以下示例代理运行命令分为若干个单独的行以显示每个选项。有关这些和其他代理运行时选项的更多信息,请参阅 Amazon ECS 容器代理配置

    重要

    运行启用了 SELinux 的操作系统需要在 docker run 命令中使用 --privileged 选项。此外,对于启用了 SELinux 的容器实例,建议向 /log/data 卷挂载添加 :Z 选项。但是,在运行该命令前,这些卷的主机挂载必须存在,否则会出现 no such file or directory 错误。如果您在启用了 SELinux 的容器实例上运行 Amazon ECS 代理时遇到困难,请执行以下操作:

    • 在容器实例上创建主机卷挂载点。

      ubuntu:~$ sudo mkdir -p /var/log/ecs /var/lib/ecs/data
    • --privileged 选项添加到下面的 docker 命令中。

    • :Z 选项追加到针对下面的 docker run 命令的 /log/data 容器卷挂载 (例如,--volume=/var/log/ecs/:/log:Z)。

    1. (可选) 从区域性 S3 URL 中下载 ECS 容器代理 tarball 并加载它。如果您未从 S3 下载代理 tarball,则下一步中的 docker run 命令会自动从 Docker Hub 中下载。

      ubuntu:~$ curl -o ecs-agent.tar http://s3.amazonaws.com/amazon-ecs-agent-us-east-1/ecs-agent-latest.tar

      注意

      要下载其他版本的 Amazon ECS 容器代理,请使用以下格式之一,并更改 URL 中的版本号:

      ecs-agent-<version>.tar ecs-agent-<SHA>.tar

      例如:

      http://s3.amazonaws.com/amazon-ecs-agent-us-east-1/ecs-agent-v1.18.0.tar http://s3.amazonaws.com/amazon-ecs-agent-us-east-1/ecs-agent-c0defea9.tar

      加载 ECS 容器代理映像。

      ubuntu:~$ sudo docker load --input ./ecs-agent.tar
    2. 运行 ECS 容器代理映像。

      ubuntu:~$ sudo docker run --name ecs-agent \ --detach=true \ --restart=on-failure:10 \ --volume=/var/run:/var/run \ --volume=/var/log/ecs/:/log \ --volume=/var/lib/ecs/data:/data \ --volume=/etc/ecs:/etc/ecs \ --net=host \ --env-file=/etc/ecs/ecs.config \ amazon/amazon-ecs-agent:latest

      注意

      如果您收到一条 Error response from daemon: Cannot start container 消息,则可以利用 sudo docker rm ecs-agent 命令删除失败的容器并重新尝试运行代理。

  11. (可选) 如果您从 S3 下载 Amazon ECS 容器代理文件,则可验证该文件的有效性。

    1. 下载并安装 GnuPG。有关 GnuPG 的更多信息,请参阅 GnuPG 网站。对于 Linux 系统,使用您的 Linux 风格的程序包管理器安装 gpg

    2. 检索 Amazon ECS PGP 公钥。您可以使用命令检索,也可以手动创建此密钥然后导入。

      1. 选项 1:使用以下命令检索此密钥。

        gpg --keyserver hkp://keys.gnupg.net --recv BCE9D9A42D51784F
      2. 选项 2:创建包含 Amazon ECS PGP 公钥的以下内容的文件,然后导入此文件:

        -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 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 =Gi5D -----END PGP PUBLIC KEY BLOCK-----

        The details of the Amazon ECS PGP public key for reference:

        Key ID: BCE9D9A42D51784F
        Type: RSA
        Size: 4096/4096
        Expires: Never
        User ID: Amazon ECS
        Key fingerprint: F34C 3DDA E729 26B0 79BE AEC6 BCE9 D9A4 2D51 784F

        使用以下命令导入 Amazon ECS PGP 公钥。

        gpg --import <public_key_filename>
    3. 下载 ECS 容器代理签名。ECS 容器代理签名是存储在扩展名为 .asc 的文件中的 ascii 分离 PGP 签名。此签名文件的名称与其对应可执行文件的名称相同,追加了 .asc

      curl -o ecs-agent.asc http://s3.amazonaws.com/amazon-ecs-agent-us-east-1/ecs-agent-latest.tar.asc
    4. 验证签名。

      gpg --verify ecs-agent.asc ./ecs-agent.tar

      预期输出:

      gpg: Signature made Wed 16 May 2018 08:21:06 PM UTC using RSA key ID 710E61AF gpg: Good signature from "Amazon ECS <ecs-security@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: F34C 3DDA E729 26B0 79BE AEC6 BCE9 D9A4 2D51 784F Subkey fingerprint: D64B B6F9 0CF3 77E9 B5FB 346F 50DE CCC4 710E 61AF

      注意

      输出中的警告是预料中的,没有问题;它出现是因为您的个人 PGP 密钥 (如果您有) 和 Amazon ECS PGP 密钥之间没有信任链。有关更多信息,请参阅信任 Web