创建虚拟服务器实例

您 IBM Cloud 可以通过控制台、命令行界面、API 或 Terraform 在 IBM Cloud VPC 您的环境中创建一个或多个虚拟服务器实例。

创建虚拟服务器时,您需要指定虚拟服务器的位置和名称等信息。 您可以指定操作系统映像、定义 vCPU 和内存组合的配置文件以及 SSH 密钥,以便安全地连接到虚拟服务器。 除启动卷外,还可添加数据卷。 您还可以指定为虚拟服务器创建的网络接口类型。 最后,您可以选择虚拟服务器配置的高级选项。

在控制台中创建虚拟服务器实例

使用以下步骤创建虚拟服务器实例。

  1. IBM Cloud 控制台中,单击导航菜单图标菜单图标 > 基础架构 VPC 图标 > 计算 > 虚拟服务器实例

  2. 单击创建,输入表 1 中的信息。

选择开始实例调配
字段
地区 位置由区域(特定的地理区域)和分区(区域内的容错数据中心)组成。 选择您要创建虚拟服务器实例的位置。
名称 虚拟服务器实例的名称是必需的。
资源组 为实例选择资源组。
标记 您可以为实例分配一个用户标签,以便在资源列表中轻松筛选实例资源。 有关更多信息,请参阅使用标记
访问权管理标记 访问权管理标记有助于在特定资源上应用灵活的访问策略。 有关更多信息,请参阅 “使用标签控制资源访问” UI教程。
  1. 为实例选择图像和配置文件。 要从所有可用图像中进行选择,请单击“更改图像”。 您可以选择映像、启动卷快照或现有启动卷。 如果调配实例的地理位置支持该功能,则可以选择以下任一选项:

    • x86 体系结构
    • 已弃用 s390x 架构

    s390x 架构已被淘汰。 您可以迁移到内部部署模式。 更多信息,请参见 Linux on IBM Z and LinuxONE. 有关弃用的更多信息,请参阅 服务弃用公告

    表 2 介绍了映像、快照和现有卷选项。 然后,选择一个配置文件。 要从所有可用的 vCPU 和 RAM 组合中进行选择,请单击“更改配置文件”。 表 3 介绍了配置文件的选择。

    允许使用的表达式:您选择的映像决定了可用于创建虚拟服务器实例的配置文件。 在使用使用了允许使用表达式的图像创建虚拟服务器实例期间,允许使用属性中提供的信息会针对潜在的虚拟服务器实例进行评估,以确定该图像是否可用于创建虚拟服务器实例。 库存图片使用定义的允许使用表达式。 您必须为自定义图像定义任何允许使用的表达式。 有关更多信息,请参阅 为自定义图像添加允许使用表达式

    选择实例配置映像、快照或卷
    字段
    库存映像

    从可用的库存图片中选择一张,然后点击 “保存”
    有关可用库存镜像的更多信息,请参阅:

    • 所有操作系统镜像都使用 cloud-init,您可以用它来输入与实例关联的用户元数据,以用于后期配置脚本。 IBM Cloud® Hyper Protect Virtual Server 的 IBM Cloud® Virtual Private Cloud 实例和 z/OS 虚拟服务器实例不支持元数据。
    • 如果计划使用带有 SQL Server 的 Windows 操作系统,请参阅 " 关于 VPC 上的 Microsoft SQL "。
    定制映像

    从可用的自定义图像中选择,然后点击保存。 如果没有可用的自定义图片,请单击创建

    • 自定义图像可以是您自定义并上传到 IBM Cloud Object Storage 的图像,然后您可以将其导入 IBM Cloud VPC。 有关自定义映像的更多信息,请参阅自定义映像入门
    • 您也可以使用从启动卷创建的自定义映像。 有关从卷创建映像的更多信息,请参阅关于从卷创建映像
    • 您还可以选择 RHEL 或 Windows 自定义映像,并自带许可证 (BYOL)。 有关创建 BYOL 自定义图像的更多信息,请参阅 自带许可证
    目录映像

    选择可用的目录映像后,单击选择版本和定价方案 ,选择版本和定价方案,然后单击保存

    快照

    选择“导入现有快照 ”或“按 CRN 导入快照”。 然后,选择启动卷的快照,并单击保存。 如果没有可用的快照,请单击创建

    • 筛选用于快速恢复的快照列表。 使用此选项,您可以使用缓存在区域内不同区域的快照快速创建启动卷。 有关从快照恢复卷的更多信息,请参阅从快照恢复卷
    • 如果要使用其他账户快照的 CRN,请确保已获得正确的 IAM 授权
    现有卷 选择未附加到实例的现有启动卷,然后单击保存

您可以通过 availablepartially_available (图像尚未在所有区域提供)或 deprecated 图像提供实例。 有关图像生命周期的更多信息,请参阅 自定义图像生命周期

简介选择
字段
Profile 配置文件系列包括平衡、计算、内存、超高内存、超高内存、GPU、存储优化、机密计算、Flex 和高频。 如需了解更多信息,请参阅 x86-64 实例配置文件

已弃用的 当您为 IBM Cloud® Virtual Private Cloud 实例创建 IBM Cloud Hyper Protect Virtual Servers 时,请确保选择启用了安全执行功能的配置文件,否则配置将失败。 如需了解更多信息,请参阅 s390x 实例配置文件

某些配置文件可能无法使用,因为虚拟服务器中的网络接口数量超出了配置文件的限制。 您可以删除网络接口,从更多配置文件中进行选择。 如需了解更多信息,请参 阅“调整虚拟服务器的 规格”。

某些配置文件可能无法使用,因为所选图片包含的“允许使用”条款与该配置文件不兼容。 在这种情况下,请选择具有与所需配置文件兼容的允许使用表达式的图像。 如需了解更多信息,请参 阅“向自定义图片添加允许用途表达式”

s390x 架构已弃用。 您可以迁移到内部部署模式。 更多信息,请参见 Linux on IBM Z and LinuxONE. 有关弃用的更多信息,请参阅 服务弃用公告

每个核心的线程数 “每核线程数”功能为您提供了优化工作负载的灵活性。 虽然所有配置文件都会显示“每核线程数”,但您只能对 “高频”配置文件系列进行编辑。 对于“高频”配置文件,默认值为 2,但可以调整为 1
现货实例选择可用性 现货实例是标准实例的高折扣版本。 它们的设计目的是利用现有的计算资源来处理可中断或无状态的工作负载。
要将实例转换为按需实例,请确保选择受支持的配置文件,然后点击 “部署配置 ”下的 “转换为按需实例 ”切换按钮。
高级安全选择
安全引导 单击切换按钮启用安全启动。 安全启动仅适用于兼容的实例配置文件。 使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 有关安全启动的更多信息,请参阅 Virtual Servers for VPC 的安全启动
机密计算选择可用性 采用英特尔®软件防护扩展(SGX)的保密计算和采用英特尔可信域扩展(TDX)的保密计算,通过基于硬件的服务器安全保护您的数据。 通过使用被称为“加密飞地”的隔离内存区域来保护您的数据。 SGX 和 TDX 都只提供兼容的配置文件。 有关保密计算的更多信息,请参阅 保密计算 x86 Virtual Servers for VPC。

安全启动和保密计算可通过选定的平衡和计算配置文件实现。 更多信息,请参阅 SGX 兼容配置文件

  1. 通过指定表 4 中的信息,完成 SSH 密钥、存储和网络详细信息。
选择完成实例调配
字段
SSH 密钥 您必须选择一个现有的 SSH 公钥,或点击创建 SSH 密钥来创建一个。 有关创建 SSH 密钥的更多信息,请参阅 使用用户界面创建 SSH 密钥。 在实例处于运行状态后,SSH 密钥用于安全地连接到实例。
注意: 字母数字组合的字符数上限为100个。 SSH 密钥可以是 RSA 或 Ed25519 密钥。 只能创建 RSA SSH 密钥。 对于 ED25519 SSH 密钥,必须上传密钥信息。 仅当操作系统支持此密钥类型时,才能使用 Ed25519。 Ed25519 不能与 Windows 或 VMware 映像配合使用。
如需了解更多信息,请参阅 “SSH 密钥入门 ”一节。
引导卷 大多数配置文件的默认启动分区大小为 100 GB。 z/OS 虚拟服务器实例的默认启动卷大小为 245 GB。 某些 Linux 预装镜像可安装在容量至少为10 GB的启动分区上,而某些Windows预装镜像则需要至少40 GB的空间。
如果您要导入自定义映像,其最低分配大小可在 10 至 250 GB 之间。 小于 10 GB 的图像将向上取整为 10 GB。
采用第 1 代卷配置文件的启动卷可扩展至 250 GB。 采用第 2 代 sdp 配置文件的启动卷最大可扩展至 32,000 GB。
在控制台中,你会看到三个显示可能容量值的磁贴和一个自定义选项。 大多数计算配置文件的默认选择是 100 GB。 选择柔性预案时,默认选择是所选图像或快照的最小预留尺寸。 在“自定义”磁贴中点击 “编辑”图标 编辑图标,以在侧边面板中修改启动卷的属性。

