配置元数据服务
通过从元数据服务获取身份访问令牌来配置元数据服务。 (可选) 根据此令牌生成 IAM 访问令牌,以访问帐户中支持 IAM 的服务。
启用或禁用元数据服务访问权限
元数据服务的访问默认为禁用。 要从实例中检索元数据,请使用 VPC UI、CLI 或 API 在新实例或现有实例上启用对服务的访问。
在控制台中启用对元数据服务的访问
通过 IBM Cloud® 控制台,可以启用或禁用对元数据服务的访问。
在控制台中为现有实例启用元数据服务访问权限
使用用户界面在现有实例上启用对元数据服务的访问。
- 
                  转至实例列表。 在 IBM Cloud 控制台,单击 导航菜单 图标 > 基础架构 > 计算 > 虚拟服务器实例。 
- 
                  单击实例的名称以转至详细信息页面。 
- 
                  在详细信息页面上,滚动到 元数据。 
- 
                  单击开关 (显示为绿色)。 
在控制台创建实例时启用对元数据服务的访问
以下步骤说明了如何在创建虚拟服务器实例时启用对元数据服务的访问。
- 
                  在 IBM Cloud 控制台,单击 导航菜单 图标 > 基础架构 > 计算 > 虚拟服务器实例。 
- 
                  单击创建。 
- 
                  供应实例。 
- 
                  浏览至 高级选项 并启用 元数据。 
有关创建虚拟服务器实例的更多信息,请参阅 在控制台中创建虚拟服务器实例。
在控制台中禁用对元数据服务的访问
此步骤说明了如何禁用已启用元数据服务的实例对元数据服务的访问。 默认情况下,创建新实例时会禁用对元数据服务的访问。
- 
                在 IBM Cloud 控制台,单击 导航菜单 图标 > 基础架构 > 计算 > 虚拟服务器实例。 
- 
                单击列表中的实例以转至其详细信息页面。 
- 
                在 元数据下,单击关闭的切换按钮 (显示为灰色)。 
在控制台中启用或禁用访问实例模板上的元数据服务
创建 实例模板 时,默认禁用元数据服务切换。 单击切换按钮启用对服务的访问。
查看现有实例模板的详细信息时,页面会显示该模板是否启用了元数据服务。 创建模板后,无法更改实例模板元数据设置。
通过 CLI 启用或禁用对元数据服务的访问
创建新实例时或在现有实例上使用 CLI 启用对元数据服务的访问。
开始之前:
- 
                在使用 CLI 之前,您必须安装 IBM Cloud CLI 和 VPC CLI 插件。 有关更多信息,请参阅 CLI 先决条件。 
- 
                确保您已创建 IBM Cloud VPC。 
从 CLI 创建实例时,启用或禁用对元数据服务的访问
运行 ibmcloud is instance-create 命令并将 metadata-service 属性设置为 true。 元数据服务的访问默认为禁用。 在响应中,您将看到 Metadata service enabled 设置为 true。
ibmcloud is instance-create test-instance-1 7002c1cd-9b0b-43ee-8112-5124dedbe84b us-south-1  bx2-2x8  0711-08206578-d749-49ea-86c9-1014622d1c6f --image-id 9f0050d0-636b-4fe6-82ea-931664fd9d91 --metadata-service true
Creating instance test under account VPC1 as user myuser@mycompany.com...
ID                         264060c2-e5e9-44d4-994f-eea4a6688172
Name                       test-instance-1
CRN                        crn:v1:public:is:us-south-1:a/a1234567::instance:264060c2-e5e9-44d4-994f-eea4a6688172
Status                     pending
Startable                  true
Profile                    bx2-2x8
Architecture               amd64
vCPUs                      2
Memory(GiB)                8
Bandwidth(Mbps)            4000
Metadata service enabled   true
Image                      ID                                          Name
                           9f0050d0-636b-4fe6-82ea-931664fd9d91        ibm-ubuntu-20-04-minimal-amd64-1
VPC                        ID                                          Name
                           7002c1cd-9b0b-43ee-8112-5124dedbe84b        test-vpc1
Zone                       us-south-1
Resource group             ID                                  Name
                           21cabbd983d9c4beb82690daab08717e8   Default
Created                    2022-08-08T22:12:11+05:30
Boot volume                ID   Name           Attachment ID                               Attachment name
                           -    PROVISIONING   954c1c47-906d-423f-a8c8-dd3adfafd278        my-vol-attachment1
