2

クラウド サービスを特定の仮想ネットワークに関連付けると、インスタンスは選択されたサブネット範囲から IP を自動的に取得します。

この IP をインスタンス自体から動的に知る方法はありますか? もしそうなら、この情報はインスタンスが作成されるとすぐに利用できますか? たとえば、スタートアップ タスクが実行されるときなどに利用できますか?

そうでない場合、インスタンスが作成された後、インスタンスの外部からプログラムでいつでもこの IP を取得する方法はありますか?

私は PowerShell ソリューションを好みますが、何でも構いません。

ありがとう。

4

1 に答える 1

1

インスタンスからの場合、IP アドレスは起動時に割り当てられます。そのため、スタートアップ タスク (PaaS / クラウド サービス) が実行されるまでには、ネットワーク カードを列挙するだけで IP アドレスを特定できます。または IP エンドポイントを取得します。

サンプル PowerShell (テストされたことがない) は次のようになります。

[Reflection.Assembly]::LoadWithPartialName("Microsoft.WindowsAzure.ServiceRuntime")
$ipEndpoint = [Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment]::CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint

これで、VM のローカル IP アドレスを保持する$ipEndpoint.NET タイプの変数ができました。IPEndpoint

于 2013-06-03T08:47:11.570 に答える