IBM Cloud Docs
インスタンス・メタデータ・サービスの構成

インスタンス・メタデータ・サービスの構成

メタデータ・サービスからインスタンス識別アクセス・トークンを取得して、メタデータ・サービスを構成します。 オプションで、アカウント内の IAM 対応サービスにアクセスするための IAM アクセス・トークンをこのトークンから生成します。

インスタンスIDアクセストークンサービスを使用してメタデータサービスにアクセスする

インスタンス・メタデータ・サービスにアクセスするには、まず、インスタンス識別アクセス・トークン (JSON Web トークン) を取得する必要があります。 後でインスタンスのIDアクセストークンからIAMトークンを生成し、それを使ってIAM対応サービスにアクセスできる。

Windowsユーザーには、メタデータ・サービスをセットアップするための特別な要件がある。 詳細については、 メタデータ・サービスを使用するためのWindowsサーバーのセットアップを 参照してください。

インスタンス識別アクセス・トークンの概念

インスタンス・アイデンティティ・アクセストークンは、メタデータ・サービスにアクセスするためのセキュリティ・クレデンシャルを提供する。 これは、インスタンスに関する情報とトークン・リクエストで渡される情報に基づく一連のクレームを持つ署名付きトークンである。 インスタンス ID アクセス・トークン機能を使用するための最小バージョン日付は 2022-03-01 です。

インスタンスIDにアクセスするには、 メタデータ・サービスAPIに PUT /instance_identity/v1/token

curl -X PUT "http://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2025-04-22" -H "Metadata-Flavor: ibm" -d '{}'

インスタンスとメタデータ・サービスの間の通信がホストを離れることはありません。インスタンス内からトークンを取得します。 インスタンス・メタデータ・サービスへのセキュアなアクセスがインスタンスで有効になっている場合は、「http」プロトコルの代わりに「https」プロトコルを使用します。

リクエストでは、トークンの有効期限を指定できます。 デフォルトの有効期限は5分ですが、5秒から1時間の間で任意の値を指定できます。 セキュアアクセスが有効になっているホストの例を以下に示す。 この例では、トークンの有効期限を1時間としています。

curl -X PUT "https://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2025-04-22" -H "Metadata-Flavor: ibm" -d '{"expires_in": 3600}'

API レスポンスには、インスタンス ID アクセストークンが含まれます。 このトークンを使用して、メタデータ・サービスにアクセスします。

このトークンから IAM トークンを生成し、RIAS API を使用して IAM 対応サービスを呼び出すこともできます。 詳しくは、『インスタンス識別アクセス・トークンから IAM トークンを生成する』を参照してください。

インスタンスIDアクセストークンの取得

メタデータ・サービスAPIを使用して、 PUT /instance_identity/v1/token 、トークン・サービスからインスタンスIDアクセストークンを取得するリクエストを行う。

この例では、 cURL コマンドの返り値はインスタンス ID アクセストークンで、 jq によって抽出され、 instance_identity_token 環境変数に格納される。 この変数は、メタデータ・エンドポイントに到達するための、メタデータ・サービスへの GET 呼び出しで指定することができる。 詳しくは、実行中のインスタンスからのメタデータの取得を参照してください。

この例では、 jq をパーサーとして使用しています。 jq は、 MIT ライセンスの 下でライセンスされたサードパーティツールです。インスタンスの作成時に利用可能なすべての VPC イメージにプリインストールされているとは限りません。 使用する前に jq をインストールするか、お好みの他のパーサーを使用する必要があるかもしれません。

instance_identity_token=`curl -X PUT "https://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2024-11-12"\
  -H "Metadata-Flavor: ibm"\
  -d '{
        "expires_in": 3600
      }' | jq -r '(.access_token)'`

次の JSON レスポンスには、インスタンス ID アクセストークンの文字列、作成日時、有効期限日時、および設定した有効期限が表示されます。 トークンは 5 分後に有効期限が切れることに注意してください。

{
  "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IlZTSS1DUl91cy1lYXN0X2I5...",
  "created_at": "2024-11-12T11:08:39.363Z",
  "expires_at": "2024-11-12T11:13:39.363Z",
  "expires_in": 3600
}