您可以通过指定一个唯一且有意义的名称来更改启动卷的名称。 例如,它可以是一个描述您的计算或工作负载功能的名称。 卷名必须以小写字母开头。 名称最多可以是 63 个小写字母数字字符,包括连字符 (-)。卷名称在整个 VPC 基础设施中必须是唯一的。 如果你愿意的话,以后可以修改这个名字。

您可以关闭启动卷的自动删除选项。 如果启用,则在删除实例时删除卷。 如果该功能被禁用,则在实例删除后,卷仍会保留。

您可以指定可选的用户标签和访问管理标签,将其与该卷关联。 有关使用用户标签整理资源的更多信息,请参阅 “使用标签”

您可以选择加密类型。 默认情况下,所有卷都启用了提供商管理加密。 您也可以选择使用自己的根密钥创建信封加密。 加密密钥是在密钥管理服务( Key Protect 或 Hyper Protect Crypto Services )中创建和维护的。

您可以根据对容量、IOPS 和带宽的需求,选择最适合您的存储配置文件
注意:采用 sdp 卷配置文件的第二代启动卷目前尚不支持安全启动。 如果需要安全启动,请选择 tiered 配置文件或 custom 配置文件。

数据卷 在为实例进行配置时,您可以创建一个或多个辅助数据卷以便挂载。 在“数据卷”部分点击“创建”,以打开侧边面板,您可以在其中定义该卷。

请指定一个唯一且有意义的名称。 其规格与启动分区相同。

您可以为数据卷启用自动删除选项。 如果启用,则在删除实例时删除卷。 如果该功能被禁用,则在实例删除后,卷仍会保留。

您可以指定可选的用户标签和访问管理标签,将其与该卷关联。 有关使用用户标签整理资源的更多信息,请参阅 “使用标签”

您可以选择加密类型。 默认情况下,所有卷都启用了提供商管理加密。 您还可以选择使用在密钥管理服务(Key Management Services)中创建和维护的自有根密钥来建立信封加密。

您可以选择最符合您在容量和IOPS方面需求的存储卷配置文件。 有关详细信息,请参阅 创建实例时创建并附加 Block Storage 卷

虚拟私有云 指定要在其中创建实例的 IBM Cloud VPC。 您可以使用默认 VPC、另一个现有 VPC 或创建一个 VPC。 要创建 VPC,请单击新建 VPC
添加到群组网络 如果选择 H100 GPU 配置文件,gx3d-160x1792x8h100,则会看到“添加到群集网络”选项。 您可以将添加到群集网络设置为开启,使虚拟服务器能够访问支持远程直接内存访问 (RDMA) 的高性能网络。 当添加到群集网络设置为开且群集网络可用时,IBM Cloud 控制台包括用于为群集网络配置虚拟服务器的默认选择。 如果没有可用的群集网络,可以单击创建群集网络。 选择群集网络后,虚拟私有云下拉菜单中将只显示配置群集网络的 VPC。 更多信息,请参阅 关于群集网络
网络接口 默认情况下,创建的虚拟服务器实例只有一个主网络接口。 您可以单击编辑图标 编辑图标 来编辑网络接口的详细信息,例如与接口相关联的子网或安全组。 要包括额外的辅助网络接口,请单击创建。 您最多可以为虚拟服务器实例创建和分配 15 个网络接口,具体取决于实例配置文件中包含的 vCPU 数量。 如需了解更多信息,请参阅 “关于网络接口”

借助虚拟网络接口功能,您可以选择要使用的网络接口类型。 您可以选择新选项“带虚拟网络接口的网络附件”或传统选项“实例网络接口”。 无论您在配置虚拟服务器时选择哪种类型的网络接口选项,都会在虚拟服务器的生命周期中持续存在。 您可以单击“附加”,在现有虚拟网络接口上创建网络附加。 更多信息,请参阅 关于虚拟网络接口

已废弃 Hyper Protect Crypto Services 已废弃。 客户可以在 2027 年 3 月 20 日之前使用现有实例。 如需了解更多信息,请参阅 IBM Cloud Hyper Protect Crypto Services 的弃用。 为持续提供保护,请考虑将现有加密密钥迁移到专用 Key Protect 实例。 更多信息,请参阅 迁移指南

  1. 对于高级选项,您可以选择完成更多实例配置。
实例调配高级选项选择
字段
用户数据 您可以添加自动执行公共配置任务或运行脚本的用户数据。 有关更多信息,请参阅用户数据。 有关在创建 IBM Cloud® Hyper Protect Virtual Server for IBM Cloud® Virtual Private Cloud 实例时使用合同指定用户数据的更多信息,请参阅“关于合同”。 z/OS 虚拟服务器实例不支持用户数据。
元数据 缺省情况下处于禁用状态。 单击切换按钮启用。 此设置会通知实例收集实例配置信息和用户数据。 更多信息,请参阅 关于 VPC 的元数据。 IBM Cloud® Hyper Protect Virtual Server 的 IBM Cloud® Virtual Private Cloud 实例和 z/OS 虚拟服务器实例不支持元数据。
受信任配置文件(可选) 如果启用了元数据服务,则可以选择一个受信任的配置文件并将其链接到此实例。 单击“选择受信任的配置文件”。 在侧面板中,选择一个受信任的配置文件,然后单击“选择受信任的配置文件”将其链接到实例。 如果不存在或您没有链接权限,则会显示一条信息。 更多信息,请参阅 创建受信任的配置文件。 有关获取访问权限的更多信息,请参阅 链接可信配置文件的 IAM 授权
添加到专用主机 此选项默认处于禁用状态。 要在单租户空间中创建虚拟服务器实例,请单击切换以启用专用主机。 要配置专用实例,必须有可用的专用主机或 创建 专用主机。
添加到放置组 安置组默认为禁用。 单击切换按钮启用放置组。 然后,为实例选择或创建一个放置组。 如果添加了放置组,则会根据放置组策略放置实例。 更多信息,请参阅“关于安置组”。
动态分配音量带宽 单击切换按钮,启用附加数据卷 的池化卷带宽分配。 部分 计算配置文件 支持此功能。
添加到预留 如果有活动预订,单击切换按钮可将虚拟服务器实例添加到该预订中。 更多信息,请参阅“关于 VPC 的预订”。
主机故障自动重新启动 缺省情况下启用该设置。 要禁用主机故障自动重启,请单击切换。 更多信息,请参阅 主机故障恢复策略
活动跟踪 审计事件收集默认为禁用。 单击切换以启用虚拟服务器实例的活动跟踪。 建议进行活动跟踪,以实现最佳的故障排除并减少停机时间。 更多信息,请参阅 活动跟踪事件
日志记录 缺省情况下,日志记录处于禁用状态。 单击切换以启用虚拟服务器实例的日志记录。 日志记录有助于排查故障并减少停机时间。 启用后,您可以选择一个现有的 IBM Cloud Logs Routing 目标或创建一个新目标来路由平台日志。 如需了解更多信息,请参阅 IBM Cloud Logs Routing 入门
监视 默认情况下,监控功能处于禁用状态。 单击切换以启用对虚拟服务器实例的监控。 监控有助于优化故障排除并减少停机时间。 启用后,您可以选择一个现有的 IBM Cloud Metrics Routing 目标或创建一个新目标来路由平台指标。 更多信息,请参阅 IBM Cloud Metrics Routing 入门
云安全态势管理 选择该选项后,将创建一个工作负载保护实例,其配置可为所有资源提供 CSPM。 如果存在工作负载保护实例,则无法使用该选项。 更多信息,请参阅 关于 IBM Cloud Security Posture Management(CSPM)
  1. 准备好进行配置时,请单击“创建虚拟服务器实例”。

在控制台创建实例后的下一步操作

创建实例后,需要 为实例关联一个浮动 IP 地址。 然后,可以连接到该实例。 有关更多信息,请参阅 连接到 Linux 实例连接到 Windows 实例连接到 z/OS 实例

如果现有实例有浮动 IP 地址,则不必为另一个实例分配第二个浮动 IP。 您可以使用浮动 IP 连接到第一个实例,然后使用自动分配给它的私有子网 IP 地址 SSH 连接到第二个实例。

通过命令行界面(CLI)创建虚拟服务器实例

您可以使用命令行界面 (CLI) 来创建实例。 如果想使用用户标签或访问管理标签来管理资源,请参阅 使用标签

