IBM Cloud Docs
メタデータ・サービスを使用するためのウィンドウズ仮想サーバーの設定

メタデータ・サービスを使用するためのウィンドウズ仮想サーバーの設定

Windows仮想サーバーからメタデータにアクセスするには、デフォルトゲートウェイの場所を特定し、ルートを追加する追加要件がある。

概要

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

このトピックの情報は、別個のステップとして示されています。 多くの場合、すべてのステップを単一プロセスで実行する 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

次のコード例は、 Python 自動化スクリプトのものです:

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

これらの例では、 route コマンドを使用していますが、Powershell New-NetRoute コマンドを使用して、1つのコマンドでルートをパイプすることもできます。 ステップ1と2を1つのコマンドにまとめるには、次のように指定する:

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

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

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

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

メタデータ・サービスAPIを呼び出してデータを取得するための curl コマンドについては、 インスタンスからメタデータを取得するを 参照してください。