インスタンス・メタデータ・サービスの構成
メタデータ・サービスからインスタンス識別アクセス・トークンを取得して、メタデータ・サービスを構成します。 オプションで、アカウント内の 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から取得できます。
-
以下のコマンドは、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 も拒否されます。
-
以下のコマンドを使用して、メタデータ・サービスへの 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 を使用して、既存のインスタンスでメタデータ・サービスを有効にします。
-
インスタンスのリストに移動する。 IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > 仮想サーバーインスタンス をクリックします。
-
インスタンス名をクリックすると詳細ページに移動します。
-
詳細ページで、**「メタデータ」**までスクロールします。
-
トグルをクリックする(緑色に表示される)。
UIを使用して新しいインスタンスを作成する際に、メタデータ・サービスを有効にする
次の手順では、新しい仮想サーバーインスタンスを作成するときにメタデータサービスを有効にする方法を示します。
-
IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > 仮想サーバーインスタンス をクリックします。
-
「作成」 をクリックします。
-
「拡張オプション」 にナビゲートし、 「メタデータ」 を有効にします。
仮想サーバー・インスタンスの作成について詳しくは、『UI を使用した仮想サーバー・インスタンスの作成』を参照してください。
UIを使ってメタデータ・サービスを無効にする
この手順では、インスタンスで有効になっているメタデータ・サービスを無効にする方法を示します。 デフォルトでは、新しいインスタンスを作成するとメタデータ・サービスは無効になります。
-
IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > 仮想サーバーインスタンス をクリックします。
-
リストからインスタンスをクリックすると、その詳細ページに移動します。
-
**「メタデータ」**で、トグル・ボタンをクリックして (グレー表示) にします。
UIを使用してインスタンス・テンプレートのメタデータ・サービスを有効または無効にする
インスタンス・テンプレートを作成すると、メタデータ・サービスの有効化トグルがデフォルトで無効になります。 トグルをクリックしてサービスを有効にします。
既存のインスタンス・テンプレートの詳細を表示すると、そのテンプレートでメタデータが有効になっているかどうかが表示されます。 テンプレートの作成後にインスタンス・テンプレートのメタデータ設定を変更することはできません。
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
コマンドを実行して、インスタンス 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
または false
で metadata-service
パラメーターを指定して、メタデータ・サービスを有効または無効にすることができます。
これらのコマンドについて詳しくは、『VPC CLI リファレンス』を参照してください。 CLI からインスタンス・テンプレートを作成する方法について詳しくは、『インスタンス・テンプレートの作成』を参照してください。
API を使用したインスタンス・メタデータの有効化または無効化
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}
呼び出しを実行して、メタデータ・サービス設定を確認することもできます。
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 を使用した自動リンクの切り替え
インスタンス・メタデータ・サービスの自動リンクを切り替えることができます。 オートリンクが有効になっている場合、インスタンスがプロビジョンされると、指定された信頼できるプロファイルが仮想サーバー・インスタンスに自動的にリンクされます。 自動リンクを使用してプロビジョンされたインスタンスでは、信頼できるプロファイルは、始動時にインスタンスに対して即時に使用可能になります。 自動リンクが無効な場合、インスタンスで使用するには、指定された信頼済みプロファイルをインスタンスにリンクする必要があります。
インスタンスのプロビジョン時に自動リンクを切り替え インスタンスのプロビジョン時に自動リンクを切り替えるには、インスタンスのプロビジョン・ページの「メタデータ」ウィンドウで「セキュア・アクセス」設定にナビゲートします。 セキュア・アクセス・スイッチを切り替えて、 Enabled
が表示されるようにします。
UI を使用したセキュア・アクセスの有効化
インスタンス・メタデータ・サービスへのセキュア・アクセスを有効にすることができます。 セキュアアクセスを有効にすると、メタデータサービスは暗号化された HTTP セキュアプロトコル ( HTTPS ) によって、仮想サーバーインスタンスにのみアクセスできるようになります。 セキュアアクセスが無効になっている場合、メタデータサービスは、暗号化されていない HTTP プロトコルによって、仮想サーバーインスタンスのみにアクセスできます。 セキュアアクセスはデフォルトで無効になっている。
以下のシナリオでは、追加のプロパティーが必要になる場合があります。
- IBM Cloud CLI Virtual Server Instance for VPC のコンピュート・リソース ID ログイン方式を使用しています。 詳しくは、 仮想サーバー・インスタンス計算リソース ID としてのログイン を参照してください。
- インスタンス・メタデータ・サービスへのセキュア・アクセスが有効になっているインスタンス内で、 IBM Cloud SDK with VPC インスタンス認証 を使用しています。 詳しくは、 IBM Cloud Go SDK を参照してください。
インスタンスのプロビジョン時にセキュア・アクセスを有効にする
インスタンスのプロビジョニング時にセキュア・アクセスを有効にするには、 「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
.
.
.
自動リンクを無効にする
インスタンスのプロビジョニング時に、インスタンス・メタデータ・サービスの自動リンクを無効にすることができます。 トラステッド・プロファイルが選択されると、デフォルトで自動リンクが有効になります。 オートリンクが有効になっている場合、インスタンスがプロビジョンされると、指定された信頼できるプロファイルが仮想サーバー・インスタンスに自動的にリンクされます。 信頼できるプロファイルを自動リンクでプロビジョンされたインスタンスは、始動時に即時にインスタンスで使用可能になります。 自動リンクが無効な場合、インスタンスで使用するには、指定された信頼済みプロファイルをインスタンスにリンクする必要があります。
自動リンクを無効にするには、インスタンスのプロビジョニング時に --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 Secure protocol ( HTTPS ) によって仮想サーバーインスタンスにのみアクセスできるようになります。 セキュアアクセスが無効になっている場合、メタデータサービスは、暗号化されていない HTTP プロトコルによって仮想サーバーインスタンスのみにアクセスできます。 セキュアアクセスはデフォルトで無効になっている。
以下のシナリオでは、特定のプロパティーが必要になる場合があります。
- IBM Cloud CLI Virtual Server Instance for VPC のコンピュート・リソース ID ログイン方式を使用しています。 詳しくは、 仮想サーバー・インスタンス計算リソース ID としてのログイン を参照してください。
- インスタンス・メタデータ・サービスへのセキュア・アクセスが有効になっているインスタンス内で、 IBM Cloud SDK with 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 を使用したメタデータ・ホップ限界の設定
メタデータ・サービスからの 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 を使用した自動リンクの無効化
インスタンスのプロビジョニング時に、インスタンス・メタデータ・サービスの自動リンクを無効にすることができます。 トラステッド・プロファイルが選択されると、自動リンクが自動的に有効になります。 オートリンクが有効になっている場合、インスタンスがプロビジョンされると、指定された信頼できるプロファイルが仮想サーバー・インスタンスに自動的にリンクされます。 自動リンクを使用してプロビジョンされたインスタンスに関連付けられているトラステッド・プロファイルは、始動時に即時にそのインスタンスで使用可能になります。 自動リンクが無効な場合、インスタンスで使用するには、指定された信頼済みプロファイルをインスタンスにリンクする必要があります。
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 Secure protocol ( HTTPS ) によって仮想サーバーインスタンスにのみアクセスできるようになります。 セキュアアクセスが無効になっている場合、メタデータサービスは、暗号化されていない HTTP プロトコルによって仮想サーバーインスタンスのみにアクセスできます。 セキュアアクセスはデフォルトで無効になっている。 以下のシナリオでは、特定のプロパティーが必要になる場合があります。
- IBM Cloud CLI Virtual Server Instance for VPC のコンピュート・リソース ID ログイン方式を使用しています。 詳しくは、 仮想サーバー・インスタンス計算リソース ID としてのログイン を参照してください。
- インスタンス・メタデータ・サービスへのセキュア・アクセスが有効になっているインスタンス内で、 IBM Cloud SDK with 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 メソッド を呼び出し、 1
(デフォルト) と 64
の間の metadata_service.response_hop_limit
プロパティー値を指定します。
このプロパティーは、 metadata_service.enabled
を true
に設定してメタデータ・サービスが有効になっている場合にのみ適用されます。 デフォルトはfalse
です。
既存のインスタンスでのメタデータ・ホップ限界の設定
既存のインスタンスに応答ホップ限界を設定するには、 PATCH /instances/{id} メソッドを呼び出し、 1
(デフォルト) と 64
の間に metadata_service.response_hop_limit
プロパティー値を指定します。
インスタンス・メタデータのアクティビティ追跡イベント
アクティビティ・トラッキング・イベントは、 インスタンス・アクセスIDトークンを 取得し、 サービスを利用した ときにトリガーされます。 これらのイベントについて詳しくは、 インスタンス・メタデータ・サービス・イベント を参照してください。
次のステップ
インスタンスのIDアクセストークンを作成し、メタデータ・サービスを有効にすると、インスタンス、SSHキー、配置グループのメタデータを取得できます。 詳しくは、インスタンス・メタデータ・サービスの使用を参照してください。