已废弃 IBM Cloud CLI 不支持 LinuxONE ( s390x 处理器架构)。 不过,您可以将 CLI 安装在另一个受支持的平台上,并与 LinuxONE ( s390x 处理器架构) 虚拟服务器实例一起使用。

准备工作

通过命令行界面(CLI)收集信息以创建实例

准备好创建实例了吗? 在运行 ibmcloud is instance-create 命令之前,您需要了解该实例的详细信息,例如要使用的配置文件或镜像。

使用相关命令收集以下信息。

所需实例详细信息
实例详细信息 列出选项 VPC CLI 参考文档
图像 ibmcloud is image 列出所有图像
引导卷 ibmcloud is volumes 列出所有卷
Profile ibmcloud is instances 列出所有虚拟服务器实例
Profile ibmcloud is image-instance-profiles 列出与图像兼容的实例配置文件
Profile ibmcloud is volume-instance-profiles 列出与卷兼容的实例概要文件。
Profile ibmcloud is snapshot-instance-profiles 列出与快照兼容的实例配置文件
密钥 ibmcloud is keys 列出所有密钥

。如果您没有可用的 SSH 密钥,请使用 “创建密钥 ”来创建一个。

注意: RSA和 ED25519 是您可以使用的两种SSH密钥类型。 不过,您不能在 Windows 或 VMware 映像中使用 ED25519 SSH 密钥类型。 这些镜像仅支持使用 RSA SSH 密钥。
如需了解更多信息,请参阅《 SSH 密钥入门指南 》。

VPC ibmcloud is vpcs 列出所有 VPC
Subnet ibmcloud is subnets 列出所有子网
区域 ibmcloud is zones 列出所有区域
放置组 ibmcloud is placement-groups 列出所有放置组

您可以从 availablepartially_available (图像尚未在所有区域提供)或 deprecated 图像中配置实例。 有关图像生命周期的更多信息,请参阅 自定义图像生命周期

确认您使用的配置文件在计划创建实例的区域中可用。

使用以下命令来确定创建新实例所需的信息。

1. 列出与您的账户关联的地区

列出与帐户关联的区域。

ibmcloud is regions

请参阅以下示例。

$ ibmcloud is regions
Listing regions under account Test Account as user test.user@ibm.com...
Name       Endpoint                              Status
au-syd     https://au-syd.iaas.cloud.ibm.com     available
br-sao     https://br-sao.iaas.cloud.ibm.com     available
ca-tor     https://ca-tor.iaas.cloud.ibm.com     available
eu-de      https://eu-de.iaas.cloud.ibm.com      available
eu-es      https://eu-es.iaas.cloud.ibm.com      available
eu-gb      https://eu-gb.iaas.cloud.ibm.com      available
jp-osa     https://jp-osa.iaas.cloud.ibm.com     available
jp-tok     https://jp-tok.iaas.cloud.ibm.com     available
us-east    https://us-east.iaas.cloud.ibm.com    available
us-south   https://us-south.iaas.cloud.ibm.com   available

2.切换到目标区域

切换到目标区域。

ibmcloud target -r <region-name>

3. 列出与目标区域相关的分区

列出与目标区域相关的区域。

ibmcloud is zones

在下面的示例中,命令在 us-south 区域运行,输出结果显示了该区域的可用区段。

$ ibmcloud is zones
Listing zones in target region us-south under account Test Account as user test.user@ibm.com...
Name         Region     Status
us-south-1   us-south   available
us-south-2   us-south   available
us-south-3   us-south   available

4.列出与您的账户相关的 IBM Cloud VPC s

列出与帐户关联的 IBM Cloud VPC。

ibmcloud is vpcs

在此示例中,您会看到与以下输出类似的响应。

ID                                        Name       Status     Classic access   Default network ACL              Default security group        Resource group
r006-35b9cf35-616e-462e-a145-cf8db4062fcf my-vpc     available  false            immortality-casing-extoll-exit   enhance-corsage-managing-jinx Default

如果您没有可用的 VPC,可以使用 ibmcloud is vpc-create 命令创建一个。 有关创建 VPC 的更多信息,请参阅 ibmcloud 的 vpc-create 命令。

5. 列出与该相关的子网 IBM Cloud VPC

列出与 IBM Cloud VPC 关联的子网。

ibmcloud is subnets

在此示例中,您会看到与以下输出类似的响应。

ID                                          Name            Status      Subnet CIDR      Addresses   ACL                              Public Gateway   VPC
Zone         Resource group
0717-198db988-3b9b-4cfa-9dec-0206420d37d0   my-subnet       available   10.240.64.0/28   7/16        immortality-casing-extoll-exit   -               my-vpc
us-south-2   Default

如果没有可用子网,您可以使用 ibmcloud is subnet-create 命令创建一个子网。 有关创建子网的更多信息,请参阅 ibmcloud is subnet-create

6.列出可用图像

您可以在 IBM Cloud VPC 中使用各种图像选项,包括库存图像、自定义图像、从私人目录中与您的账户共享的图像、启动卷和快照。 使用以下链接之一查看如何列出可用于创建实例的资源。

您可以使用图像源资源的允许使用表达式来定义库存图像、自定义图像、从私人目录中与您的账户共享的图像、启动卷和快照的功能和限制,并帮助您在创建服务器时找到兼容的图像和配置文件组合。 在使用具有允许使用表达式的图像创建虚拟服务器实例期间,允许使用属性中提供的信息会针对潜在的虚拟服务器实例进行评估。 该信息用于确定能否使用映像创建虚拟服务器实例。 已为库存图片设置了允许使用的表达式。 您必须为自定义图像定义它们。 有关更多信息,请参阅 为自定义图像添加允许使用表达式

根据使用的映像,您可以使用以下命令之一来验证配置文件是否与映像、卷或快照兼容。

  • ibmcloud is image-instance-profiles IMAGE
  • ibmcloud is volume-instance-profiles VOLUME
  • ibmcloud is snapshot-instance-profiles SNAPSHOT

有关命令选项的完整列表,请参阅 ibmcloud is images

过时的图像不包括最新的支持。 如需了解更多信息,请参阅“结束对操作系统的支持”。

列出所有可用的图片库或自定义图片

列出可用的库存图片、自定义图片或从私人目录中与您的账户共享的图片,以便创建实例。 如果从现有启动卷创建实例,请跳过此步骤。

您可以通过 availablepartially_available (图像尚未在所有区域提供)或 deprecated 图像提供实例。 有关图像生命周期的更多信息,请参阅 自定义图像生命周期

要列出所有可用的库存图片或自定义图片,请运行以下命令。

ibmcloud is images

在此示例中,您会看到与以下输出类似的响应。

ID                                          Name                               Status       Arch    OS name                   OS version       File size(GB)
Visibility   Encryption   Resource group   Catalog Offering User Data Format   Remote Account ID
r006-24d856e2-6aec-41c2-8f36-5a8a3766f0d6   my-test-image                      available    amd64   centos-7-amd64            7.x - Minimal Install  1             private      none         Default          -                cloud_init
r006-9768bb7f-c75d-4408-ba34-61015632f907   ibm-debian-10-13-minimal-amd64-2   available    amd64   debian-10-amd64           10.x Buster/Stable     1             public       none         Default          -                cloud_init       811f8abfbd32425597dc7ba40da98fa6
r006-f83ce520-00b5-40c5-9938-a5c82a273f91   ibm-debian-11-3-minimal-amd64-4    available    amd64   debian-11-amd64           11.x Bullseye/Stable   1             public       none         Default          -                cloud_init       811f8abfbd32425597dc7ba40da98fa6
列出从私人目录共享的所有可用图像

要列出从私有目录共享的所有可用图像,请运行以下命令:

