设置以使用 Amazon ECS - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

设置以使用 Amazon ECS

如果您已经注册了Amazon Web Services (Amazon),并且一直在使用Amazon Elastic Compute Cloud (Amazon EC2),那么您就接近能够使用 Amazon ECS 了。这两个服务的设置过程相似。以下指南为启动您的第一个 Amazon ECS 集群做好准备。

要开始设置 Amazon ECS,请完成以下任务。

注册Amazon

当您注册 Amazon 时,您的 Amazon 帐户将自动注册所有服务,包括 Amazon EC2 和 Amazon ECS。您只需为使用的服务付费。

如果您已有 Amazon 账户,请跳到下一个任务。如果您还没有 Amazon 账户,请使用以下步骤创建。

创建 Amazon 账户

  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。

请记下您的 Amazon 账号,因为在下一个任务中您会用到它。

创建 IAM 用户

Amazon 中的服务(如 Amazon EC2 和 Amazon ECS)要求您在访问时提供凭证,以便服务可以确定您是否有权限访问其资源。控制台要求您的密码。您可以为您的 Amazon 账户创建访问密钥以访问命令行界面或 API。但是,我们不建议您使用 Amazon 账户的凭证访问 Amazon,而建议您改用Amazon Identity and Access Management (IAM)。创建 IAM 用户,然后将该用户添加到具有管理权限的 IAM 组或授予此用户管理权限。然后,您就可以使用专门的 URL 和该 IAM 用户的凭证来访问 Amazon。

如果您已注册 Amazon 但尚未为自己创建一个 IAM 用户,则可以使用 IAM 控制台自行创建。

自行创建管理员用户并将该用户添加到管理员组 (控制台)

  1. 选择 Root user(根用户)并输入您的 Amazon Web Services 账户 电子邮件地址,以账户拥有者身份登录 IAM 控制台。在下一页上,输入您的密码。

    注意

    强烈建议您遵守以下使用 Administrator IAM 用户的最佳实践,妥善保存根用户凭证。只在执行少数账户和服务管理任务时才作为根用户登录。

  2. 在导航窗格中,选择 Users(用户),然后选择 Add users(添加用户)。

  3. 对于 User name(用户名),输入 Administrator

  4. 选中 Amazon Web Services Management Console access (Amazon Web Services Management Console 管理控制台访问)旁边的复选框。然后选择自定义密码,并在文本框中输入新密码。

  5. (可选)默认情况下,Amazon要求新用户在首次登录时创建新密码。您可以清除 User must create a new password at next sign-in(用户必须在下次登录时创建新密码)旁边的复选框以允许新用户在登录后重置其密码。

  6. 选择下一步: 权限

  7. 设置权限下,选择将用户添加到组

  8. 选择创建组

  9. Create group(创建组)对话框中,对于 Group name(组名称),输入 Administrators

  10. 选择 Filter policies(筛选策略),然后选择 Amazon managed - job function(Amazon 托管 – 工作职能)以筛选表内容。

  11. 在策略列表中,选中 AdministratorAccess 的复选框。然后选择 Create group(创建组)。

    注意

    您必须先激活 IAM 用户和角色对账单的访问权限,然后才能使用 AdministratorAccess 权限访问 Amazon Billing and Cost Management 控制台。为此,请按照“向账单控制台委派访问权限”教程第 1 步中的说明进行操作。

  12. 返回到组列表中,选中您的新组所对应的复选框。如有必要,选择 Refresh(刷新)以在列表中查看该组。

  13. 选择下一步: 标签

  14. (可选) 通过以键值对的形式附加标签来向用户添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 IAM 用户指南中的标记 IAM 实体

  15. 选择 Next: Review(下一步:审核)以查看要添加到新用户的组成员资格的列表。如果您已准备好继续,请选择 Create user(创建用户)。

您可使用这一相同的流程创建更多组和用户,并允许您的用户访问 Amazon Web Services 账户 资源。要了解有关使用策略限制用户对特定 Amazon 资源的权限的信息,请参阅访问管理示例策略

要以该新 IAM 用户的身份登录,请从 Amazon 控制台注销,然后使用以下 URL,其中 your_aws_account_id 是您的 Amazon 账号,不带连字符 (例如,如果您的 Amazon 账号是 1234-5678-9012,则您的 Amazon 账户 ID 是 123456789012):