インスタンス識別アクセス・トークンから IAM トークンを生成する

アカウントの IBM Cloud IAM対応サービスにアクセスするには、信頼できるプロファイル情報を使用して、インスタンスのIDアクセストークンからIAMトークンを生成できます。 IAMトークンを生成したら、 IBM Cloud Object Storage、Cloud Database Service、VPC APIなどのIAM対応サービスにアクセスするために使用できる。 トークンは複数回再利用できます。

POST /instance_identity/v1/iam_token 、信頼できるプロファイルのIDを指定する。 このリクエストは、インスタンス ID アクセストークンと、仮想サーバーインスタンスにリンクされている信頼済みプロファイルを使用して、IAM アクセストークンを生成します。 トラステッド・プロファイルは、インスタンスの作成時にリンクすることも、要求本体で指定することもできます。

インスタンス識別アクセス・トークンを渡して IAM トークンを生成するために使用される IAM API は、非推奨になっています。 ベータ・ユーザーは、 POST /instance_identity/v1/iam_token を使用して IAM トークンを生成するために、メタデータ・サービス API にマイグレーションする必要があります。

要求例:

iam_token=`curl -X POST "$vpc_metadata_api_endpoint/instance_identity/v1/iam_token?version=2024-11-12"\
   -H "Authorization: Bearer $instance_identity_token"\
   -d '{
       "trusted_profile": {
          "id": "Profile-8dd84246-7df4-4667-94e4-8cede51d5ac5"
       }
      }' | jq -r '(.access_token)'`

JSON 応答に IAM トークンが示されます。

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGVfYmVzdCI6I8...",
  "created_at": "2024-11-12T14:10:15Z",
  "expires_at": "2024-11-12T15:10:15Z",
  "expires_in": 3600
}

トラステッド・プロファイルについて詳しくは、『トラステッド・プロファイルを使用した IAM 対応サービスの呼び出し』を参照してください。

インスタンス ID アクセス・トークンを使用したインスタンス ID 証明書の生成

仮想サーバー・インスタンスと IBM Cloud® File Storage for VPC 共有の間で転送中の暗号化を正常に有効化して使用するには、インスタンス ID 証明書が必要です。 インスタンスのインスタンス ID 証明書を生成するには、インスタンス ID アクセス・トークンと証明書署名要求 (CSR) を指定して POST /instance_identity/v1/certificates 呼び出しを行います。

証明書署名要求 (CSR) は、オープン・ソースのコマンド・ライン・ツールキット OpenSSLから取得できます。

  1. 以下のコマンドは、openssl を使用して 証明書署名要求 (CSR) と RSA 鍵ペア を生成します。 コマンドを実行するときに、 '/C=US' の国別コード US を 2 桁の国別コードに置き換えます。

    openssl req -sha256 -newkey rsa:4096 -subj '/C=US' -out ./sslcert.csr -keyout file.key -nodes
    

    別のソフトウェアを使用して CSR を作成する場合、国別コード (C)、都道府県 (ST)、地域 (L)、組織名 (O)、組織単位 (OU) など、ロケーションに関する情報の入力を求めるプロンプトが出されることがあります。 これらの命名属性のいずれかを使用できます。 その他の命名属性 (例えば、共通名など) はすべて拒否されます。 共通名が指定された CSR は拒否されます。これは、メタデータ API に対して要求を行うと、インスタンス ID 値がインスタンス ID 証明書のサブジェクト共通名に適用されるためです。 拡張機能のある CSR も拒否されます。

  2. 以下のコマンドを使用して、メタデータ・サービスへの API 呼び出しを行う前に csr をフォーマットします。

    awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' sslcert.csr
    

その後、メタデータ・サービスに対して API 要求を行うことができます。 以下の例を参照してください。 csr 値は必須で、 expires_in 値はオプションです。 有効期限のデフォルト値は 3600 (1 時間) です。