通过 CLI 启用或禁用现有实例的元数据服务访问权限
运行 ibmcloud is instance-update 命令并指定实例标识。 若要启用访问元数据服务,请将 metadata-service 参数设置为 true;若要禁用,请将其设置为 false。 启用服务访问的命令示例如下:
ibmcloud is instance-update e219a883-41f2-4680-810e-ee63ade35f98 --metadata-service true
从 CLI 创建新实例模板时,启用或禁用对元数据服务的访问
从 CLI 创建 实例模板 时,可以指示是否收集基于此模板创建的实例的元数据。
使用 ibmcloud is instance-create-from-template 命令,指定 --metadata-service true 选项启用或 --metadata-service false 选项禁用。 设置模板值后,无法对其进行更改。
例如,要创建一个启用了元数据服务访问权限的实例模板,请运行此命令:
ibmcloud is instance-template-create my-template-name {template_id} us-south-1 mx2-2x16 {subnet_id} --image-id {image_id} --metadata-service true
使用该模板创建实例时,请再次指定 --metadata-service true 选项,以启用对新实例服务的访问:
ibmcloud is instance-create-from-template --template-id {template_id} --name my-instance --metadata-service true
如果通过运行 ibmcloud is instance-template-create-override-source-template 命令覆盖实例模板,则可以通过 true 或 false 指定 --metadata-service 选项,启用或禁用对元数据服务的访问。
有关这些命令的更多信息,请参阅 VPC CLI 参考。 有关从 CLI 创建实例模板的更多信息,请参阅 创建实例模板。
使用 API 启用或禁用对元数据服务的访问
使用应用程序接口创建新实例时,启用或禁用对元数据服务的访问
通过 POST /instances 调用创建实例时,默认情况下会禁用对元数据服务的访问。
您可以通过指定 metadata_service 参数并将 enabled 设置为 true 来启用对元数据服务的访问。
此示例显示了在创建实例时启用对元数据服务的访问:
curl -X POST "$vpc_api_endpoint/v1/instances?version=2024-11-12&generation=2"\
-H "Authorization: Bearer $iam_token"\
-d '{
      "image": {
         "id": "9aaf3bcb-dcd7-4de7-bb60-24e39ff9d366"
      },
      "keys": [
         {
           "id": "363f6d70-0000-0001-0000-00000013b96c"
         }
      ],
      "name": "my-instance",
      "metadata_service": {
         "enabled": true
      },
      .
      .
      .
   }'
响应显示,在启用访问服务时,元数据参数被设置为 true。 您还可以通过发出 GET /instance/{id} 调用来验证元数据服务设置。
使用 API 启用或禁用对现有实例的元数据服务访问
要启用或禁用现有实例对服务的访问,请发送 PATCH /instance/{instance_id} 请求并指定 metadata_service 参数。 默认情况下,enabled 属性设置为 false。 要启用对服务的访问,请将其设置为 true。
此调用示例显示了对实例元数据服务的访问:
curl -X PATCH "$vpc_api_endpoint/v1/instances/$instance_id?version=2024-11-12&generation=2"\
    -H "Authorization: Bearer $iam_token"\
    -d '{
          "metadata_service": {
            "enabled": true
          }
      }'
响应显示,在启用访问服务时,元数据参数被设置为 true。 您还可以通过发出 GET /instance/{id} 调用来验证元数据服务设置。
使用应用程序接口创建新实例模板时,启用或禁用对元数据服务的访问
创建实例模板时,可通过 POST /instance/templates 请求设置该值。 默认情况下,enabled 属性设置为 false。 要将其启用,请将其设置为 true。
例如,
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2024-11-12&generation=2"\
    -H "Authorization: Bearer $iam_token"\
    -d '{
         "image": {
           "id": "3f9a2d96-830e-4100-9b4c-663225a3f872"
         },
         "keys": [
           {
             "id": "363f6d70-0000-0001-0000-00000013b96c"
           }
         ],
         "name": "my-instance-template",
         "metadata_service": {
             "enabled": true
         },
         "primary_network_interface": {
           "subnet": {
             "id": "0d933c75-492a-4756-9832-1200585dfa79"
           }
         },
         "profile": {
           "name": "bx2-2x8"
         },
         "vpc": {
           "id": "dc201ab2-8536-4904-86a8-084d84582133"
         },
         "zone": {
           "name": "us-south-1"
         }
       }'