如果您选择了属于不同账户的目录图像,您还需要考虑额外的因素和限制。 请参阅 “在 CLI 中于私有目录中使用跨账户图像引用”

  • 要列出所有可用的私有目录映像产品,请运行以下命令。
   ibmcloud is catalog-image-offerings
   ```
   此命令将返回每个提供的图像的标识符和图像所在的私有目录的标识符。 将 `offering_id` 和 `catalog_id` 保存在变量中,以后用于配置实例。

   ```sh {: pre}
   offering_id=6bf79f7b-de48-4ce8-8cae-866b376f2889
   catalog_id=71306253-8444-4cae-a45d-64d35e5393ec
   ```
- 要获取产品的 `offering_crn` 和产品中每个版本的 `offering_version_crn`,请运行以下命令。

```sh {: pre}
   ibmcloud is catalog-image-offering $catalog_id $offering_id
   ```
当您配置实例时,可通过以下两种方式进行:使用 ` `offering_crn` value` 从目录产品中最新版本的私有目录管理映像配置实例,或使用 ` `offering_version_crn` value` 从目录产品中特定版本配置实例。

   Save the `offering_crn` and `offering_version_crn`in variables, which are used later to provision an instance.
 
   ```sh {: pre}
    offering_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d"
    offering_version_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:version:136559f6-4588-4af2-8585-f3c625eee09d/8ae92879-e253-4a7c-b09f-8d30af12e518"
    ```
##### 列出所有可用的启动盘 {: #list-available-boot-volumes-images-cli}

列出可用于创建实例的可用启动卷。 要从现有卷创建实例,必须使用与之前选择的实例选项兼容的卷。 兼容卷与正在调配的实例位于同一区域,未连接,且操作系统与步骤 5 中选择的配置文件兼容。 使用 `volumes` 子命令查看兼容卷。 例如,在 `us-south-1` 中查看 x64 操作系统架构的未连接卷:

```sh {: pre}
ibmcloud is volumes --attachment-state unattached --operating-system-architecture amd64 --zone us-south-1

使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 如果需要安全启动,请使用 general-purpose 配置文件选择可用的启动卷。

列出可用快照

您可以选择 从可启动快照创建启动卷,并将其用于您的映像。 要列出卷的所有快照,请参阅 查看从 Block Storage for VPC 卷创建的所有快照

如果计划使用其他账户的快照,请首先确保已获得正确的 IAM 授权。 然后,联系快照的所有者,获取快照的 CRN。

7.创建实例时列出可用的配置文件

列出可用于创建实例的概要文件。

ibmcloud is instance-profiles

在此示例中,您会看到与以下输出类似的响应。

Name                         vCPU Manufacturer   Architecture   Family              vCPUs   Memory(GiB)   Bandwidth(Mbps)   Volume bandwidth(Mbps)   GPUs          Storage(GB)   Min NIC Count   Max NIC Count
bx2-2x8                      intel               amd64          balanced            2       8             4000              1000                     -      -                    1               5
bx2a-2x8                     amd                 amd64          balanced            2       8             2000              500                      -      -                    1               5
bx2d-2x8                     intel               amd64          balanced            2       8             4000              1000                     -            1x75          1               5
bx2-4x16                     intel               amd64          balanced            4       16            8000              2000                     -      -                    1               5
bx2a-4x16                    amd                 amd64          balanced            4       16            4000              1000                     -      -                    1               5
bx2d-4x16                    intel               amd64          balanced            4       16            8000              2000                     -            1x150         1               5

有关可用配置文件的更多信息,请参阅:

启用安全执行的配置文件现在可用,并通过配置文件名称中的第四个字符 "e "来识别,例如 bz2e. 更多信息,请参阅 机密计算 LinuxONE

支持安全执行的配置文件适用于平衡、计算和内存系列。 在使用 IBM Hyper Protect Container Runtime 映像时,确保使用已启用安全功能的配置文件。 在配置文件验证过程中,任何配置文件不匹配都会导致与下例类似的错误信息。

FAILED
Response HTTP Status Code: 400
Error code: bad_field
Error message: Image OS IBM Hyper Protect is not supported by the instance profile <profile_name>
Error target name: profile, type: field

8. 列出可与您的实例关联的可用 SSH 密钥

列出可以与实例关联的可用 SSH 密钥。

ibmcloud is keys

在此示例中,您会看到与以下输出类似的响应。

ID                                          Name     Type   Length   FingerPrint          Resource group
r006-89ec781c-9630-4f76-b9c4-a7d204828d61   my-key   rsa    4096     gtnf+pdX2PYI9Ofq..   Default

如果您没有可用的 SSH 密钥,可以使用 ibmcloud is key-create 命令创建一个 SSH 密钥。 有关更多信息,请参阅 SSH 密钥

9.列出可与实例关联的所有可用安置组。

列出所有可与您的实例关联的可用部署组。

ibmcloud is placement-groups

在此示例中,您会看到与以下输出类似的响应。

ID                                            Name                             State    Strategy       Resource Group
c5f1f366-b92a-4080-991a-aa5c2e33d96b          placement-group-region-us-south   stable   power_spread  Default

通过命令行界面(CLI)创建实例

使用以下信息通过 CLI 创建实例。

从图片库或自定义图片中提供

了解所需数值后,使用它们运行 ibmcloud is instance-create 命令。 您还需要为实例指定一个唯一的名称。

请按照以下步骤,从命令行界面(CLI)使用标准镜像创建基础虚拟服务器实例。 默认情况下,实例创建时会附加一个启动卷。 对于大多数虚拟服务器实例,默认启动卷大小为 100 GB。 z/OS 虚拟服务器实例的默认启动卷大小为 250 GB。

  1. 使用以下命令创建一个实例。

    ibmcloud is instance-create \
        INSTANCE_NAME \
        VPC \
        ZONE_NAME \
        PROFILE_NAME \
        SUBNET \
        --image IMAGE \
        --keys KEYS \
    

    例如,下面的 instance-create 命令使用了“收集信息”部分中的示例值。

    ibmcloud is instance-create \
        my-instance \
        r006-35b9cf35-616e-462e-a145-cf8db4062fcf \
        us-south-2 \
        bx2-2x8 \
        0717-198db988-3b9b-4cfa-9dec-0206420d37d0 \
        --image r006-f83ce520-00b5-40c5-9938-a5c82a273f91 \
        --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61 \
    

    使用以下参数和选项值

    • INSTANCE_NAME:my-instance
    • VPC: r006-35b9cf35-616e-462e-a145-cf8db4062fcf
    • ZONE_NAME:us-south-2
    • PROFILE_NAME:bx2-2x8
    • 子网: 0717-198db988-3b9b-4cfa-9dec-0206420d37d0
    • 图像:Debian 11 图像 r006-f83ce520-00b5-40c5-9938-a5c82a273f91
    • 钥匙 r006-89ec781c-9630-4f76-b9c4-a7d204828d61

    响应的不同取决于您使用的选项值。

    ID                                    0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Name                                  my-instance
    CRN                                   crn:v1:public:is:us-south-2:a/a1234567::instance:0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Status                                pending
    Availability policy on host failure   restart
    Startable                             true
    Profile                               bx2-2x8
    Architecture                          amd64
    vCPU Manufacturer                     intel
    vCPUs                                 2
    Memory(GiB)                           8
    Bandwidth(Mbps)                       4000
    Volume bandwidth(Mbps)                1000
    Network bandwidth(Mbps)               3000
    Lifecycle Reasons                     Code   Message
                                           -      -
    Lifecycle State                       pending
    Metadata service                      Enabled   Protocol   Response hop limit
                                          false     http       1
    Image                                 ID                                          Name
                                          r006-f83ce520-00b5-40c5-9938-a5c82a273f91   ibm-debian-11-3-minimal-amd64-4
    VPC                                   ID                                          Name
                                          r006-35b9cf35-616e-462e-a145-cf8db4062fcf   my-vpc
    Zone                                  us-south-2
    Resource group                        ID                                 Name
                                          cdc21b72d4e647b195de988b175e3d82   Default
    Created                               2023-03-23T21:50:24+00:00
    Boot volume                           ID   Name   Attachment ID                               Attachment name
                                          -    -      0717-7ccd4284-e59d-45d8-932a-9e52f62f187a   landing-faucet-prankish-sprout
    

    创建实例后,不会返回为新实例创建的网络接口信息。 您可以使用 ibmcloud is instance INSTANCE 命令查看信息,具体步骤如下。 在实例创建完成之前,状态将显示为“待处理”

    有关可作为 instance-create 命令选项的一些附加功能的更多信息,请参阅以下主题:创建卷附件 JSON启用或禁用元数据服务,以及 创建放置组

    有关命令选项的完整列表,请参阅 ibmcloud is instance-create

  2. 接下来,运行以下 instance details 命令,验证是否可以看到新实例,并查看为新实例创建的网络接口。0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0 是虚拟服务器实例 ID,在上一步创建实例时已分配给该 ID。

    ibmcloud is instance 0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    

    在此示例中,您将看到以下响应。 现在状态显示为正在运行。 检查网络接口部分,查找网络接口的 ID。

    ID                                    0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Name                                  my-instance
    CRN                                   crn:v1:public:is:us-south-2:a/a1234567::instance:0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Status                                running
    Availability policy on host failure   restart
    Startable                             true
    Profile                               bx2-2x8
    Architecture                          amd64
    vCPU Manufacturer                     intel
    vCPUs                                 2
    Memory(GiB)                           8
    Bandwidth(Mbps)                       4000
    Volume bandwidth(Mbps)                1000
    Network bandwidth(Mbps)               3000
    Lifecycle Reasons                     Code   Message
                                           -      -
    Lifecycle State                       stable
    Metadata service                      Enabled   Protocol   Response hop limit
                                          false     http       1
    Image                                 ID                                          Name
                                          r006-f83ce520-00b5-40c5-9938-a5c82a273f91   ibm-debian-11-3-minimal-amd64-4
    VPC                                   ID                                          Name
                                          r006-35b9cf35-616e-462e-a145-cf8db4062fcf   my-vpc
    Zone                                  us-south-2
    Resource group                        ID                                 Name
                                          cdc21b72d4e647b195de988b175e3d82   Default
    Created                               2023-03-23T21:50:24+00:00
    Network Interfaces                    Interface   Name      ID                                          Subnet            Subnet ID                                   Floating IP   Security Groups                 Allow source IP spoofing   Reserved IP
                                          Primary     primary   0717-4db768bb-65c3-4045-8712-523e62eeabd2   my-subnet   0717-198db988-3b9b-4cfa-9dec-0206420d37d0         -             enhance-corsage-managing-jinx   false                      10.240.64.10
    Boot volume                           ID                                          Name                           Attachment ID                                    Attachment name
                                          r006-7a1d72d1-56ac-438e-bf85-6c0173e3f9a6   expend-anger-whiff-jackknife   0717-7ccd4284-e59d-45d8-932a-9e52f62f187a        landing-faucet-prankish-sprout
    
  3. 使用以下命令申请一个浮动 IP 地址与实例关联。 为浮动 IP 指定的名称是 my-floatingip0717-4db768bb-65c3-4045-8712-523e62eeabd2 是上一步中显示的虚拟服务器实例的网络接口 ID。

    ibmcloud is floating-ip-reserve \
        my-floatingip \
        --nic 0717-4db768bb-65c3-4045-8712-523e62eeabd2
    

    在此示例中,您会看到与以下输出类似的响应。

    ID               r006-9b79b9bc-a2dc-4337-865a-57d9b9198b76
    Address          169.59.214.164
    Name             my-floatingip
    CRN              crn:v1:public:is:us-south-2:a/a1234567::floating-ip:r006-9b79b9bc-a2dc-4337-865a-57d9b9198b76
    Status           available
    Zone             us-south-2
    Created          2023-03-23T22:13:07+00:00
    Target           ID                                          Target type         Instance ID                                 Target interface name   Target interface private IP
                     0717-4db768bb-65c3-4045-8712-523e62eeabd2   network_interface   0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0   primary                 -
    Resource group   ID                                 Name
                     cdc21b72d4e647b195de988b175e3d82   Default
    

    记录浮动 IP Address,以便以后使用。

    有关命令选项的完整列表,请参阅 ibmcloud is floating-ip-reserve