curl -X POST "$vpc_metadata_api_endpoint/instance_identity/v1/certificates?version=2024-11-12" \
 -H "Authorization: Bearer $instance_identity_token" \
 -d '{ "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICnTCCAYUCAQAwWDELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCU1pbm5lc290YTES\nMBAGA1UEBwwJUm9jaGVzdGVyMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0\neSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYBvW12cKEkRUu\nyPScs7Xjwu/m+W8pZSQf9wrBa7DBVLFCdh440xOuSnIbsm+BNgYz4wL6/8la+N/K\nff06CdEwy9HLhPYc2z62tECxOBhI1G9gnsRUwb6WHNY71VulZs+37/9Mgd/eQy2n\nKHULNEU7sjNpLYoguKX8GRV3etKDp3tlFQmB6cNGOAgB3aQDmhdAh7K6oftesm0R\n8C7nmFA4SSjaI+855JxoxadlB2cCA5boaQ2gNO6YhYbtuTrMicQb0MTlZmacqzqP\nAxXWD3yFmAuUCpa2tBFBsavSW/kc52m4ldcO60U6hARvOxcXDqrbwu8r1ieY+tcZ\ncqjjBi99AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAgAqWjtH3yAsX8QfTa9Pv\n3kktYFQKFsBzntmFDdIrOkeGayWRCuSG06f3sHWH0RuGkpq1x/4bedjcyyNVSna7\nxYX6kPOQX5iqf9pISD7A0XIkfS6XAos7gOh/jadjtxSwPCkuztSqIPKObH9OClAE\nU1fYDEtZCaZxsUdLwWJwOzbsivT97g1UVnbJAEzAJrqyaV4cUbv/w/slytHF+GAg\nNoUvPD8NGOQ+VzuI2oQuK515cyHO1SXrJyvkEVwRVVr3SoasqqWIQRrIv6zgzgik\nLN+uQxpzL1EeTB8qKy7xjymo2y1PbmaZzVNQNaBnxJfLE522pfW69evBRJ1qhrby\nTQ==\n-----END CERTIFICATE REQUEST-----\n"}'

成功すると、新しい証明書の ID、作成時刻、有効期限などの情報が返されます。

