2017-06-29 1 views
0

問題:VMSSの一部としてN個のインスタンスが起動されたため、各Azureインスタンスのアプリケーションコードで他のピアインスタンスのIPアドレスを検出します。これはどうすればいいですか?Azure仮想マシンスケールセットのピアインスタンスの検出

全体の目的は、アクティブパッシブHAを提供するか、構成を同期させて維持するかのように、インスタンスをクラスタ化することです。

REST APIベースのクエリのためのいくつかのサポートがあるように思える:https://docs.microsoft.com/en-us/rest/api/virtualmachinescalesets/

はそれを行うには、他の方法を知りたい、すなわちいずれかのpython SDKまたはインスタンスのメタデータURLなど

答えて

1

RestAPIあなたは上記のPython SDKには、 "azure-mgmt-compute"クライアントがあります。

1

これを行うには、インスタンスメタデータを使用する方法があります。インスタンスメタデータには、実行中のVMに関する情報のみが表示されます。

curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute?api-version=2017-03-01" 
{"compute": 
{"location":"westcentralus","name":"imdsvmss_0","offer":"UbuntuServer","osType":"Linux","platformFaultDomain":"0","platformUpdateDomain":"0", 
"publisher":"Canonical","sku":"16.04-LTS","version":"16.04.201703300","vmId":"e850e4fa-0fcf-423b-9aed-6095228c0bfc","vmSize":"Standard_D1_V2"}, 
"network":{"interface":[{"ipv4":{"ipaddress":[{"ipaddress":"10.0.0.4","publicip":"52.161.25.104"}],"subnet":[{"address":"10.0.0.0","dnsservers":[],"prefix":"24"}]}, 
"ipv6":{"ipaddress":[]},"mac":"000D3AF8BECE"}]}} 

各VMは、外部サービスへのVM#0上のリスナーに情報を送る持っているようにあなたが何かをすることができ、またはあなたが普通株式にAzureのファイルと組み合わせると、各VMの出力を持つことができます。各VMの情報をAzureファイル共有に出力する、Azureテンプレートの概念証明があります。https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-azure-files-linux - 各VMには、すべてのVMによって書き込まれた情報を含むマウントポイントがあります。

関連する問題