创建实例模板后,无法使用 API 来更改 metadata-service 设置。 如果禁用了模板的服务访问权限,请创建一个新的实例模板,并将 metadata-service enabled 设置为 true。
在控制台配置元数据设置
您可以在控制台中配置元数据服务的功能。 启用元数据服务访问后,展开元数据窗口即可访问元数据服务设置。
在控制台中选择受信任的配置文件
您可以为元数据服务选择一个现有的受信任配置文件。
供应实例时选择可信概要文件 要选择可信概要文件,请浏览至“缺省可信概要文件”选项,并从预先存在的可信概要文件列表中选择可信概要文件。
有关更多信息,请参阅 为实例创建可信概要文件。
在控制台中切换自动链接
您可以切换元数据服务的自动链接。 启用自动链接时,当供应实例时,指定的可信概要文件将自动链接到虚拟服务器实例。 在使用自动链接供应的实例上,可信概要文件可供实例在启动时立即使用。 禁用自动链接时,必须将指定的受信任配置文件链接到实例,实例才能使用该配置文件。
供应实例时切换自动链接 要在供应实例时切换自动链接,请浏览至实例供应页面上“元数据”窗口中的“安全访问”设置。 切换安全访问开关,使其显示 Enabled。
在控制台中启用安全访问
您可以启用对元数据服务的安全访问。 启用安全访问后,元数据服务只能通过加密的 HTTP 安全协议 ( HTTPS ) 访问虚拟服务器实例。 当安全访问被禁用时,元数据服务只能通过未加密的 HTTP 协议由虚拟服务器实例访问。 安全访问默认为禁用。
在以下场景中可能需要其他属性:
- 您正在使用 IBM Cloud CLI Virtual Server Instance for VPC 计算资源身份登录方法。 有关更多信息,请参阅 以虚拟服务器实例计算资源身份登录。
- 您正在一个启用了安全访问元数据服务的实例内使用 IBM Cloud SDK 和 VPC 实例身份验证。 有关更多信息,请参阅 IBM Cloud Go SDK
在供应实例时启用安全访问
要在供应实例时启用安全访问,请在从“VPC 的虚拟服务器实例”页面 创建 实例时浏览到“元数据”窗口中的“安全访问”设置。 切换安全访问开关,使其显示 Enabled。
对现有实例启用安全访问
要对现有实例启用安全访问,请浏览至实例的“实例详细信息”页面上的“安全访问”设置。
在控制台中设置元数据跳数限制
您可以设置来自元数据服务的 IP 响应包的中继段限制。 中继段限制可以是从 1 (缺省值) 到 64 的任何值。 必须启用对元数据服务的访问。
在供应实例时设置元数据中继段限制
要在供应实例时设置中继段限制,请在从“VPC 的虚拟服务器实例”页面 创建 实例时转至“元数据”窗口中的中继段限制设置。 指定介于 1 与 64 之间的中继段限制值。
对现有实例设置元数据中继段限制
要在现有实例上设置跳转限制,请前往实例详情页面上的跳转限制设置。 指定介于 1 与 64 之间的中继段限制值。
使用 CLI 配置元数据设置
您可以使用 CLI 来启用和禁用元数据服务的功能。
下面的示例显示了一个已启用元数据服务访问的实例。
ibmcloud is instance instance-name
ID                                    0716_9cc6d74d-4b77-4cca-b1f4-31cc6edefe01
Name                                  instance-name
CRN                                   crn:v1:bluemix:public:is:us-south-1:a/a1234567::instance:0716_9cc6d74d-4b77-4cca-b1f4-31cc6edefe01
Status                                running
Availability policy on host failure   restart
Startable                             true
Profile                               bx2-2x8
Architecture                          amd64
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-1025e040-7d6f-408c-b4db-6156dc986fc7   ibm-ubuntu-22-04-1-minimal-amd64-2
Numa Count                            1
VPC                                   ID                                          Name
                                      r006-ac1c1ae4-5573-42eb-9194-854c9a3d5555   fode
.
.
.
禁用自动链接
在配置实例时,可以禁用元数据服务的自动链接。 缺省情况下,当选择可信概要文件时,将启用自动链接。 启用自动链接时,当供应实例时,指定的可信概要文件将自动链接到虚拟服务器实例。 使用可信概要文件的自动链接供应的实例在启动时可供实例立即使用。 禁用自动链接时,必须将指定的受信任配置文件链接到实例,实例才能使用该配置文件。
要禁用自动链接,请在供应实例时将 --default-trusted-profile-auto-link 选项设置为 true。 以下示例显示了自动链接设置为 false 的供应命令实例。
ibmcloud is instance-create .... --default-trusted-profile "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5" --default-trusted-profile-auto-link false
使用 CLI 启用安全访问
您可以启用对元数据服务的安全访问。 启用安全访问后,元数据服务只能通过加密的 HTTP 安全协议 ( HTTPS ) 访问虚拟服务器实例。 当安全访问被禁用时,元数据服务只能通过未加密的 HTTP 协议由虚拟服务器实例访问。 安全访问默认为禁用。
在以下场景中可能需要某些属性:
- 您正在使用 IBM Cloud CLI Virtual Server Instance for VPC 计算资源身份登录方法。 有关更多信息,请参阅 以虚拟服务器实例计算资源身份登录。
- 您正在一个启用了安全访问元数据服务的实例内使用 IBM Cloud SDK 和 VPC 实例身份验证。 有关更多信息,请参阅 IBM Cloud Go SDK。
在供应实例时启用安全访问
要在供应实例时启用安全访问,请在使用 instance-create 命令时指定 --metadata-service-protocol 选项的值。 对于安全访问,请指定 https。 缺省设置为未加密 http。
ibmcloud is instance-create INSTANCE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET ... [--metadata-service-protocol http | https] ...
--metadata-service-protocol value : The communication protocol to use for the metadata service
  endpoint. Applies only when the metadata service is enabled. One of: http, https. (default: "http")