{
  "certificates": [
    "-----BEGIN CERTIFICATE-----\nMIIDmTCCAoECFDGlhn2VlwNEQymsNpyt9rOiiiWDMA0GCSqGSIb3DQEBCwUAMIGJ\nMQswCQYDVQQGEwJVUzESMBAGA1UECAwJTWlubmVzb3RhMRIwEAYDVQQHDAlSb2No\nZXN0ZXIxDDAKBgNVBAoMA0lCTTEeMBwGA1UECwwVVmlydHVhbCBQcml2YXRlIENs\nb3VkMSQwIgYDVQQDDBtWUEMgRXhhbXBsZSBJbnRlcm1lZGlhdGUgQ0EwHhcNMjIx\nMTAxMTM1MDE0WhcNMjIxMTAxMTQyMDE0WjCBhzELMAkGA1UEBhMCVVMxEjAQBgNV\nBAgMCU1pbm5lc290YTESMBAGA1UEBwwJUm9jaGVzdGVyMQwwCgYDVQQKDANJQk0x\nHjAcBgNVBAsMFVZpcnR1YWwgUHJpdmF0ZSBDbG91ZDEiMCAGA1UEAwwZRXhhbXBs\nZSBTaGFyZSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBAM6JytY3R4zWo3zzw/dM9ldUw8TIDQ9dNt+0sm3bFHHlAXaSKvmI+Ls/uQoh\n9VPpRLTx+WyljnKNnkXC6BQOzlugjAfi8hE2f5CC0A0m58XcBiZqH5BwTeLI4vVZ\nO9pLySckkEtHcmFE4h70KS5+1jDApeOTTS6EJsQcal/AAVYg7PDyXr1jE2HTKxnt\nlXopB/+bvWmBQ2k50Km0h0D1n0Ipoqqwb1wwWCrzQ2ds2XNKCUGkCgN6buFiF2nN\nLYS1tsIaw6OsTx+VheNGlYdlOhMUVypCok9JQ85P4NU47O6YgITX1V63ewZBnn5p\napywqdg8K2X2YgU/tLdpl5Jz2ysCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEABuOX\npxGbBQPdG3VGkNCYScZUcxocqmx4mCegBFfv4PjWU2+eG+3JikB3YWwqD11hixQm\n5Qwge/zMXzuKPs5D4yyblpDJlq5Iz/0VMjEl2paCHg9nm5Z3QaSydFH3SCGwfvld\nRn9ib6DSw4a58hmqON+CiWUSSibQy46gUsqVvYhq2lJimejTAN2DlePY2su1xvNV\nAdmDjmvO7j7YV/eWk6r7OgcqtVaAovN3okaybwxf8sLAFxLzp/aUaqXL10qJ/ISz\nVL+UHN7t5WzjHdh2OjDXwz0BOyhdbjyNX8ptKd+E0O21PsFFe8ErfShDh00g/ERP\nzXuEUsCxzTyWRTm8GA==\n-----END CERTIFICATE-----\n",
    "-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIUDzQruKqvBY7+CS6DL0u93Na6cLMwDQYJKoZIhvcNAQEL\nBQAwgYExCzAJBgNVBAYTAlVTMRIwEAYDVQQIDAlNaW5uZXNvdGExEjAQBgNVBAcM\nCVJvY2hlc3RlcjEMMAoGA1UECgwDSUJNMR4wHAYDVQQLDBVWaXJ0dWFsIFByaXZh\ndGUgQ2xvdWQxHDAaBgNVBAMME1ZQQyBFeGFtcGxlIFJvb3QgQ0EwHhcNMjIxMTAx\nMDM0OTI5WhcNMjcxMDMxMDM0OTI5WjCBiTELMAkGA1UEBhMCVVMxEjAQBgNVBAgM\nCU1pbm5lc290YTESMBAGA1UEBwwJUm9jaGVzdGVyMQwwCgYDVQQKDANJQk0xHjAc\nBgNVBAsMFVZpcnR1YWwgUHJpdmF0ZSBDbG91ZDEkMCIGA1UEAwwbVlBDIEV4YW1w\nbGUgSW50ZXJtZWRpYXRlIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAxjvxOtSFKsJKl4teBLgkX4+myxhClz2Qmg5MnNQ+oyhyNrpYvjG3+O+DrSUK\nKTXzmWSkKU/6BKmHQPNdpd4ymbb0cG7wmpcU3YjjrSNFgd/o3CEK9M7+ofIuQtTX\nXNUQWX5rb3wBqEA1TWazVTZpphhhcGQ8u03VTKvoF4S2DI6L3brDJJ0w1DM9Isaa\nB2mS64VYMIj3jLry39ryGEoYq1a0tC4C9fET3V5NmUnIRNqVDnGGkYBy/57VRACU\nXxXcQuW6eoPYGk6Ho3eKly34eilF2n9xD/bB41R4NzaxO/0lHq+caI5r1WlnTXtF\nE8wLpFoYMkuC0qiKBesyuyef2QIDAQABo2YwZDAdBgNVHQ4EFgQU2MIYc9g4Z7Kj\n79u2HPGYyTk5QHwwHwYDVR0jBBgwFoAUVnTLKJHyjHUcRp22jx+d3uGqnrwwEgYD\nVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBADhOBfnBEaWVWCsZo3UR7UlP5/8i3mRgyFt4YkICPMacy2IcnDw8aoyjTO5b\n4BLO4J1m4AmcJnDJcFIEKLBSNbzsiDdP2rWIAAJKO4gKxdTArIuLgq7zrR74j46L\nn6IFwumKQRw0diGYD6wWIo/f9kGy1NQ46igmRYrEfzA5HWitEpF0mu6lz8mZ8m9s\na6CTEqwLFhP+qOcWtpGjNTa+OHENAmmAR4mR4Os4MsBBnb4RA//S/4suW419Cz8N\n1/Ul7KduYRKpRMSiS9YWbCvC5WiEvOvfp8Z4ecXlC+ohU5MLuCRPfP+blBvxNx2O\nsLotlbzDpim/gYiJCHgW3POlsLE=\n-----END CERTIFICATE-----\n"
  ],
  "created_at": "2024-11-12T13:50:14Z",
  "expires_at": "2024-11-12T14:50:14Z",
  "expires_in": 3600,
  "id": "9fd84246-7df4-4667-94e4-8ecde51d5ac5"
}