需要更多帮助吗? 您可以随时运行 ibmcloud is instance-create --help 来显示有关创建实例的帮助。

从私人目录图像中提供

了解所需数值后,使用它们运行 ibmcloud is instance-create 命令。 您还需要为实例指定一个唯一的名称。

请按照以下步骤,通过命令行界面(CLI)从私有目录产品或目录产品版本创建虚拟服务器实例。

  1. 使用以下命令创建一个实例。

    ibmcloud is instance-create \
        INSTANCE_NAME \
        VPC \
        ZONE_NAME \
        PROFILE_NAME \
        SUBNET \
        --catalog-offering <CRN for the IBM Cloud catalog offering> or --catalog-offering-version <The CRN for the version of an IBM Cloud catalog offering> \
        --keys KEYS \
        --placement-group PLACEMENT_GROUP_NAME \
    

    例如,如果您在 us-south-2 创建一个名为 my-instance 的实例,并使用 bx2-2x8 配置文件和目录产品,则您的 instance-create 命令看起来类似于以下示例。

    ibmcloud is instance-create\
        my-instance\
        r006-35b9cf35-616e-462e-a145-cf8db4062fcf\
        us-south-2\
        bx2-2x8\
        0717-198db988-3b9b-4cfa-9dec-0206420d37d0\
        --catalog-offering crn:v1:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d
        --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61\
        --placement-group c5f1f366-b92a-4080-991a-aa5c2e33d96b\
    

    其中使用了以下参数和选项值。

    • INSTANCE_NAME:my-instance
    • VPC: r006-35b9cf35-616e-462e-a145-cf8db4062fcf
    • ZONE_NAME:us-south-2
    • PROFILE_NAME:bx2-2x8
    • 子网: 0717-198db988-3b9b-4cfa-9dec-0206420d37d0
    • 提供目录:是 crn:v1:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d
    • 钥匙 r006-89ec781c-9630-4f76-b9c4-a7d204828d61
    • 安置组:c5f1f366-b92a-4080-991a-aa5c2e33d96b

    创建实例后,不会返回为新实例创建的网络接口信息。 您可以使用 ibmcloud is instance INSTANCE 命令查看信息,具体步骤如下。

    在创建实例之前,虚拟服务器实例的状态显示为待定

    有关命令选项的完整列表,请参阅 ibmcloud is instance-create

  2. 接下来,运行以下 instance details 命令,验证是否能看到新实例,并查看为新实例创建的网络接口。 INSTANCE,指定上一步中分配给新虚拟服务器实例的 ID。

    ibmcloud is instance INSTANCE
    

    现在状态显示为正在运行。 检查网络接口部分,查找网络接口的 ID。

  3. 使用以下命令申请一个浮动 IP 地址与实例关联。 FLOATING_IP_NAME 指定浮动 IP 的名称,TARGET_INTERFACE 指定上一步中确定的网络接口 ID。

    ibmcloud is floating-ip-reserve \
        FLOATING_IP_NAME \
        --nic TARGET_INTERFACE
    

    记录浮动 IP Address,以便以后使用。

    有关命令选项的完整列表,请参阅 ibmcloud is floating-ip-reserve

需要更多帮助吗? 您可以随时运行 ibmcloud is instance-create --help 来显示有关创建实例的帮助。

从现有卷中提供

在确定所需值后,请使用这些值运行 instance-create 命令。 您还需要为实例指定一个唯一的名称。

使用以下步骤从可启动卷创建虚拟服务器实例,其中包括卷附件。

  1. 使用以下命令创建一个实例。

    ibmcloud is instance-create \
        INSTANCE_NAME \
        VPC \
        ZONE_NAME \
        PROFILE_NAME \
        SUBNET \
        --boot-volume BOOT_VOLUME_JSON | @BOOT_VOLUME_JSON_FILE \
        --keys KEYS \
        --volume-attach VOLUME_ATTACH_JSON \
    

    例如,如果您在 us-south-1 创建一个名为 my-instance 的实例,并使用 bx2-2x8 配置文件和现有的启动卷,则您的 instance-create 命令看起来类似于以下示例。

    ibmcloud is instance-create\
        my-instance\
        r006-35b9cf35-616e-462e-a145-cf8db4062fcf\
        us-south-1\
        bx2-2x8\
        0717-198db988-3b9b-4cfa-9dec-0206420d37d0\
        --boot-volume '{"name": "boot-vol-attachment-name", "volume": {"id": "r006-feec3e99-995e-4e8f-896b-48b42c7d05a7"}}'\
        --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61\
        --volume-attach @/Users/myname/myvolume-attachment_create.json\
    

    有关示例卷连接 JSON 文件,请参阅创建卷连接 JSON。 您还可以在卷附件中包含 卷的用户标签

    创建实例后,不会返回为新实例创建的网络接口信息。 您可以使用 ibmcloud is instance INSTANCE 命令查看信息,具体方法将在下一步中介绍。

    在实例创建完成之前,状态将显示为“待处理”

    有关命令选项的完整列表,请参阅 ibmcloud is instance-create

  2. 接下来,运行以下 instance details 命令,验证是否能看到新实例,并查看为新实例创建的网络接口。 INSTANCE,指定上一步中分配给新虚拟服务器实例的 ID。

    ibmcloud is instance INSTANCE
    

    现在状态显示为正在运行。 检查网络接口部分,查找网络接口的 ID。

  3. 使用以下命令申请一个浮动 IP 地址与实例关联。 FLOATING_IP_NAME 指定浮动 IP 的名称,TARGET_INTERFACE 指定上一步中确定的网络接口 ID。

    ibmcloud is floating-ip-reserve \
        FLOATING_IP_NAME \
        --nic TARGET_INTERFACE
    

    记录浮动 IP Address,以便以后使用。

    有关命令选项的完整列表,请参阅 ibmcloud is floating-ip-reserve

    需要更多帮助吗? 您可以随时运行 ibmcloud is instance-create --help 来显示有关创建实例的帮助。

从快照创建启动卷,并用它从 CLI 配置新实例