要对现有实例启用安全访问,请在使用 instance-update 命令时为 metadata service 的 protocol 子属性指定值。
使用 CLI 设置元数据中继段限制
通过对实例的 Metadata service 属性的 Response hop limit 子属性指定介于 1 (缺省值) 与 64 之间的中继段限制值,可以为来自元数据服务的 IP 响应包设置中继段限制。
在供应实例时设置元数据中继段限制
要在供应实例时设置元数据中继段限制,请在使用 instance-create 命令时为 --metadata-service-response-hop-limit 选项指定 1 (缺省值) 和 64 之间的中继段限制值。
ibmcloud is instance-create INSTANCE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET ... [--metadata-service-response-hop-limit METADATA-SERVICE-RESPONSE-HOP-LIMIT] ...
--metadata-service-response-hop-limit value : The hop limit (IP time to live) for IP response packets
  from the metadata service. (default: 1)
使用 API 配置元数据设置
您可以使用 API 来启用和禁用元数据服务的功能。
使用 API 禁用自动链接
在配置实例时,可以禁用元数据服务的自动链接。 选择可信概要文件时,将自动启用自动链接。 启用自动链接时,当供应实例时,指定的可信概要文件将自动链接到虚拟服务器实例。 与使用自动链接供应的实例关联的可信概要文件在启动时立即可供该实例使用。 禁用自动链接时,必须将指定的受信任配置文件链接到实例,实例才能使用该配置文件。
要使用 API 禁用自动链接,必须将 default_trusted_profile 属性的 auto_link 值设置为 false。 以下示例显示禁用了 auto_link 选项的 default_trusted_profile 属性。
"default_trusted_profile": {
      "auto_link": false,
   "target": {
       "id": "Profile-9fd84246-7df4-4667-94e4-8ecde51d5ac5"
   }
  },
使用 API 启用安全访问
您可以启用对元数据服务的安全访问。 启用安全访问后,元数据服务只能通过加密的 HTTP 安全协议 ( HTTPS ) 访问虚拟服务器实例。 当安全访问被禁用时,元数据服务只能通过未加密的 HTTP 协议由虚拟服务器实例访问。 安全访问默认为禁用。 在以下场景中可能需要某些属性:
- 您正在使用 IBM Cloud CLI Virtual Server Instance for VPC 计算资源身份登录方法。 有关更多信息,请参阅 以虚拟服务器实例计算资源身份登录。
- 您正在一个启用了安全访问元数据服务的实例内使用 IBM Cloud SDK 和 VPC 实例身份验证。 有关更多信息,请参阅 IBM Cloud Go SDK。
在供应实例时启用安全访问
要启用安全访问,使用 POST /instances 方法供应实例时,请为实例的 metadata_service.protocol 属性指定值。 对于安全访问,请指定 https。 缺省设置为未加密 http。
对现有实例启用安全访问
要对现有实例启用安全访问,请使用 PATCH /instances/{id} 方法来更新实例。 为实例的 metadata_service.protocol 属性指定值。 对于安全访问,请指定 https。 缺省设置为未加密 http。
使用 API 设置元数据中继段限制
您可以使用 metadata_service.response_hop_limit 属性来设置来自元数据服务的 IP 响应包的中继段限制
该属性仅适用于通过将 metadata_service.enabled 设置为 true 而启用访问元数据服务的情况。 缺省值为 false。
在供应实例时设置元数据中继段限制
要在供应实例时设置响应,请调用 POST /instances method 方法,并指定 1 (缺省值) 和 64 之间的 metadata_service.response_hop_limit 属性值。
该属性仅适用于通过将 metadata_service.enabled 设置为 true 而启用访问元数据服务的情况。 缺省值为 false。
对现有实例设置元数据中继段限制
要对现有实例设置响应中继段限制,请调用 PATCH /instances/{id} 方法,并指定 1 (缺省值) 与 64 之间的 metadata_service.response_hop_limit 属性值。
后续步骤
创建身份访问令牌并启用对元数据服务的访问后,就可以检索实例、SSH 密钥和放置组的元数据。 更多信息,请参阅 使用元数据服务。