詳しくは、 転送中の暗号化-ファイル共有とホストの間のマウント接続の保護 を参照してください。

インスタンスの信頼済みプロファイルの作成

コンピュートリソースID用の信頼されたプロファイルは、 IBM Cloud® IAM IDを仮想サーバーインスタンスなどの IBM Cloud® リソースに割り当てるのに役立ちます。 IAM シークレットを管理してインスタンスに配布しなくても、インスタンスからすべての IAM 対応サービスを呼び出すことができます。 トラステッド・プロファイルは、インスタンス識別アクセス・トークンから IAM トークンを生成し、それをインスタンスにリンクするときに作成できます。 詳しくは、 トラステッド・プロファイルを使用した IAM 対応サービスの呼び出しを参照してください。

インスタンス・メタデータ・サービスの有効化または無効化

インスタンス・メタデータ・サービスはデフォルトで無効になっています。 インスタンスからメタデータを取得するには、VPC UI、CLI、または API を使用して、新規インスタンスまたは既存のインスタンスでサービスを有効にします。

UIを使用してインスタンス・メタデータを有効または無効にする

IBM Cloud® コンソールから、インスタンス・メタデータ・サービスを有効または無効にできます。

UIを使用して、既存のインスタンスのメタデータ・サービスを有効にする

UI を使用して、既存のインスタンスでメタデータ・サービスを有効にします。

  1. インスタンスのリストに移動する。 IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス をクリックします。

  2. インスタンス名をクリックすると詳細ページに移動します。

  3. 詳細ページで、**「メタデータ」**までスクロールします。

  4. トグルをクリックする(緑色に表示される)。

UIを使用して新しいインスタンスを作成する際に、メタデータ・サービスを有効にする

次の手順では、新しい仮想サーバーインスタンスを作成するときにメタデータサービスを有効にする方法を示します。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス をクリックします。

  2. 「作成」 をクリックします。

  3. インスタンスをプロビジョンします

  4. 「拡張オプション」 にナビゲートし、 「メタデータ」 を有効にします。

仮想サーバー・インスタンスの作成について詳しくは、『UI を使用した仮想サーバー・インスタンスの作成』を参照してください。

UIを使ってメタデータ・サービスを無効にする

この手順では、インスタンスで有効になっているメタデータ・サービスを無効にする方法を示します。 デフォルトでは、新しいインスタンスを作成するとメタデータ・サービスは無効になります。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス をクリックします。

  2. リストからインスタンスをクリックすると、その詳細ページに移動します。

  3. **「メタデータ」**で、トグル・ボタンをクリックして (グレー表示) にします。

UIを使用してインスタンス・テンプレートのメタデータ・サービスを有効または無効にする

インスタンス・テンプレートを作成すると、メタデータ・サービスの有効化トグルがデフォルトで無効になります。 トグルをクリックしてサービスを有効にします。

既存のインスタンス・テンプレートの詳細を表示すると、そのテンプレートでメタデータが有効になっているかどうかが表示されます。 テンプレートの作成後にインスタンス・テンプレートのメタデータ設定を変更することはできません。

CLI を使用したインスタンス・メタデータの有効化または無効化

CLI を使用して、新規インスタンスの作成時に、または既存のインスタンスで、メタデータ・サービスを有効にします。

始める前に

  1. CLI を使用する前に、IBM Cloud CLI および VPC CLI プラグインをインストールする必要があります。 詳しくは、CLI の前提条件を参照してください。

  2. IBM Cloud VPC を作成していることを確認します。

CLI を使用してインスタンスを作成するときのメタデータ・サービスの有効化または無効化

ibmcloud is instance-create コマンドを実行し、metadata-service プロパティーを true に設定します。 デフォルトでは、メタデータ・サービスは無効になっています。 応答では、 Metadata service enabledtrue に設定されています。

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 コマンドを実行して、インスタンス ID を指定します。 メタデータ・サービスを有効にするには、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 または falsemetadata-service パラメーターを指定して、メタデータ・サービスを有効または無効にすることができます。

これらのコマンドについて詳しくは、『VPC CLI リファレンス』を参照してください。 CLI からインスタンス・テンプレートを作成する方法について詳しくは、『インスタンス・テンプレートの作成』を参照してください。

