将实例添加到层 - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将实例添加到层

在创建层后,您通常会添加至少一个实例。如果当前设置无法处理负载,则可在稍后添加更多实例。您也可以使用基于负载或基于时间的实例来自动扩展实例的数量。

可以将新实例或现有实例添加到层:

  • 新实例 – OpsWorks 创建一个新实例(根据您的指定进行配置),并使它成为层的成员。

  • 现有实例 – 您可以从任何兼容的层添加一个现有实例,但它必须处于脱机(已停止)状态。

如果一个实例属于多个层,AWS OpsWorks Stacks 将在生命周期事件发生时或当您运行 stackdeployment 命令时针对该实例的每个层运行配方。

您还可以通过编辑实例的配置来使它成为多个层的成员。有关更多信息,请参阅编辑实例配置

注意

不支持 Spot 实例

将新实例添加到层

  1. Instances 页面上,为相应的层选择 +Instance,然后 (如果需要) 选择 New 选项卡。如果您要配置 Host nameSizeSubnetAvailability Zone 之外的内容,请选择 Advanced >> 以查看更多选项。下面显示了完整的选项集:

    
                    “Instances”页面上针对新实例的“+Instance”
  2. 如果需要,您可以覆盖默认配置,其中大部分内容是您在创建堆栈时指定的。有关更多信息,请参阅创建新堆栈

    Hostname

    在网络上标识实例。默认情况下,AWS OpsWorks Stacks 通过使用您在创建堆栈时指定的 Hostname theme (主机名主题) 来生成每个实例的主机名。您可以覆盖此值并指定您的首选主机名。

    大小

    一个 Amazon EC2 实例类型,用于指定实例的资源,如内存量或虚拟内核的数量。AWS OpsWorks Stacks 指定每个实例的默认大小,您可以使用您的首选实例类型覆盖此值。

    AWS OpsWorks Stacks 支持的实例类型取决于堆栈是否位于 VPC 中。如果您的账户使用 AWS 免费套餐,则实例类型也有限。Size (大小) 下拉列表显示您的堆栈支持的 Chef 版本支持的实例类型。请注意,微型实例 (如 t1.micro) 可能没有足够资源来支持一些层。有关更多信息,请参阅实例类型

    注意

    如果您使用的是负载均衡的实例,请注意,配置生命周期事件会产生可能持续一分钟或更长时间的显著 CPU 负载高峰。如果使用较小的实例,此负载高峰可能足以触发升级,特别是对于频繁出现配置事件的大型负载均衡的堆栈。以下是可能减少造成不必要升级的配置事件的一些方法。

    • 使用较大的实例,以使来自配置事件的额外负载不足以触发升级。

    • 请勿使用共享 CPU 资源的实例类型,如 T2。

      这样可确保,当配置事件发生时,实例的所有 CPU 资源立即可用。

    • 使 exceeded threshold 时间显著长于处理配置事件所需的时间 (大约 5 分钟)。

      有关更多信息,请参阅使用基于负载的自动扩展

    可用区/子网

    如果堆栈不在 VPC 中,则将此设置标记为 Availability Zone 并列出该区域的可用区。您可以使用此设置覆盖您在创建堆栈时指定的默认可用区。

    如果堆栈正在 VPC 中运行,则将此设置标记为 Subnet 并列出该 VPC 的子网。您可以使用此设置覆盖您在创建堆栈时指定的默认子网。

    注意

    默认情况下,AWS OpsWorks Stacks 会列出子网的 CIDR 范围。要使列表更易于阅读,请使用 VPC 控制台或 API 为每个子网添加一个标签,同时将 Key (键) 设置为 Name,并将 Value (值) 设置为子网的名称。AWS OpsWorks Stacks 会将该名称附加到 CIDR 范围。在上述示例中,子网的名称标签已设置为 Private

    扩展类型

    确定如何启动和停止实例。

    • 默认值是 24/7 实例,您可手动启动和停止该实例。

    • AWS OpsWorks Stacks 基于指定的计划启动和停止基于时间的实例。

    • (仅限 Linux)AWS OpsWorks Stacks 基于指定的负载指标启动和停止基于负载的实例。

    注意

    您不自行启动或停止基于负载或基于时间的实例。相反,您应配置实例,AWS OpsWorks Stacks 将基于配置启动和停止这些实例。有关更多信息,请参阅 使用基于时间和基于负载的实例管理负载

    SSH 密钥

    Amazon EC2 密钥对。AWS OpsWorks Stacks 在实例上安装公有密钥。

    • 对于 Linux 实例,您可以使用与 SSH 客户端对应的私有密钥来登录该实例

    • 对于 Windows 实例,您可以使用相应的私有密钥检索该实例的管理员密码。然后,您可以结合使用该密码和 RDP,以管理员身份登录该实例。

    最初,此设置是您在创建堆栈时指定的 Default SSH key 值。

    • 如果默认值设置为 Do not use a default SSH key,您可以指定您账户中的 Amazon EC2 密钥之一。

    • 如果默认值设置为 Amazon EC2 密钥,则可以指定其他密钥或不指定任何密钥。

    操作系统

    Operating system 指定正在运行实例的操作系统。AWS OpsWorks Stacks 仅支持 64 位操作系统。

    最初,此设置是您在创建堆栈时指定的 Default operating system 值。您可以覆盖默认值来指定其他 Linux 操作系统或自定义 Amazon 系统映像 (AMI)。但是,您不能从 Linux 切换到 Windows 或从 Windows 切换到 Linux。

    如果您选择 Use custom AMI,则页面显示自定义 AMI 列表而不是 ArchitectureRoot device type

    
                                “Instances”页面上针对新实例的“+Instance”

    有关更多信息,请参阅使用自定义 AMI

    OpsWorks 代理版本

    OpsWorks Agent version (OpsWorks 代理版本) 指定您要在实例上运行的 AWS OpsWorks Stacks 代理的版本。如果您希望 AWS OpsWorks Stacks 自动更新代理,请选择 Inherit from stack (从堆栈继承)。要安装代理的特定版本,并且在实例上手动更新代理,请从下拉列表中选择一个版本。

    注意

    并非所有的代理版本均适用于所有的操作系统版本。如果您的实例正在运行实例操作系统不完全支持的代理或者您在实例上安装这样的代理,则 AWS OpsWorks Stacks 控制台会显示错误消息,指示您安装一个兼容的代理。

    租期

    为您的实例选择租赁选项。您可以选择在专门仅供您使用的物理服务器上运行您的实例。

    • Default - Rely on VPC settings。没有租赁,或从您的 VPC 继承租赁设置。

    • Dedicated - Run a dedicated instance。为在单一租户硬件上运行的实例按小时付费。有关更多信息,请参阅 Amazon VPC 用户指南中的专用实例Amazon EC2 专用实例

    • Dedicated host - Run this instance on a dedicated host。为完全专用于运行您的实例的物理主机付费,让您现有的按套接字、按内核或按 VM 计费的软件许可证降低成本。有关更多信息,请参阅 Amazon EC2 文档中的专用主机概览Amazon EC2 专用主机

    根设备类型

    指定实例的根设备存储。

    • Linux 实例可以是支持 Amazon EBS 的或支持实例存储的。

    • Windows 实例必须是支持 Amazon EBS 的。

    有关更多信息,请参阅存储

    注意

    在初始启动后,支持 Amazon EBS 的实例的启动速度要快于支持实例存储的实例,因为 AWS OpsWorks Stacks 不必从头开始重新安装实例的软件。有关更多信息,请参阅根设备存储

    卷类型

    指定根设备卷类型:MagneticProvisioned IOPS (SSD)General Purpose (SSD)。有关更多信息,请参阅 Amazon EBS 卷类型

    卷大小

    为指定卷类型指定根设备卷大小。有关更多信息,请参阅 Amazon EBS 卷类型

    • 通用型 (SSD).允许的最小大小:8 GiB;最大大小:16384 GiB。

    • 预配置 IOPS (SSD).允许的最小大小:8 GiB;最大大小:16384 GiB。您可以设置的每秒输入/输出操作数 (IOPS) 的最小值为 100,最大值为 240。

    • 磁介质.允许的最小大小:8 GiB;最大大小:1024 GiB。

  3. 选择 Add Instance 以创建新实例。

