IBM Cloud Docs
インスタンス・メタデータ・サービスを使用するための Windows サーバーのセットアップ

インスタンス・メタデータ・サービスを使用するための Windows サーバーのセットアップ

Windowsサーバーからインスタンス・メタデータにアクセスするには、デフォルト・ゲートウェイを見つけ、ルートを追加する追加要件がある。

概要

Windowsでメタデータ・サービスを使うには、メタデータのリンク・ローカル・アドレスへのデフォルト・ルートを設定する。 そのためには、デフォルトゲートウェイのIPアドレスを特定し、リンクローカルアドレスにルートを追加する必要がある。 この初期セットアップの後、インスタンス・メタデータにアクセスするための呼び出しを実行します。

このトピックの情報は、別個のステップとして示されています。 多くの場合、すべてのステップを単一プロセスで実行する cloudbaseinit 自動化プロセスをセットアップします。 必要事項を説明するために例が示されていますが、他の方法を使用してデフォルト・ゲートウェイを取得し、経路を追加することもできます。

ステップ 1 - デフォルト・ゲートウェイの IP を見つける

管理者として実行し、デフォルト・ゲートウェイの IP を見つけます。 Powershell の Get-NetRoute コマンドを使用すると便利です。

PowerShell Get-NetRoute コマンドレットを使用して、デフォルト ゲートウェイの IP を検索します。 このコマンドにより、デフォルト経路 (デフォルト・ゲートウェイとも呼ばれる) のネクスト・ホップを取得します。 のWindows Powershellドキュメントを参照してください。 Get-NetRoute.

Windows ターミナルから、以下の例では、デフォルト IP ルートを取得するために Powershell Get-NetRoute コマンドを呼び出し、ルートを SelectObject コマンドレットに渡し、各デフォルトルートの NextHop プロパティを表示します。

C:\> powershell "Get-NetRoute -DestinationPrefix "0.0.0.0/0" | Select-Object -ExpandProperty "NextHop""

最初に検索されるIPアドレスはデフォルト・ルートである。 出力を変数に保管します。

ステップ 2: デフォルト・ゲートウェイに経路を追加する

メタデータ・サービスは、リンク・ローカル・アドレス( 169.254.169.254 )を使用して、 サービスへのアクセスを設定 し、 インスタンスからメタデータを取得する

リンクローカルアドレスがデフォルトゲートウェイに到達できるように、デフォルトルートを設定する。 Windows 端末または Powershell 端末から、次のように指定します。

C:> route -p add 169.254.169.254 MASK 255.255.255.255 $DEFAULT_GATEWAY

A Python 自動化スクリプトには、次のようなコードが含まれる場合があります。

command = 'route -p add 169.254.169.254 MASK 255.255.255.255 ()'.format(default_gateway)

これらの例では route コマンドを使用しますが、Powershell の New-NetRoute コマンドを使用して、単一のコマンドで経路をパイピングすることもできます。 例えば、単一のコマンドでステップ 1 とステップ 2 を組み合わせるには、次のように指定できます。

C:\> powershell "Get-NetRoute -DestinationPrefix "0.0.0.0/0" | Select-Object -ExpandProperty "NextHop" | New-NetRoute"

経路を追加するには、Windows サーバーで管理者として実行する必要があります。

ステップ 3: インスタンス・メタデータをプログラムで取得する

デフォルト・ゲートウェイにルートを追加した後、リンクローカル・アドレスを使用してインスタンスのメタデータにアクセスできます。 curl など、ネットワーク経由でデータを転送するお好みのツールを使用して、オートメーション・スクリプトを構築します。

メタデータ・サービス API を呼び出してデータを取得する curl コマンドを確認するには、実行中の仮想サーバー・インスタンスからのインスタンス・メタデータの取得を参照してください。

次のステップ

インスタンス・メタデータ・サービスを使用します