API を使用したインスタンス・メタデータの有効化または無効化

APIを使用して新しいインスタンスを作成する際に、メタデータ・サービスを有効または無効にする

POST /instances 呼び出しを行って新規インスタンスを作成すると、メタデータ・サービスはデフォルトで無効になります。

metadata_service パラメーターを指定し、enabledtrue に設定することで、サービスを有効にすることができます。

この例では、インスタンスの作成時にメタデータ・サービスを有効にする方法を示します。

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} 呼び出しを実行して、メタデータ・サービス設定を確認することもできます。

APIを使用して新しいインスタンス・テンプレートを作成する際に、メタデータ・サービスを有効または無効にする

インスタンス・テンプレートを作成するときに、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 に設定して、新規インスタンス・テンプレートを作成します。

UI を使用したメタデータ設定の構成

UI を使用して、メタデータ・サービスの機能を構成できます。 メタデータ・サービスが有効になっている場合は、メタデータ・ウィンドウを展開して、メタデータ・サービス設定にアクセスします。

UI を使用した信頼できるプロファイルの選択

インスタンス・メタデータ・サービスの既存の信頼できるプロファイルを選択できます。

インスタンスをプロビジョンするときにトラステッド・プロファイルを選択する トラステッド・プロファイルを選択するには、「デフォルト・トラステッド・プロファイル」オプションにナビゲートし、既存のトラステッド・プロファイルのリストからトラステッド・プロファイルを選択します。

詳しくは、 インスタンスのトラステッド・プロファイルの作成 を参照してください。

UI を使用したセキュア・アクセスの有効化

インスタンス・メタデータ・サービスへのセキュア・アクセスを有効にすることができます。 セキュアアクセスを有効にすると、メタデータサービスは暗号化された HTTP セキュアプロトコル ( HTTPS ) によって、仮想サーバーインスタンスにのみアクセスできるようになります。 セキュアアクセスが無効になっている場合、メタデータサービスは、暗号化されていない HTTP プロトコルによって、仮想サーバーインスタンスのみにアクセスできます。 セキュアアクセスはデフォルトで無効になっている。

以下のシナリオでは、追加のプロパティーが必要になる場合があります。

インスタンスのプロビジョン時にセキュア・アクセスを有効にする

インスタンスのプロビジョニング時にセキュア・アクセスを有効にするには、 「VPC の仮想サーバー・インスタンス」 ページからインスタンスを 作成 するときに、「メタデータ」ウィンドウの「セキュア・アクセス」設定にナビゲートします。 セキュア・アクセス・スイッチを切り替えて、 Enabled が表示されるようにします。

既存のインスタンスでセキュア・アクセスを有効にする

既存のインスタンスでセキュア・アクセスを有効にするには、インスタンスの 「インスタンスの詳細」 ページの「セキュア・アクセス」設定にナビゲートします。

UI を使用したメタデータ・ホップ限界の設定

メタデータ・サービスからの IP 応答パケットのホップ限界を設定できます。 ホップ限界は、1 (デフォルト) から 64 までの任意の値にすることができます。 メタデータ・サービスが有効になっていなければならない。

インスタンスのプロビジョン時にメタデータ・ホップ限界を設定する

インスタンスをプロビジョンするときにホップ限界を設定するには、 「VPC の仮想サーバー・インスタンス」 ページからインスタンスを 作成 するときに、「メタデータ」ウィンドウの「ホップ限界」設定に移動します。 1 から 64 までのホップ限界値を指定してください。

既存のインスタンスでのメタデータ・ホップ限界の設定

既存のインスタンスでホップ制限を設定するには、 インスタンスの詳細ページのホップ制限設定に移動します。 1 から 64 までのホップ限界値を指定してください。

CLI を使用したメタデータ設定の構成

CLI を使用して、メタデータ・サービスの機能を有効または無効にすることができます。

以下の例は、メタデータ・サービスが有効になっているインスタンスを示しています。

$ ibmcloud is instance instance-name -q

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

.
.
.

CLI を使用したセキュア・アクセスの有効化

