设置以使用 Amazon ECS
如果您已经注册了Amazon Web Services (Amazon),并且一直在使用Amazon Elastic Compute Cloud (Amazon EC2),那么您就接近能够使用 Amazon ECS 了。这两个服务的设置过程相似。以下指南为启动您的第一个 Amazon ECS 集群做好准备。
要开始设置 Amazon ECS,请完成以下任务。
注册一个 Amazon Web Services 账户
如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。
注册 Amazon Web Services 账户
按照屏幕上的说明进行操作。
在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。
当您注册 Amazon Web Services 账户 时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services和资源。作为安全最佳实践,请 为管理用户分配管理访问权限,并且只使用根用户执行 需要根用户访问权限的任务。
Amazon注册过程完成后,会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/
保护 IAM 用户
注册 Amazon Web Services 账户后,启用多重身份验证(MFA)来保护您的管理员用户。有关说明,请参阅《IAM 用户指南》中的为 IAM 用户启用虚拟 MFA 设备(控制台)。
要授予其他用户访问您的 Amazon Web Services 账户 资源的权限,请创建 IAM 用户。要保护您的 IAM 用户,请开启 MFA 并仅向 IAM 用户授予执行任务所需的权限。
有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:
创建凭证以连接到 EC2 实例
对于 Amazon ECS,密钥对只有在您打算使用 EC2 启动类型时才需要。
Linux 实例(例如 Amazon ECS 容器实例)没有用于 SSH 访问的密码。您使用密钥对安全地登录到实例。您可以在启动容器实例时指定密钥对的名称,然后提供私有密钥(使用 SSH 登录时)。
如果您尚未创建密钥对,则可以通过 Amazon EC2 控制台自行创建。如果您计划在多个区域启动实例,则需要在每个区域中创建密钥对。有关区域的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的区域和可用区。
创建密钥对
-
使用 Amazon EC2 控制台创建密钥对。有关创建键对的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建一个键对。
有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EC2 密钥对。
使用密钥对连接到实例
要从运行 macOS 或 Linux 的计算机连接到 Linux 实例,需要使用 -i
选项对 SSH 客户端指定 .pem
文件和私有密钥的路径。要从运行 Windows 的计算机连接到您的 Linux 实例,可以使用 MindTerm 或 PuTTY。如果您计划使用 PuTTY,则需要安装它并遵循以下过程将 .pem
文件转换为 .ppk
文件。
准备使用 PuTTY 从 Windows 连接到 Linux 实例
-
从 http://www.chiark.greenend.org.uk/~sgtatham/putty/
下载并安装 PuTTY。确保安装整个套件。 -
启动 PuTTYgen(例如,在开始菜单中,依次选择All Programs > PuTTY > PuTTYgen)。
-
在 Type of key to generate 下,选择 RSA。
-
选择 Load。默认情况下,PuTTYgen 仅显示扩展名为
.ppk
的文件。要找到您的.pem
文件,请选择显示所有类型的文件的选项。 -
选择您在上一个过程中创建的私有密钥文件,然后选择 Open。选择 OK 关闭确认对话框。
-
选择保存私有密钥。PuTTYgen 显示一条关于在没有密码的情况下保存密钥的警告。选择是。
-
指定与密钥对相同的密钥名称。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/
有关如何创建安全组的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建安全组并使用下表确定要选择的选项。
选项 | 值 |
---|---|
区域 |
您在其中创建密钥对的相同区域。 |
名称 | 一个您容易记住的名称,例如 ecs-instances-default-cluster。 |
VPC | 默认 VPC(标有“(默认)”)。注意如果您的账户支持 Amazon EC2 Classic,请选择您在上一个任务中创建的 VPC。 |
有关为使用案例添加的出站规则的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的针对不同使用案例的安全组规则。
Amazon ECS 容器实例不需要打开任何入站端口。但您可能需要添加 SSH 规则,以便登录容器实例并使用 Docker 命令检查任务。如果您希望容器实例托管运行 Web 服务器的任务,也可以添加适用于 HTTP 和 HTTPS 的规则。容器实例需要外部网络访问来与 Amazon ECS 服务终端节点通信。完成以下步骤可添加这些可选的安全组规则。
向您的安全组添加以下三条入站规则。有关如何创建安全组的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的为您的安全组添加规则。
选项 | 值 |
---|---|
HTTP 规则 |
Type:HTTP 来源:Anywhere(任何位置)( 此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为源。这在测试环境中可以接受一小段时间,但是在生产环境中并不安全。在生产中,请仅授权特定 IP 地址或地址范围访问您的实例。 |
HTTPS 规则 |
类型:HTTPS 来源:Anywhere(任何位置)( 这在测试环境中可以接受一小段时间,但是在生产环境中并不安全。在生产中,请仅授权特定 IP 地址或地址范围访问您的实例。 |
SSH 规则 |
Type:SSH 来源:Custom(自定义),使用 CIDR 表示法指定计算机的公有 IP 地址或网络。要采用 CIDR 表示法指定单个 IP 地址,请添加路由前缀 重要出于安全原因,我们不建议您允许从所有 IP 地址 ( |
安装 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 命令行界面