注意

您不能在创建实例时覆盖堆栈的默认代理版本设置。要指定自定义代理版本设置,您必须创建实例,然后编辑实例的配置

将现有实例添加到层

  1. Instances 页面上,为相应的层选择 +Instance,然后打开 Existing 选项卡。

    注意

    如果您改变了主意而不想使用现有实例,请选择 New 来创建新实例,如上述步骤中所述。

  2. Existing 选项卡上,从列表中选择一个实例。

  3. 选择 Add Instance 以创建新实例。

一个实例表示一个 Amazon EC2 实例,但基本上只是一个 AWS OpsWorks Stacks 数据结构。必须启动一个实例才能创建正在运行的 Amazon EC2 实例,如以下部分中所述。

重要

如果在默认 VPC 中启动实例,则您必须谨慎地修改 VPC 配置。这些实例必须始终能够与 AWS OpsWorks Stacks 服务、Amazon S3 以及软件包存储库进行通信。例如,如果删除默认网关,则这些实例将失去与 AWS OpsWorks Stacks 服务的连接,该服务然后会将这些实例视为失败并自动修复它们。但是,AWS OpsWorks Stacks 将无法在修复的实例上安装实例代理。如果没有代理,这些实例将无法与该服务进行通信,而且启动过程将停留在 booting 状态。有关默认 VPC 的更多信息,请参阅支持的平台

您还可以将 Linux 计算资源整合到在 AWS OpsWorks Stacks 外部创建的堆栈中:

  • 直接使用 Amazon EC2 控制台、CLI 或 API 创建的 Amazon EC2 实例。

  • 您自己的硬件上运行的本地 实例,包括虚拟机上运行的实例。

有关更多信息,请参阅使用在 AWS OpsWorks Stacks 外部创建的计算资源