您可以从可启动 快照 创建启动卷,并将其用于您的映像。 运行 ibmcloud is instance-create 命令时,在引导卷 JSON 中指定 source_snapshot 子属性,并指定可引导快照的 ID、名称或 CRN。 有关示例,请参阅 从快照为新实例创建启动卷

通过 CLI 创建具有多个数据卷和动态卷带宽分配的实例

选择 计算配置文件 支持数据卷的池带宽分配。 对于大多数计算配置文件,--volume-bandwidth-qos-mode 属性默认为 weighted。 使用 weighted 时,卷带宽在数据卷之间按比例分配。 通过指定 pooled 值,可以启用动态带宽分配。

下面的示例使用 ibmcloud is instance-create 命令创建虚拟服务器实例,并指定了值为 pooled 的选项 --volume-bandwidth-qos-mode

ibmcloud is instance-create my-virtual-server my-vpc us-south-2 cx3d-8x20 my-subnet --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --keys r006-68f8333a-1169-42da-ba01-75268bac8362 --volume-attach @/Users/myname/myvolume-attachment.json --volume-bandwidth-qos-mode pooled

myvolume-attachments.json 文件最多可包括 12 个要附加到虚拟服务器的数据卷。 请参阅以下示例:

[
  {"volume": {
        "name": "my-data-volume-1",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
   "delete_volume_on_instance_delete": false},
  {"volume": {
        "name": "my-data-volume-2",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
   "delete_volume_on_instance_delete": false},
  {"volume": {
        "name": "my-data-volume-3",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
   "delete_volume_on_instance_delete": false}
]

创建具有保密计算功能的实例

选择可用性

基于英特尔SGX的VPC机密计算和基于英特尔TDX的VPC机密计算已在达拉斯(us-south)、华盛顿特区(us-east)和法兰克福(eu-de)区域开放使用。

使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 如果需要安全启动,请使用带有第一代卷配置文件的启动卷。

在确定所需值后,请使用这些值运行 ibmcloud is instance-create 命令。 您还需要为实例指定一个唯一的名称。

对于 confidential-compute-mode,需要为选项指定 sgxtdx

使用以下步骤创建启用保密计算的基本虚拟服务器实例。

使用以下命令创建一个实例。

   ibmcloud is instance-create \
       INSTANCE_NAME \
       VPC \
       ZONE_NAME \
       PROFILE_NAME \
       SUBNET \
       --image IMAGE \
       --confidential-compute-mode sgx \
       --keys KEYS \

例如,下面的 instance-create 命令使用了“收集信息”部分中的示例值。

   ibmcloud is instance-create \
       my-instance \
       r006-35b9cf35-616e-462e-a145-cf8db4062fcf \
       us-south-2 \
       bx2-2x8 \
       0717-198db988-3b9b-4cfa-9dec-0206420d37d0 \
       --image r006-f83ce520-00b5-40c5-9938-a5c82a273f91 \
       --confidential-compute-mode sgx \
       --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61 \

使用以下参数和选项值

  * INSTANCE_NAME: `my-instance`
  * VPC: `r006-35b9cf35-616e-462e-a145-cf8db4062fcf`
  * ZONE_NAME: `us-south-2`
  * PROFILE_NAME: `bx2-2x8`
  * SUBNET: `0717-198db988-3b9b-4cfa-9dec-0206420d37d0`
  * IMAGE: Debian 11 image `r006-f83ce520-00b5-40c5-9938-a5c82a273f91`
  * KEYS: `r006-89ec781c-9630-4f76-b9c4-a7d204828d61`

创建安全启动实例

选择可用性

使用英特尔 SGX for VPC 的保密计算仅在达拉斯(美国南部)和法兰克福(欧洲东部)地区提供。 使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 如果需要安全启动,请使用带有第一代卷配置文件的启动卷。

在确定所需值后,请使用这些值运行 ibmcloud is instance-create 命令。 您还需要为实例指定一个唯一的名称。

对于 enable-secure-boot,需要指定 truefalse。 缺省值为 false

使用以下步骤创建启用安全启动的基本虚拟服务器实例。

使用以下命令创建一个实例。

   ibmcloud is instance-create \
       INSTANCE_NAME \
       VPC \
       ZONE_NAME \
       PROFILE_NAME \
       SUBNET \
       --image IMAGE \
       --enable-secure-boot true \
       --keys KEYS \

例如,下面的 instance-create 命令使用了“收集信息”部分中的示例值。

   ibmcloud is instance-create \
       my-instance \
       r006-35b9cf35-616e-462e-a145-cf8db4062fcf \
       us-south-2 \
       bx2-2x8 \
       0717-198db988-3b9b-4cfa-9dec-0206420d37d0 \
       --image r006-f83ce520-00b5-40c5-9938-a5c82a273f91 \
       --enable-secure-boot true \
       --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61 \

使用以下参数和选项值

  * INSTANCE_NAME: `my-instance`
  * VPC: `r006-35b9cf35-616e-462e-a145-cf8db4062fcf`
  * ZONE_NAME: `us-south-2`
  * PROFILE_NAME: `bx2-2x8`
  * SUBNET: `0717-198db988-3b9b-4cfa-9dec-0206420d37d0`
  * IMAGE: Debian 11 image `r006-f83ce520-00b5-40c5-9938-a5c82a273f91`
  * KEYS: `r006-89ec781c-9630-4f76-b9c4-a7d204828d61`

通过 CLI 创建实例后的下一步操作

这将向管理员发送一系列电子邮件:虚拟服务器实例订单确认,订单核准和处理,以及指示实例已创建的消息。

如果选择 GPU 配置文件,请参阅 管理 GPU

创建实例后,请将浮动 IP 地址关联到该实例。 然后,可以连接到该实例。 有关更多信息,请参阅连接到 Linux 实例连接到 Windows 实例

使用API创建虚拟服务器实例

您可以通过API创建实例。

准备工作

请确保您拥有所需的访问权限。 要调用这些方法,必须分配一个或多个 IAM 访问角色,其中包括以下操作(取决于任何列出的条件)。 您可以访问 Cloud Identity and Access Management 控制面板的“用户”页面检查访问权限。

通过API收集信息以创建实例

创建实例前,需要了解实例的详细信息,如实例配置文件或要使用的映像。 通过调用以下 API 来收集信息:

所需实例详情 api
实例详细信息 列出选项 应用程序接口规格文件
图像 GET /images 列出所有图像
Profile GET /instance/profiles

GET /images/<id>/instance_profiles

列出所有实例配置文件

列出与特定图像兼容的所有实例配置文件

GET /keys 列出所有密钥
VPC GET /vpcs 列出所有 VPC
Subnet GET /subnets 列出所有子网
区域 GET /regions/<region>/zones 列出区域中的所有专区
放置组 GET /placement_groups 列出所有放置组

您可以通过 availablepartially_available (图像尚未在所有区域提供)或 deprecated 图像提供实例。 有关图像生命周期的更多信息,请参阅 自定义图像生命周期

确认您使用的配置文件在计划创建实例的区域中可用。

如果计划使用其他账户的快照,请首先确保已获得正确的 IAM 授权。 然后,联系快照的所有者,获取快照的 CRN。

由于以下原因,某些配置文件可能无法使用:

  • 虚拟服务器中的网络接口数量超出了配置文件限制。 您可以删除网络接口,从更多配置文件中进行选择。 有关详细信息,请参阅 调整虚拟服务器的大小
  • 所选图像包含的许可使用条款与该配置文件不兼容。 在这种情况下,请选择具有与所需配置文件兼容的允许使用表达式的图像。 有关更多信息,请参阅 为自定义图像添加允许使用表达式

使用API创建实例

检索到所需信息后,您可以运行 POST /instances 方法创建一个实例。

通过API从库存或自定义映像中提供实例

您可以将图片的 id 子属性指定为 image 属性的值,从而为实例提供库存图片或自定义图片。

   curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
     -H "Authorization:$iam_token" \
     -d '{
           "name": "my-instance",
           "zone": {
             "name": "us-south-3"
           },
           "vpc": {
             "id": "'$vpc'"
           },
           "primary_network_interface": {
             "subnet": {
               "id": "'$subnet'"
             }
           },
           "keys":[{"id": "'$key'"}],
           "profile": {
             "name": "'$profile_name'"
            },
           "image": {
             "id": "'$image_id'"
            }
           }'

通过API从私有目录映像中提供实例

通过指定映像的 offering_crnversion_crn 子属性作为 catalog_offering 属性的值,可以为实例提供私有目录映像。

  • 使用目录产品提供中的最新版本的私有目录映像创建实例。

    curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
      -H "Authorization:$iam_token" \
      -d '{
            "name": "my-instance",
            "zone": {
              "name": "us-south-3"
            },
            "vpc": {
              "id": "'$vpc'"
            },
            "primary_network_interface": {
              "subnet": {
                "id": "'$subnet'"
              }
            },
            "keys":[{"id": "'$key'"}],
            "profile": {
              "name": "'$profile_name'"
             },
            "catalog_offering": {
              "offering": {
                "crn": "'$offering_crn'"
             }
            }'
    
  • 使用目录产品特定版本的私有目录映像创建实例。

    curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
      -H "Authorization:$iam_token" \
      -d '{
            "name": "my-instance",
            "zone": {
              "name": "us-south-3"
            },
            "vpc": {
              "id": "'$vpc'"
            },
            "primary_network_interface": {
              "subnet": {
                "id": "'$subnet'"
              }
            },
            "keys":[{"id": "'$key'"}],
            "profile": {
              "name": "'$profile_name'"
             },
            "catalog_offering": {
              "version": {
                "crn": "'$version_crn'"
             }
            }'
    

从现有卷中提供

重复使用现有的可启动卷比从快照或映像创建新卷更快。

通过将现有卷的 idcrn 子属性指定为 boot_volume_attachment 属性的值,可以为实例提供现有卷。

现有可启动卷必须是与实例配置文件具有相同架构的未连接可启动卷。 使用 列表卷 过滤器并参考 attachment_state 属性和 operating_system 属性来查看卷的资格。

例如,在 us-south-1 中使用 x86 操作系统查看未连接的卷。

curl -X GET "$vpc_api_endpoint/v1/volumes?version=2023-02-08&generation=2?attachment_state=unattached&zone.name=us-south-1&operating_system.architecture=amd64"
-H "Authorization: Bearer $iam_token"

默认情况下,在配置虚拟服务器实例时创建的启动卷会在删除实例时删除。 您可以在创建实例或更新启动卷附件时将 delete_volume_on_instance_delete 属性设置为 false,从而更改此行为。

使用 POST /instances 方法创建一个包含所收集信息的实例。 下面的调用是使用现有启动卷调配实例的示例。

curl -X POST "$vpc_api_endpoint/v1/instances?version=2023-02-08&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
  "boot_volume_attachment": {
    "volume": {
      "id": "r006-feec3e99-995e-4e8f-896b-48b42c7d05a7"
    }
  },
  "keys": [
    {
      "id": "363f6d70-0000-0001-0000-00000013b96c"
    }
  ],
  "name": "my-instance",
  "placement_target": {
    "id": "0787-8c2a09be-ee18-4af2-8ef4-6a6060732221"
  },
  "primary_network_interface": {
    "name": "my-network-interface",
    "subnet": {
      "id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4"
    }
  },
  "profile": {
    "name": "bx2-2x8"
  },
  "volume_attachments": [
    {
      "volume": {
        "capacity": 1000,
        "encryption_key": {
          "crn": "crn:[...]"
        },
        "name": "my-data-volume",
        "profile": {
          "name": "5iops-tier"
        }
      }
    }
  ],
  "vpc": {
    "id": "f0aae929-7047-46d1-92e1-9102b07a7f6f"
  },
  "zone": {
    "name": "us-south-1"
  }
}'

使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 如果需要安全启动,请使用带有第一代卷配置文件的启动卷。

更多信息,请参阅 创建实例

从快照中还原启动卷,并用它来配置新实例

您可以从可启动快照 还原 启动卷,然后在配置实例时使用该启动卷。 可启动快照的操作系统和架构必须与实例配置文件相同。

POST /instances 请求中,指定 boot_volume_attachment 属性,并在 source_snapshot 子属性中指定可启动快照 ID。 或者,您也可以使用快照的名称或 CRN。 请参阅以下示例。

curl -X POST \
"$vpc_api_endpoint/v1/instances?version=2023-03-07&generation=2" \
-H "Authorization: Bearer $iam_token" \
-H "Content-Type: application/json" \
-d '{
      "boot_volume_attachment": {
        "delete_volume_on_instance_delete": true,
        "volume": {
            "profile": {
                "name": "general-purpose"
            },
            "source_snapshot": {
                "id": "eb373975-4171-4d91-81d2-c49efb033753"
            }
        }
     },
     .
     .
     .
  }'