https://your_aws_account_id.signin.aws.amazon.com/console/

输入您刚创建的 IAM 用户名和密码。登录后,导航栏显示“your_user_name @ your_aws_account_id”。

如果您不希望您的登录页面 URL 包含 Amazon 账户 ID,可以创建账户别名。从 IAM 控制面板上,在注册链接的右侧,选择 Customize (自定义),然后输入别名,如您的公司名称。要在创建账户别名后登录,请使用以下 URL:

https://your_account_alias.signin.aws.amazon.com/console/

要为您的账户验证 IAM 用户的登录链接,请打开 IAM 控制台并在控制面板的 IAM 用户登录链接下进行检查。

有关 IAM 的更多信息,请参阅 Amazon Identity and Access Management 用户指南

创建密钥对

对于 Amazon ECS,密钥对只有在您打算使用 EC2 启动类型时才需要。

Linux 实例(例如 Amazon ECS 容器实例)没有用于 SSH 访问的密码。您使用密钥对安全地登录到实例。您可以在启动容器实例时指定密钥对的名称,然后提供私有密钥(使用 SSH 登录时)。

如果您尚未创建密钥对,则可以通过 Amazon EC2 控制台自行创建。如果您计划在多个区域启动实例,则需要在每个区域中创建密钥对。有关区域的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的区域和可用区

创建密钥对

  1. 使用 Amazon EC2 控制台创建密钥对。有关创建密钥对的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建密钥对

  2. 如果您在 macOS 或 Linux 计算机上使用 SSH 客户端连接到您的 Linux 实例,请使用以下命令设置您私有密钥文件的权限,以确保只有您可以读取它。

    chmod 400 your_user_name-key-pair-region_name.pem

有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EC2 密钥对

使用密钥对连接到实例

要从运行 macOS 或 Linux 的计算机连接到 Linux 实例,需要使用 -i 选项对 SSH 客户端指定 .pem 文件和私有密钥的路径。要从运行 Windows 的计算机连接到您的 Linux 实例,可以使用 MindTerm 或 PuTTY。如果您计划使用 PuTTY,则需要安装它并遵循以下过程将 .pem 文件转换为 .ppk 文件。

准备使用 PuTTY 从 Windows 连接到 Linux 实例

  1. http://www.chiark.greenend.org.uk/~sgtatham/putty/ 下载并安装 PuTTY。确保安装整个套件。

  2. 启动 PuTTYgen(例如,在开始菜单中,依次选择All Programs > PuTTY > PuTTYgen)。

  3. Type of key to generate 下,选择 RSA

    
						PuTTYgen 中的 SSH-2 RSA 密钥
  4. 选择 Load。默认情况下,PuTTYgen 仅显示扩展名为 .ppk 的文件。要找到您的 .pem 文件,请选择显示所有类型的文件的选项。

    
						选择所有文件类型
  5. 选择您在上一个过程中创建的私有密钥文件,然后选择 Open。选择 OK 关闭确认对话框。

  6. 选择保存私有密钥。PuTTYgen 显示一条关于在没有密码的情况下保存密钥的警告。选择

  7. 指定与密钥对相同的密钥名称。PuTTY 会自动添加 .ppk 文件扩展名。

创建 Virtual Private Cloud

通过 Amazon Virtual Private Cloud (Amazon VPC),您可以将 Amazon 资源启动到您定义的虚拟网络中。强烈建议您在 VPC 中启动您的容器实例。

注意

Amazon ECS 控制台首次运行体验会为您的集群创建 VPC,因此,如果您打算使用 Amazon ECS 控制台,则可以跳到下一个部分。

如果您有默认 VPC,也可以跳过此部分并进入下一个任务,即 创建安全组。要确定您是否具有原定设置 VPC,请参阅适用于 Linux 的 Amazon EC2 用户指南中的 Amazon EC2 控制台中支持的平台。否则,您可以使用以下步骤在账户中创建非默认 VPC。

重要

如果您的账户在某个区域中支持 Amazon EC2 Classic,则您在该区域没有默认 VPC。

有关如何创建 VPC 的信息,请参阅《Amazon VPC 用户指南》中的仅创建 VPC 并使用下表确定要选择的选项。