インスタンス・メタデータ・サービスへのセキュア・アクセスを有効にすることができます。 セキュアアクセスを有効にすると、メタデータサービスは暗号化された HTTP Secure protocol ( HTTPS ) によって仮想サーバーインスタンスにのみアクセスできるようになります。 セキュアアクセスが無効になっている場合、メタデータサービスは、暗号化されていない HTTP プロトコルによって仮想サーバーインスタンスのみにアクセスできます。 セキュアアクセスはデフォルトで無効になっている。

以下のシナリオでは、特定のプロパティーが必要になる場合があります。

インスタンスのプロビジョン時にセキュア・アクセスを有効にする

インスタンスをプロビジョンするときにセキュア・アクセスを有効にするには、 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 serviceprotocol サブプロパティーに値を指定します。

CLI を使用したメタデータ・ホップ限界の設定

メタデータ・サービスからの IP 応答パケットのホップ限界を設定するには、インスタンスの Metadata service プロパティーの Response hop limit サブプロパティーに、 1 (デフォルト) と 64 の間のホップ限界値を指定します。

インスタンスのプロビジョン時にメタデータ・ホップ限界を設定する

インスタンスをプロビジョンするときにメタデータ・ホップ限界を設定するには、 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 を使用したセキュア・アクセスの有効化

インスタンス・メタデータ・サービスへのセキュア・アクセスを有効にすることができます。 セキュアアクセスを有効にすると、メタデータサービスは暗号化された HTTP Secure protocol ( HTTPS ) によって仮想サーバーインスタンスにのみアクセスできるようになります。 セキュアアクセスが無効になっている場合、メタデータサービスは、暗号化されていない HTTP プロトコルによって仮想サーバーインスタンスのみにアクセスできます。 セキュアアクセスはデフォルトで無効になっている。 以下のシナリオでは、特定のプロパティーが必要になる場合があります。

インスタンスのプロビジョン時にセキュア・アクセスを有効にする

セキュア・アクセスを有効にするには、 POST /instances メソッドを使用してインスタンスをプロビジョンするときに、インスタンスの metadata_service.protocol プロパティーの値を指定します。 セキュア・アクセスの場合は、 https を指定します。 デフォルト設定は、暗号化されていない http です。

既存のインスタンスでセキュア・アクセスを有効にする

既存のインスタンスでセキュア・アクセスを有効にするには、 PATCH /instances/{id} メソッドを使用してインスタンスを更新します。 インスタンスの metadata_service.protocol プロパティーの値を指定します。 セキュア・アクセスの場合は、 https を指定します。 デフォルト設定は、暗号化されていない http です。

API を使用したメタデータ・ホップ限界の設定

metadata_service.response_hop_limit プロパティーを使用して、メタデータ・サービスからの IP 応答パケットのホップ限界を設定できます。

このプロパティーは、 metadata_service.enabledtrue に設定してメタデータ・サービスが有効になっている場合にのみ適用されます。 デフォルトはfalseです。

インスタンスのプロビジョン時にメタデータ・ホップ限界を設定する

インスタンスをプロビジョンするときに応答を設定するには、 POST /instances メソッド を呼び出し、 1 (デフォルト) と 64 の間の metadata_service.response_hop_limit プロパティー値を指定します。

このプロパティーは、 metadata_service.enabledtrue に設定してメタデータ・サービスが有効になっている場合にのみ適用されます。 デフォルトはfalseです。

既存のインスタンスでのメタデータ・ホップ限界の設定

既存のインスタンスに応答ホップ限界を設定するには、 PATCH /instances/{id} メソッドを呼び出し、 1 (デフォルト) と 64 の間に metadata_service.response_hop_limit プロパティー値を指定します。

インスタンス・メタデータのアクティビティ追跡イベント

アクティビティ・トラッキング・イベントは、 インスタンス・アクセスIDトークンを 取得し、 サービスを利用した ときにトリガーされます。 これらのイベントについて詳しくは、 インスタンス・メタデータ・サービス・イベント を参照してください。

次のステップ

インスタンスのIDアクセストークンを作成し、メタデータ・サービスを有効にすると、インスタンス、SSHキー、配置グループのメタデータを取得できます。 詳しくは、インスタンス・メタデータ・サービスの使用を参照してください。