有关使用 API 恢复卷的更多信息,请参阅 使用 API 从快照恢复卷

使用应用程序接口创建具有多个数据卷和动态卷带宽分配的实例

选择 计算配置文件 支持数据卷的池带宽分配。 如以下示例请求所示,您可以通过调用 instances 方法,以编程方式为虚拟服务器实例配置多个数据卷。 示例在 us-south-2 区的虚拟服务器,该虚拟服务器有一个 250 GB 的启动卷和三个 3 TB 的数据卷。 storage_qos_mode 设置为 pooled,以启用动态音量带宽分配。

curl -X POST "$vpc_api_endpoint/v1/instances?version=2024-07-12&generation=2" \
-H "Authorization: Bearer $iam_token" \
-H "Content-Type: application/json" \
-d '{
  "zone": {"name": "us-south-2"},
  "resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
  "name": "my-gen3-instance",
  "vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
  "user_data": "",
  "profile": {"name": "cx3d-8x20"},
  "keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"}],
  "volume_attachments": [
    {"volume": {
        "name": "my-data-volume-a",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
      "delete_volume_on_instance_delete": false},
    {"volume": {
        "name": "my-data-volume-b",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
      "delete_volume_on_instance_delete": false
    },
    {"volume": {
        "name": "my-data-volume-c",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
      "delete_volume_on_instance_delete": false
      }],
  "boot_volume_attachment": {
    "volume": {
      "name": "my-gen3-instance-boot-1720810915000",
      "capacity": 250,
      "profile": {"name": "general-purpose"},
      "user_tags": []},
    "delete_volume_on_instance_delete": true
  },
  "metadata_service": {"enabled": false},
  "primary_network_attachment": {
    "name": "eth0",
    "virtual_network_interface": {
      "allow_ip_spoofing": false,
      "auto_delete": true,
      "enable_infrastructure_nat": true,
      "primary_ip": {"auto_delete": true},
      "subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
      "security_groups": [{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
      "protocol_state_filtering_mode": "auto"}
  },
  "network_attachments": [],
  "image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"},
  "enable_secure_boot": false
  "storage_qos_mode": pooled
}'

创建具有保密计算功能的实例

选择可用性

基于英特尔SGX的VPC机密计算和基于英特尔TDX的VPC机密计算已在达拉斯(us-south)、华盛顿特区(us-east)和法兰克福(eu-de)区域开放使用。

使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 如果需要安全启动,请使用带有第一代卷配置文件的启动卷。

要为实例提供保密计算功能,请添加 confidential_compute_mode 属性,并将其设置为 sgxtdx

   curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
     -H "Authorization:$iam_token" \
     -d '{
           "name": "my-instance",
           "zone": {
             "name": "us-south-3"
           },
           "vpc": {
             "id": "'$vpc'"
           },
           "primary_network_interface": {
             "subnet": {
               "id": "'$subnet'"
             }
           },
           "keys":[{"id": "'$key'"}],
           "profile": {
             "name": "'$profile_name'"
            },
           "image": {
             "id": "'$image_id'"
            },
            "confidential_compute_mode": "sgx"
           }'

创建安全启动实例

要使用安全启动配置实例,请添加 enable_secure_boot 属性并将其设置为 true

   curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
     -H "Authorization:$iam_token" \
     -d '{
           "name": "my-instance",
           "zone": {
             "name": "us-south-3"
           },
           "vpc": {
             "id": "'$vpc'"
           },
           "primary_network_interface": {
             "subnet": {
               "id": "'$subnet'"
             }
           },
           "keys":[{"id": "'$key'"}],
           "profile": {
             "name": "'$profile_name'"
            },
           "image": {
             "id": "'$image_id'"
            },
            "enable_secure_boot": "true"
           }'

使用 sdp 卷配置文件的第二代启动卷还不支持安全启动。 如果需要安全启动,请使用带有第一代卷配置文件的启动卷。

使用 Terraform 创建虚拟服务器实例

您可以使用 Terraform 创建实例。 如果想使用用户标签或访问管理标签来管理资源,请参阅 使用标签

准备工作

请确保您 已为 VPC 设置 Terraform

创建私人目录

此步骤是可选的。 如果计划共享私人目录中的图像,必须先创建私人目录。 如果选择了属于不同账户的目录映像,请查看 Terraform 中的私有目录中使用跨账户映像引用以 了解更多注意事项和限制。

收集信息以使用 Terraform 创建实例

准备好创建实例了吗? 在运行 ibm_is_instance 命令之前,您需要了解该实例的详细信息,例如要使用的配置文件或镜像。

使用 DataSource 命令收集以下信息。

  1. 收集实例配置文件详细信息。 针对所选配置文件运行以下命令。 有关可用配置文件的列表,请参阅 x86 实例 配置文件。 更多信息,请参阅有关 ibm_is_instance_profiles 的 Terraform 文档。 通过引用实例配置文件数据源来使用实例配置文件。 更多信息,请参阅有关 ibm_is_instance_profile 的 Terraform 文档。
  • 收集特定配置文件的实例配置文件详细信息
data "ibm_is_instance_profile" "example_profile" {
   name = "bx2-2x8"
}
  1. 列出可用于创建实例的映像。 您可以使用库存图片、您账户中的自定义图片或从私人目录中与您账户共享的图片。 更多信息,请参阅有关 ibm_is_image 的 Terraform 文档。 如果计划使用从私有目录共享的映像,请参阅有关 ibm_cm_versionibm_cm_offering_instance 的 Terraform 文档。

您可以通过 availablepartially_available (图像尚未在所有区域提供)或 deprecated 图像提供实例。 有关图像生命周期的更多信息,请参阅 自定义图像生命周期

确认您使用的配置文件在计划创建实例的区域中可用。

Allowed-use expressions: The image that you select determines the profiles that are available to create the virtual server instance. During the creation of a virtual server instance with images that use an allowed-use expression, the information that is provided in the allowed-use properties is then evaluated against a potential virtual server instance to determine whether that image can be used to create the virtual server instance. Stock images use defined allowed-use expressions. You must define any allowed-use expressions for custom images. For more information, see [Adding allowed-use expressions to custom images](/docs/vpc?topic=vpc-custom-image-allowed-use-expressions&interface=ui).
{: note}
  • 从您的账户中为实例选择图片库图片或自定义图片。

    data "ibm_is_image" "example_image" {
       name = "ibm-centos-7-6-minimal-amd64-2"
    }
    
  • 从实例的私有目录中选择共享图像。 有关详细信息,请参阅有关 ibm_is_images 的 Terraform 文档。 您可以从列表中选择一个映像来创建实例,如“转到使用 Terraform 创建实例”部分所示。

如果选择了属于不同账户的目录图像,则需要考虑更多因素和限制。 请参阅 在 Terraform 的私有目录中使用跨账户图像引用

  - To list all available private catalog image offerings, run the following command.

      ```terraform {: codeblock}
      data "ibm_is_images" "example_images" {
      catalog_managed = true
      }
      ```
  • 使用允许使用表达式列出配置文件和兼容图像

    • 列出与某个镜像兼容的实例配置文件

      data "ibm_is_image_instance_profiles" "testacc_image_instance_profiles" {
      identifier = "r134-0950e619-325e-446e-b895-e0bdd21dd1ea"
      }
      
    • 列出与卷兼容的实例配置文件

      data "ibm_is_volume_instance_profiles" "testacc_volume_instance_profiles" {
      identifier = "r134-0950e619-325e-446e-b895-e0bdd21dd1ea"
      }
      
    • 列出与快照兼容的实例配置文件

      data "ibm_is_snapshot_instance_profiles" "testacc_snapshot_instance_profiles" {
      identifier = "r134-0950e619-325e-446e-b895-e0bdd21dd1ea"
      }
      
  1. 通过引用 VPC 数据源,创建 VPC 资源或使用现有 VPC。 如需了解更多信息,请参阅有关 ibm_is_vpc 的 Terraform 文档。
resource "ibm_is_vpc" "example_vpc" {
   name = "example-vpc"
}
  1. 通过引用子网数据源,创建子网资源或使用现有子网。 更多信息,请参阅有关 ibm_is_subnet 的 Terraform 文档。
resource "ibm_is_subnet" "example_subnet" {
   name            = "example-subnet"
   vpc             = ibm_is_vpc.example_vpc.id
   zone            = "us-south-1"
   ipv4_cidr_block = "10.240.0.0/24"
}
  1. 通过引用 ssh-key 数据源,创建 ssh-key 资源或使用现有的 ssh-key。 更多信息,请参阅有关 ibm_is_ssh_keys 的 Terraform 文档。
resource "ibm_is_ssh_key" "example_sshkey" {
   name       = "example-sshkey"
   type       = "rsa"
   public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
}

SSH 密钥可以是 RSA 或 Ed25519 密钥。 您可以使用用户界面生成新的 RSA 密钥对。 可上传预先存在的RSA和 ED25519 SSH密钥。 仅当操作系统支持此密钥类型时,才能使用 Ed25519。 Ed25519 不能与 Windows 或 VMware 映像配合使用。

  1. 通过引用 subnet_reserved_ip 数据源,创建 subnet_reserved_ip 资源或使用现有的 subnet_reserved_ip。 更多信息,请参阅有关 ibm_is_subnet_reserved_ip 的 Terraform 文档。
resource "ibm_is_subnet_reserved_ip" "example_reserved_ip" {
   subnet    = ibm_is_subnet.example_subnet.id
   name      = "example-reserved-ip1"
   address   = "${replace(ibm_is_subnet.example_subnet.ipv4_cidr_block, "0/24", "13")}"
}

使用 Terraform 创建实例

要使用 Terraform,请下载 Terraform CLI 并配置 Provider IBM Cloud 插件。 更多信息,请参阅 Terraform 入门

使用以下示例之一创建实例。 更多信息,请参阅有关 ibm_is_instance 的 Terraform 文档。

允许使用的表达式:您选择的映像决定了可用于创建虚拟服务器实例的配置文件。 在使用使用了允许使用表达式的图像创建虚拟服务器实例期间,允许使用属性中提供的信息会针对潜在的虚拟服务器实例进行评估,以确定该图像是否可用于创建虚拟服务器实例。 库存图片使用定义的允许使用表达式。 您必须为自定义图像定义任何允许使用的表达式。 有关更多信息,请参阅 为自定义图像添加允许使用表达式

根据计划使用的映像运行以下 Terraform 命令之一。

  • 使用库存图片或账户中的自定义图片创建实例。

    resource "ibm_is_instance" "example_instance" {
      name    = "example-instance-reserved-ip"
      image   = data.ibm_is_image.example_image.id
      profile = data.ibm_is_instance_profile.example_profile.name
      primary_network_interface {
        name   = "eth0"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          reserved_ip = ibm_is_subnet_reserved_ip.example_reserved_ip.reserved_ip
        }
      }
      network_interfaces {
        name   = "eth1"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          name = "example-reserved-ip1"
          auto_delete = true
          address = "${replace(ibm_is_subnet.example_subnet.ipv4_cidr_block, "0/24", "14")}"
        }
      }
      vpc  = ibm_is_vpc.example_vpc.id
      zone = "us-south-1"
      keys = [ibm_is_ssh_key.example_sshkey.id]
    }
    
  • 创建一个使用私有目录管理映像的实例。 为启动卷指定第二代卷配置文件时,可以指定自定义容量、IOPS 和带宽限制。

    resource "ibm_is_instance" "example_instance" {
      name    = "example-instance-reserved-ip"
      image   = data.ibm_is_image.example_image.id
      profile = data.ibm_is_instance_profile.example_profile.name
      primary_network_interface {
        name   = "eth0"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          reserved_ip = ibm_is_subnet_reserved_ip.example_reserved_ip.reserved_ip
        }
      }
      network_interfaces {
        name   = "eth1"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          name = "example-reserved-ip1"
          auto_delete = true
          address = "${replace(ibm_is_subnet.example_subnet.ipv4_cidr_block, "0/24", "14")}"
        }
      }
      vpc  = ibm_is_vpc.example_vpc.id
      zone = "us-south-1"
      keys = [ibm_is_ssh_key.example_sshkey.id]
      boot_volume {
        name           = "example-boot-volume"
        profile        = "sdp"
        size           = 250
        iops           = 3000
        bandwidth      = 1000
        encryption_key = "crn:v1:bluemix:public:kms:us-south:a/a1234567:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
       }
    }
    
    • 使用快照创建实例,快照中应包含实例账户中的允许使用表达式。
    resource "ibm_is_instance" "testacc_instance" {
      name    = "example-instance"
      profile = "cx2-2x4"
      primary_network_interface {
        subnet = ibm_is_subnet.testacc_subnet.id
      }
      vpc  = ibm_is_vpc.testacc_vpc.id
      zone = "us-south-1"
      keys = [ibm_is_ssh_key.testacc_sshkey.id]
      boot_volume {
        name     = "example-boot-volume"
        snapshot = ibm_is_snapshot.testacc_snapshot.id
        allowed_use {
          api_version       = "2025-06-05"
          bare_metal_server = "true"
          instance          = "true"
        }
      }
    }