选项

要创建的资源

仅限 VPC
名称

可以选择为您的 VPC 提供名称。

IPv4 CIDR 块

IPv4 CIDR 手动输入

CIDR 块大小必须在 /16 和 /28 之间。

IPv6 CIDR 块

无 IPv6 CIDR 块

Tenancy

默认值

有关 Amazon VPC 的更多信息,请参阅 Amazon VPC 用户指南中的什么是Amazon VPC?

创建安全组

安全组用作相关容器实例的防火墙,可在容器实例级别控制入站和出站流量。您可以向安全组添加规则,以便使用 SSH 从您的 IP 地址连接到容器实例。您还可以添加允许来自任意位置的入站和出站 HTTP 和 HTTPS 访问的规则。向任务所需的开放端口添加任意规则。容器实例需要外部网络访问来与 Amazon ECS 服务终端节点通信。

注意

Amazon ECS 经典控制台首次运行时会为您的实例创建安全组并根据您使用的任务定义创建负载均衡器,因此,如果要使用 Amazon ECS 控制台,则可以跳到下一个部分。

如果您计划在多个区域中启动容器实例,则需要在每个区域中创建安全组。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的区域和可用区

提示

您需要本地计算机的公有 IP 地址,可以使用服务获得该地址。例如,我们提供以下服务:http://checkip.amazonaws.com/https://checkip.amazonaws.com/。要查找另一项可提供您的 IP 地址的服务,请使用搜索短语“what is my IP address”。如果您通过 Internet 服务提供商 (ISP) 连接或者在不使用静态 IP 地址的情况下从防火墙后面连接,则必须找出客户端计算机使用的 IP 地址范围。

有关如何创建安全组的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建安全组并使用下表确定要选择的选项。

选项

区域

您在其中创建密钥对的相同区域。
名称 一个您容易记住的名称,例如 ecs-instances-default-cluster
VPC 默认 VPC(标有“(默认)”)。
注意

如果您的账户支持 Amazon EC2 Classic,请选择您在上一个任务中创建的 VPC。

Amazon ECS 容器实例不需要打开任何入站端口。但您可能需要添加 SSH 规则,以便登录容器实例并使用 Docker 命令检查任务。如果您希望容器实例托管运行 Web 服务器的任务,也可以添加适用于 HTTP 和 HTTPS 的规则。容器实例需要外部网络访问来与 Amazon ECS 服务终端节点通信。完成以下步骤可添加这些可选的安全组规则。

向您的安全组添加以下三条入站规则。有关如何创建安全组的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的为您的安全组添加规则

选项

HTTP 规则

Type:HTTP

来源:Anywhere(任何位置)(0.0.0.0/0

此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为源。这在测试环境中可以接受一小段时间,但是在生产环境中并不安全。在生产中,请仅授权特定 IP 地址或地址范围访问您的实例。

HTTPS 规则

类型:HTTPS

来源:Anywhere(任何位置)(0.0.0.0/0

这在测试环境中可以接受一小段时间,但是在生产环境中并不安全。在生产中,请仅授权特定 IP 地址或地址范围访问您的实例。

SSH 规则

Type:SSH

来源:Custom(自定义),使用 CIDR 表示法指定计算机的公有 IP 地址或网络。要采用 CIDR 表示法指定单个 IP 地址,请添加路由前缀 /32。例如,如果您的 IP 地址是 203.0.113.25,请指定 203.0.113.25/32。如果您的公司要分配同一范围内的地址,请指定整个范围,例如 203.0.113.0/24

重要

出于安全原因,我们不建议您允许从所有 IP 地址 (0.0.0.0/0) 对您的实例进行 SSH 访问(以测试为目的的短暂访问除外)。

安装 Amazon CLI

Amazon Web Services Management Console 可以用来手动管理 Amazon ECS 的所有操作。但是,您可以在本地桌面上安装 Amazon CLI 或开发人员工具包并生成脚本,以便在 Amazon ECS 中自动执行常见管理任务。

要对 Amazon ECS 使用 Amazon CLI,请安装最新版本的 Amazon CLI。有关安装 Amazon CLI 或升级到最新版本的信息,请参阅 Amazon Command Line Interface 用户指南.中的安装 Amazon 命令行界面