创建虚拟服务器实例
您可以使用 IBM Cloud 控制台,CLI,API 或 Terraform 在 IBM Cloud VPC 中创建一个或多个虚拟服务器实例。
创建虚拟服务器时,可指定诸如虚拟服务器的位置和名称之类的信息。 您可以指定操作系统映像,用于定义 vCPU 和 RAM 的组合的概要文件以及用于安全连接到虚拟服务器的 SSH 密钥。 除启动卷外,还可添加数据卷。 您还可以指定为虚拟服务器创建的网络接口的类型。 最后,您可以从虚拟服务器配置的高级选项中进行选择。
使用 UI 创建虚拟服务器实例
使用以下步骤来创建虚拟服务器实例。
-
在 IBM Cloud 控制台,单击 导航菜单 图标
> 基础设施
> 计算 > 虚拟服务器实例。
-
点击“创建”, 在表1中输入信息。
选择开始实例调配 字段 值 地区 位置由区域(特定地理区域)和区域(区域内的容错数据中心)组成。 选择要创建虚拟服务器实例的位置。 名称 虚拟服务器实例的名称是必需的。 资源组 为实例选择资源组。 标记 您可以将用户标记分配给实例,以便可以轻松地过滤资源列表中的实例资源。 有关更多信息,请参阅使用标记。 访问权管理标记 访问权管理标记有助于在特定资源上应用灵活的访问策略。 有关更多信息,请参阅 使用标记控制对资源的访问 UI 教程。 -
选择实例的映像和概要文件。 要从所有可用映像中进行选择,请单击 更改映像。 您可以选择映像,引导卷的快照或现有引导卷。 如果您配置实例的地理位置支持,您可以选择x86或者s390x建筑学。 表 2 描述了映像,快照和现有卷选项。 然后,选择概要文件。 要从所有可用的 vCPU 和 RAM 组合中进行选择,请单击 更改概要文件。 表 3 描述了概要文件选择。
选择实例配置映像、快照或卷 字段 值 库存映像 从可用库存映像中进行选择,然后单击 保存。
-有关可用库存映像的更多信息,请参阅 x86 虚拟服务器映像 和 s390x 虚拟服务器映像。 所有操作系统映像都使用 cloud-init,您可以使用 cloud-init 来输入与供应后脚本的实例相关联的用户元数据。 元数据不支持 IBM Cloud® Hyper Protect Virtual Server 的 IBM Cloud® Virtual Private Cloud 实例和 z/OS 虚拟服务器实例。- 如果计划使用 Windows 操作系统和 SQL Server,请参阅 About Microsoft SQL on VPC。
定制映像 从可用定制图像中进行选择,然后单击 保存。 如果没有可用的定制映像,请单击 创建。
-定制映像可以是您定制并上载到 IBM Cloud Object Storage的映像,然后可以将其导入到 IBM Cloud VPC。 有关自定义映像的更多信息,请参阅 开始使用自定义映像.- 您也可以使用从启动卷创建的自定义映像。 有关从卷创建映像的更多信息,请参阅 About creating an image from a volume.
- 您还可以选择 RHEL 或 Windows 自定义映像,并自带许可证 (BYOL)。 有关创建 BYOL 自定义图像的更多信息,请参阅 自带许可证。
目录映像 选择可用商品目录映像后,单击 选择版本和定价计划,选择版本和定价计划,然后单击 保存。
-商品目录映像是导入到专用商品目录中的定制映像。 有关目录图像的更多信息,请参阅私有目录中自定义映像的 VPC 注意事项。
注: 如果选择属于其他帐户的目录映像,那么需要查看更多注意事项和限制。 看在 UI 中的私有目录中使用跨账户图像引用。- 要创建私人目录,请参阅教程为 VPC 加入虚拟服务器映像。
快照 选择 导入现有快照 或 按 CRN 导入快照。 更新然后,选择启动卷的快照,并单击 保存。 如果没有可用的快照,请单击 创建.
- 筛选 快速恢复 的快照列表。 通过此选项,您可以使用在区域的不同区域中高速缓存的快照来快速创建引导卷。 有关从快照还原卷的更多信息,请参阅 Restoring a volume from a snapshot.
- 如果您使用其他帐户快照的 CRN,请确保已获得正确的 IAM 授权。
现有卷 选择未连接到实例的现有引导卷,然后单击 保存。 表 3. 配置文件选择 字段 值 Profile 概要文件系列包括均衡,计算,内存,超高内存,甚高内存,GPU 和保密计算。 有关更多信息,请参阅 x86-64 实例概要文件。 为 IBM Cloud® Virtual Private Cloud 实例创建 IBM Cloud Hyper Protect Virtual Servers 时,请确保选择支持安全执行的概要文件,否则供应将失败。 有关更多信息,请参阅 s390x 实例概要文件。 某些概要文件可能不可用,因为虚拟服务器中的网络接口数超过了概要文件限制。 您可以除去网络接口以从更多概要文件中进行选择。 有关更多信息,请参阅 调整虚拟服务器的大小。
高级安全性选择 安全引导 单击切换按钮即可启用安全启动。 安全启动仅适用于兼容的配置文件。 有关安全引导的更多信息,请参阅 Secure boot for Virtual Servers for VPC。 保密计算选择可用性 通过英特尔® 软件保护扩展(SGX)和英特尔可信域扩展(TDX)进行保密计算,利用称为加密飞地的隔离内存区域,通过基于硬件的服务器安全保护您的数据。 SGX和TDX仅适用于兼容配置文件。 有关机密计算的更多信息,请参阅 适用于 VPC 的 x86Virtual Servers for VPC的机密计算。 安全启动和保密计算可通过选定的平衡和计算配置文件实现。 有关更多信息,请参阅 SGX 兼容配置文件。
-
通过指定表 4 中的信息,完成 SSH 密钥、存储和网络详细信息。
选择完成实例调配 字段 值 SSH 密钥 您必须选择一个现有的 SSH 公钥,或点击创建 SSH 密钥来创建一个。 有关创建 SSH 密钥的更多信息,请参阅 使用 UI 创建 SSH 密钥。 在实例处于运行状态后,SSH 密钥用于安全地连接到实例。 **注:**字母数字组合限制为 100 个字符。 SSH 密钥可以是 RSA 或 Ed25519 密钥。 只能创建 RSA SSH 密钥。 对于 ED25519 SSH 密钥,必须上传密钥信息。 仅当操作系统支持此密钥类型时,才能使用 Ed25519。 Ed25519 不能与 Windows 或 VMware 映像配合使用。 有关更多信息,请参阅 SSH 密钥入门。 引导卷 大多数配置文件的默认启动卷大小为 100 GB。 默认启动卷大小z/OS虚拟服务器实例为 245 GB。 如果要导入定制映像,那么引导卷容量可以为 10 到 250 GB,具体取决于映像需要的容量。 小于 10 GB 的图像将四舍五入为 10 GB。单击編輯圖標 在侧面板中修改启动卷的属性。
您可以通过指定唯一、有意义的名称来更改启动卷的名称。 例如,它可以是一个描述计算或工作负载功能的名称。 卷名称必须以小写字母开头。 名称最多可包含 63 个小写字母数字字符,并包含连字符 (-)。卷名称在整个 VPC 基础设施中必须是唯一的。 如果您愿意,可以稍后编辑该名称。 您可以关闭启动卷的自动删除选项。 如果启用,则在删除实例时也会删除该卷。 如果禁用,则在删除实例后卷仍然存在。 您可以指定可选的用户标签和访问管理标签来与此卷关联。 有关使用用户标签组织资源的更多信息,请参阅 使用标签。 您可以选择加密类型。 所有卷上都默认启用提供商管理的加密。 您还可以选择使用自己的根密钥创建信封加密。 加密密钥在密钥管理服务中创建和维护(Key Protect或者Hyper Protect Crypto Services )。 您可以将启动卷的大小增加至最多 250 GB。 数据卷 您可以创建一个或多个辅助数据卷,以便在配置实例时附加。 点击创造在数据卷部分打开侧面板,您可以在其中定义卷。 指定一个唯一、有意义的名称。 与启动卷适用相同的规格。 您可以切换数据卷的自动删除选项。 如果启用,则在删除实例时也会删除该卷。 如果禁用,则在删除实例后卷仍然存在。 您可以指定可选的用户标签和访问管理标签来与此卷关联。 有关使用用户标签组织资源的更多信息,请参阅 使用标签。 您可以选择加密类型。 所有卷上都默认启用提供商管理的加密。 您也可以选择使用在密钥管理服务中创建和维护的自有根密钥创建信封加密。 您可以选择 存储配置文件 最适合您的容量和 IOPS 需求。 有关详细信息,请参阅For more information, see 创建并附加Block Storage创建实例时的卷。 虚拟私有云 指定要在其中创建实例的 IBM Cloud VPC。 您可以使用默认 VPC、另一个现有 VPC 或创建一个 VPC。 要创建 VPC,请单击新建 VPC。 添加到群组网络 如果选择H100GPU 配置文件 gx3d-160x1792x8h100
,则会看到“添加到群集网络”选项。 您可以将“添加到群集网络”设置为开,使虚拟服务器能够访问支持远程直接内存访问 (RDMA) 的高性能网络。 当添加到群集网络设置为开启且群集网络可用时,IBM Cloud控制台会包含用于为群集网络配置虚拟服务器的默认选择。 如果没有可用的群集网络,可以单击创建群集网络。 当选择集群网络时,虚拟私有云下拉菜单中仅显示配置了集群网络的VPC。 更多信息,请参阅 关于群集网络。网络接口 缺省情况下,使用单个主网络接口创建虚拟服务器实例。 您可以单击 Edit 图标 编辑网络接口的详细信息,例如与接口关联的子网或安全组。 要包括额外的辅助网络接口,请单击 创建。 您最多可以为虚拟服务器实例创建和分配 15 个网络接口,具体取决于实例配置文件中包含的 vCPU 数量。 有关更多信息,请参阅 关于网络接口.
通过虚拟网络接口功能,您可以选择要使用的网络接口类型。 您可以选择新的选项“网络连接”和虚拟网络接口,也可以选择传统的选项“实例网络接口”。 在供应虚拟服务器时选择的任何类型的网络接口选项都将在虚拟服务器的生命周期内持久存在。 您可以单击附加,使用现有虚拟网络接口创建网络附加。 有关更多信息,请参阅 关于虚拟网络接口。 -
对于“高级”选项,您可以选择完成更多实例配置。
实例调配高级选项选择 字段 值 用户数据 您可以添加自动执行公共配置任务或运行脚本的用户数据。 有关更多信息,请参阅用户数据。 有关在为 IBM Cloud® Virtual Private Cloud 实例创建 IBM Cloud® Hyper Protect Virtual Server 时使用合同来指定用户数据的更多信息,请参阅 关于合同。 z/OS 虚拟服务器实例不支持用户数据。 元数据 缺省情况下处于禁用状态。 单击切换以启用。 此设置通知实例收集实例配置信息和用户数据。 有关更多信息,请参阅 关于 VPC 的实例元数据。 IBM Cloud® Hyper Protect Virtual Server for IBM Cloud® Virtual Private Cloud 实例和 z/OS 虚拟服务器实例不支持元数据。 可信概要文件 (可选) 如果启用元数据服务,那么可以选择可信概要文件并将其链接到此实例。 单击选择受信任的配置文件。 在侧面板中,选择可信概要文件,然后单击 选择可信概要文件 以将其链接到实例。 如果不存在任何消息,或者如果您无权链接消息,那么将显示一条消息。 有关更多信息,请参阅 创建可信概要文件。 有关获取访问权的更多信息,请参阅 用于链接可信概要文件的 IAM 授权。 添加到专用主机 此选项默认为禁用。 要在单租户空间中创建虚拟服务器实例,请单击切换以启用专用主机。 要供应专用实例,您必须具有可用的专用主机,或者 创建一个。 添加到放置组 缺省情况下,已禁用布置组。 单击切换以启用放置组。 然后,选择或创建实例的放置组。 如果添加布置组,那么将根据布置组策略来放置实例。 有关更多信息,请参阅 关于布置组。 添加到预留 如果您具有活动预留,请单击切换以将虚拟服务器实例添加到该预留。 有关更多信息,请参阅 关于 VPC 的预留。 主机故障自动重新启动 缺省情况下启用该设置。 要禁用主机故障自动重新启动,请单击切换开关。 更多信息,请参阅 主机故障恢复政策 -
准备好供应时,单击创建虚拟服务器实例。
在 UI 中创建实例后的后续步骤
创建实例后,需要 将浮动 IP 地址与实例关联。 然后,可以连接到该实例。 有关更多信息,请参阅 连接到 Linux 实例,连接到 Windows 实例 或 连接到 z/OS 实例。
如果现有实例具有浮动 IP 地址,那么不必将第二个浮动 IP 分配给另一个实例。 您可以使用浮动 IP 连接到第一个实例,然后使用自动分配给该实例的专用子网 IP 地址通过 SSH 连接到第二个实例。
使用 CLI 创建虚拟服务器实例
您可以使用命令行界面 (CLI) 来创建实例。 如果要使用用户标记或访问管理标记来管理资源,请参阅 使用标记。
IBM Cloud CLI 在 LinuxONE (s390x 处理器体系结构) 上不受支持。 但是,您可以在另一个受支持的平台上安装 CLI,并将其与 LinuxONE (s390x 处理器体系结构) 虚拟服务器实例配合使用。
准备工作
-
下载,安装和初始化以下 CLI 插件。
- IBM Cloud CLI
- infrastructure-service 插件
有关更多信息,请参阅 设置 API 和 CLI 环境。
-
确保 已创建 VPC。
收集信息以使用 CLI 创建实例
准备好创建实例了吗? 在运行 ibmcloud is instance-create
命令之前,您需要了解实例的详细信息,如要使用的配置文件或映像。
使用关联的命令收集以下信息。
实例详细信息 | 列出选项 | VPC CLI 参考文档 |
---|---|---|
图像 | ibmcloud is images |
列出所有图像 |
引导卷 | ibmcloud is volumes |
列出所有卷 |
Profile | ibmcloud is instance-profiles |
列出所有虚拟服务器实例配置文件 |
密钥 | ibmcloud is keys |
列出所有键
如果你没有可用的 SSH 密钥,请使用创建密钥创建一个。 注意: RSA 和 ED25519 是您可以使用的两种 SSH 密钥。 但是,您不能在 Windows 或 VMware 映像中使用 ED25519 SSH 密钥类型。 您只能对这些图像使用 RSA SSH 密钥。 |
VPC | ibmcloud is vpcs |
列出所有 VPC |
子网 | ibmcloud is subnets |
列出所有子网 |
区域 | ibmcloud is zones |
列出目标区域的所有地区 |
放置组 | ibmcloud is placement-groups |
列出所有放置组 |
使用以下命令来确定创建新实例所需的信息。
-
列出与帐户关联的区域。
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
-
切换到目标区域。
ibmcloud target -r <region-name>
-
列出与目标区域相关的区域。
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
-
列出与帐户关联的 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 is vpc-create。 -
列出与 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。 -
列出可用于创建实例的概要文件。
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
有关可用概要文件的更多信息,请参阅 x86 实例概要文件 和 s390x 实例概要文件。
现在,支持安全执行的概要文件可用,并由概要文件名称的第四个字符 (即 "e") 标识,例如 bz2e。 有关更多信息,请参阅 使用 LinuxONE进行保密计算。
支持安全执行的概要文件可用于均衡,计算和内存系列。 确保在使用 IBM Hyper Protect Container Runtime 映像时使用安全启用的概要文件。 IBM提供的库存映像和 IBM Hyper Protect Container Runtime 的概要文件验证在 RIAS 层中进行。 任何概要文件不匹配都会导致类似于以下示例的错误消息。
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
-
列出用于创建实例的专用目录中与您的帐户共享的可用库存映像,定制映像或映像。 如果要从现有引导卷创建实例,请跳过此步骤。
-
要列出所有可用的库存图片或自定义图片,请运行以下命令。
ibmcloud is images
在此示例中,您将看到与以下输出类似的响应。
ID Name Status Arch OS name OS version File size(GB) Visibility Owner type Encryption Resource group Catalog Offering r006-24d856e2-6aec-41c2-8f36-5a8a3766f0d6 ibm-centos-7-9-minimal-amd64-9 available amd64 centos-7-amd64 7.x - Minimal Install 1 public provider none Default - r006-9768bb7f-c75d-4408-ba34-61015632f907 ibm-debian-10-13-minimal-amd64-2 available amd64 debian-10-amd64 10.x Buster/Stable 1 public provider none Default - r006-f83ce520-00b5-40c5-9938-a5c82a273f91 ibm-debian-11-3-minimal-amd64-4 available amd64 debian-11-amd64 11.x Bullseye/Stable 1
有关命令选项的完整列表,请参阅 ibmcloud is images。
不推荐使用的映像不包含最新支持。
-
要列出从专用目录共享的所有可用映像,请运行以下命令:
如果选择属于其他帐户的目录映像,那么需要查看额外的注意事项和限制。 请参阅 在 CLI 中的专用目录中使用跨帐户映像引用
-
要列出所有可用的专用目录映像产品,请运行以下命令。
ibmcloud is catalog-image-offerings
此命令返回每个映像产品的标识以及映像所在的专用目录的标识。 将
offering_id
和catalog_id
保存在变量中,这些变量稍后用于供应实例。offering_id=6bf79f7b-de48-4ce8-8cae-866b376f2889 catalog_id=71306253-8444-4cae-a45d-64d35e5393ec
-
要获取产品的
offering_crn
和产品中每个版本的offering_version_crn
,请运行以下命令。ibmcloud is catalog-image-offering $catalog_id $offering_id
供应实例时,可以使用
offering_crn
值从目录产品中最新版本的专用目录管理映像供应实例,也可以使用offering_version_crn
值从目录产品中的特定版本供应实例。将
offering_crn
和offering_version_crn
保存在变量中,这些变量稍后用于供应实例。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"
-
-
-
列出用于创建实例的可用启动卷。 要从现有卷创建实例,必须使用与之前选择的实例选项兼容的卷。 兼容卷与正在调配的实例位于同一区域,未连接,且操作系统与步骤 5 中选择的配置文件兼容。 使用
volumes
子命令可查看兼容卷。 例如,要在us-south-1
中查看具有 x64 操作系统体系结构的未连接卷:ibmcloud is volumes --attachment-state unattached --operating-system-architecture amd64 --zone us-south-1
-
您可以选择 从可引导快照创建引导卷 并将其用于映像。 要列出卷的所有快照,请参阅 查看从 Block Storage for VPC创建的所有快照。 如果您打算使用其他账户的快照,请确保首先获得正确的 IAM授权。 然后,联系快照的所有者,获取快照的 CRN。
-
列出可以与实例关联的可用 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 密钥。
-
列出可与实例关联的所有可用安置组。
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。
-
使用以下命令创建一个实例。
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
- IMAGE: 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。
- INSTANCE_NAME:
-
接下来,运行以下
instance
details 命令以验证您是否可以看到新实例并查看为新实例创建的网络接口。0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
是在上一步中创建实例时分配的虚拟服务器实例标识。ibmcloud is instance 0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
在此示例中,您将看到以下回复。 现在,状态显示为 正在运行。 检查“网络接口”部分以查找网络接口的标识。
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
-
使用以下命令请求要与实例关联的浮动 IP 地址。 为浮动 IP 指定的名称为
my-floatingip
。0717-4db768bb-65c3-4045-8712-523e62eeabd2
是上一步中显示的虚拟服务器实例的网络接口标识。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 浮动-ip-reserve。
需要更多帮助吗? 您可以随时运行 ibmcloud is instance-create --help
来显示有关创建实例的帮助。
从专用目录映像供应
知道所需值后,请使用这些值来运行 ibmcloud is instance-create
命令。 您还需要指定实例的唯一名称。
使用以下步骤通过 CLI 从专用目录产品或目录产品版本创建虚拟服务器实例。
-
使用以下命令创建一个实例。
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/efe5afc483594adaa8325e2b4d1290df: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
- CATALOG-OFFERING: 为
crn:v1:public:globalcatalog-collection:global:a/efe5afc483594adaa8325e2b4d1290df: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
命令来查看信息,如以下步骤中所述。虚拟服务器实例的状态将显示 pending,直到创建该实例为止。
有关命令选项的完整列表,请参阅 ibmcloud is instance-create。
- INSTANCE_NAME:
-
接下来,运行以下
instance
details 命令以验证您是否可以看到新实例并查看为新实例创建的网络接口。 对于INSTANCE
,指定在上一步中分配给新虚拟服务器实例的标识。ibmcloud is instance INSTANCE
现在,状态显示为 正在运行。 检查“网络接口”部分以查找网络接口的标识。
-
使用以下命令请求要与实例关联的浮动 IP 地址。 对于
FLOATING_IP_NAME
,指定浮动 IP 的名称,对于TARGET_INTERFACE
,指定您在上一步中标识的网络接口的标识。ibmcloud is floating-ip-reserve \ FLOATING_IP_NAME \ --nic TARGET_INTERFACE
记录浮动 IP
Address
以稍后使用。有关命令选项的完整列表,请参阅 ibmcloud is 浮动-ip-reserve。
需要更多帮助吗? 您可以随时运行 ibmcloud is instance-create --help
来显示有关创建实例的帮助。
从现有卷供应
了解所需数值后,使用它们运行 instance-create
命令。 您还需要指定实例的唯一名称。
使用以下步骤从可引导卷创建包含卷连接的虚拟服务器实例。
-
使用以下命令创建一个实例。
ibmcloud is instance-create \ INSTANCE_NAME \ VPC \ ZONE_NAME \ PROFILE_NAME \ SUBNET \ --boot-volume VOLUME_ID \ --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 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。
-
接下来,运行以下
instance
details 命令以验证您是否可以看到新实例并查看为新实例创建的网络接口。 对于INSTANCE
,指定在上一步中分配给新虚拟服务器实例的标识。ibmcloud is instance INSTANCE
现在,状态显示为 正在运行。 检查“网络接口”部分以查找网络接口的标识。
-
使用以下命令请求要与实例关联的浮动 IP 地址。 对于
FLOATING_IP_NAME
,指定浮动 IP 的名称,对于TARGET_INTERFACE
,指定您在上一步中标识的网络接口的标识。ibmcloud is floating-ip-reserve \ FLOATING_IP_NAME \ --nic TARGET_INTERFACE
记录浮动 IP
Address
以稍后使用。有关命令选项的完整列表,请参阅 ibmcloud is 浮动-ip-reserve。
需要更多帮助吗? 您可以随时运行
ibmcloud is instance-create --help
来显示有关创建实例的帮助。
从快照创建启动卷,并用它从 CLI 配置新实例
您可以从可引导的 快照 创建引导卷,并将其用于映像。 运行“ibmcloud is instance-create
命令时,在启动卷 JSON 中指定”source_snapshot
子属性,并指定可启动快照的 ID、名称或
CRN。 有关示例,请参阅 从快照为新实例创建启动卷。
创建具有保密计算功能的实例
选择可用性
使用英特尔 SGX for VPC 的保密计算仅在美国南部(达拉斯)地区提供。
了解所需数值后,使用它们运行 ibmcloud is instance-create
命令。 您还需要指定实例的唯一名称。
对于 "confidential-compute-mode
,您需要为选项指定 "sgx
或 "tdx
。
使用以下步骤创建启用保密计算的基本虚拟服务器实例。
使用以下命令创建一个实例。
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 的保密计算仅在达拉斯(美国南部)和法兰克福(欧洲东部)地区提供。
了解所需数值后,使用它们运行 ibmcloud is instance-create
命令。 您还需要指定实例的唯一名称。
对于 "enable-secure-boot
,您需要指定 "true
或 "false
。 缺省值为 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 创建虚拟服务器实例
您可以使用应用程序接口创建实例。
准备工作
确保您拥有所需的访问权限。 要调用这些方法,必须根据列出的任何条件为您分配一个或多个包含以下操作的 IAM 访问角色。 您可以通过转至 Cloud Identity and Access Management 仪表板的“用户”页面来检查您的访问权。
使用应用程序接口收集信息以创建实例
在创建实例之前,您需要了解有关实例的详细信息,例如要使用的实例概要文件或映像。 通过执行以下 API 调用来收集信息:
实例详细信息 | 列出选项 | API 规范文档 |
---|---|---|
图像 | GET /images |
列出所有图像 |
Profile | GET /instance/profiles |
列出所有实例概要文件 |
键 | GET /keys |
列出所有密钥 |
VPC | GET /vpcs |
列出所有 VPC |
子网 | GET /subnets |
列出所有子网 |
区域 | GET /regions/<region>/zones |
列出区域中的所有专区 |
放置组 | GET /placement_groups |
列出所有放置组 |
如果计划使用其他账户的快照,请首先确保已获得正确的 IAM 授权。 然后,联系快照的所有者,获取快照的 CRN。
使用应用程序接口创建实例
检索到所需的信息后,可以运行 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_crn
或 version_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'" } }'
从现有卷供应
复用现有可引导卷比从快照或映像创建新卷更快。
您可以通过将现有卷的 id
或 crn
子属性指定为 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"
}
}'
有关更多信息,请参阅 创建实例。
从快照复原引导卷并使用它来供应新实例
您可以从可引导快照 复原 引导卷,然后在供应实例时使用该引导卷。 可引导快照必须具有与实例概要文件相同的操作系统和体系结构。
在 POST /instances
请求中,在 source_snapshot
子属性中指定 boot_volume_attachment
属性和可引导快照标识。 或者,您也可以使用快照的名称或 CRN。 请参阅以下示例。
curl -X POST \
"$vpc_api_endpoint/v1/instances?version=2023-03-07&generation=2" \
-H "Authorization: $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 从快照复原卷。
创建具有保密计算功能的实例
选择可用性
使用英特尔 SGX for VPC 的保密计算仅在达拉斯(美国南部)和法兰克福(欧洲东部)地区提供。
要为实例提供保密计算,请添加 confidential_compute_mode
属性并将其设置为 sgx
或 tdx
。
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"
}'
使用 Terraform 创建虚拟服务器实例
您可以使用 Terraform 创建实例。 如果要使用用户标记或访问管理标记来管理资源,请参阅 使用标记。
准备工作
确保设置 Terraform for VPC。
创建专用目录
此步骤是可选的。 如果计划共享专用目录中的映像,那么必须首先创建专用目录。 如果选择属于其他帐户的目录映像,请查看 在 Terraform 中的专用目录中使用跨帐户映像引用 以了解更多注意事项和限制。 要创建专用目录,请参阅教程 使用 Terraform 加载虚拟服务器映像。
使用 Terraform 收集信息以创建实例
准备好创建实例了吗? 在运行 ibm_is_instance
命令之前,您需要了解实例的详细信息,如要使用的配置文件或映像。
使用 DataSource
命令收集以下信息。
-
收集实例概要文件详细信息。 对您选择的概要文件运行以下命令。 请参阅 x86 实例概要文件 以获取可用概要文件的列表。 有关更多信息,请参阅 ibm_is_instance_profiles 上的 Terraform 文档。 通过引用实例概要文件数据源来使用实例概要文件。 有关更多信息,请参阅 ibm_is_instance_profile 上的 Terraform 文档。
data "ibm_is_instance_profile" "example_profile" { name = "bx2-2x8" }
-
列出可用于创建实例的映像。 该命令取决于要使用的映像。 您可以使用库存映像,帐户中的定制映像或专用目录中与帐户共享的映像。 有关更多信息,请参阅 ibm_is_image 上的 Terraform 文档。 如果计划使用从专用目录共享的映像,请参阅 ibm_cm_version 或 ibm_cm_offering_instance 上的 Terraform 文档。
- 从实例的帐户中选择股票映像或定制映像。
data "ibm_is_image" "example_image" { name = "ibm-centos-7-6-minimal-amd64-2" }
- 选择从实例的专用目录共享的映像。 有关更多信息,请参阅 ibm_is_images 上的 Terraform 文档。 您可以从列表中选择图像以创建实例,如 使用 Terraform 部分来创建实例 部分中所示。
如果选择属于其他帐户的目录映像,那么需要查看更多注意事项和限制。 请参阅 在 Terraform 中的专用目录中使用跨帐户映像引用。
-
要列出所有可用的专用目录映像产品,请运行以下命令。
data "ibm_is_images" "example_images" { catalog_managed = true }
-
创建 VPC 资源或通过引用 VPC 数据源来使用现有 VPC。 有关更多信息,请参阅 ibm_is_vpc 上的 Terraform 文档。
resource "ibm_is_vpc" "example_vpc" { name = "example-vpc" }
-
创建子网资源或通过引用子网数据源来使用现有子网。 有关更多信息,请参阅 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" }
-
创建 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 密钥。 您可以使用 UI 生成新的 RSA 密钥对。 可以上传预先存在的 RSA 和 ED25519 SSH 密钥。 仅当操作系统支持此密钥类型时,才能使用 Ed25519。 Ed25519 不能与 Windows 或 VMware 映像配合使用。
-
创建 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 创建实例
使用下列其中一个示例来创建实例。 有关更多信息,请参阅 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] }
-
创建使用专用目录管理的映像的实例。
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] }