Traffic Manager で外部エンドポイントを指定する

日山(@hiiyan0402)です。 今回は Traffic Manager での外部エンドポイント指定方法を紹介します。


Traffic Manager が外部エンドポイントをサポートしました

2014/05/12 のアップデートで Traffic Manager が外部エンドポイントをサポートしました。

http://azure.microsoft.com/en-us/updates/traffic-manager-support-for-external-endpoints/

今までは、Traffic Manager で指定できるエンドポイント(負荷分散先)は、同じサブスクリプションのクラウドサービスやWebサイトのみでした。
しかし、今回のアップデートで、自由にエンドポイントを指定することができるようになりました。例えば、他のサブスクリプションや、オンプレミス、AWS や Google Cloud Platform などの他のクラウドサービスに対して負荷分散させることができます。
まだリリースされたばかりということで、管理ポータルでは設定することができません (2014/05/25時点)。Azure PowerShell を使用して設定する必要があります。

そもそも Traffic Managaer ってなに?

負荷分散サービスです。
エンドポイントを複数指定しておくことで、以下の3通りの方式で、通信を負荷分散することができます。

パフォーマンス 地理的に最も近いサービスを選択します。複数のデータセンタにサービスを展開する場合に使用します。
ラウンドロビン 各エンドポイントを均等に選択します。正確に負荷分散したいときに使用します。
フェイルオーバ 応答が返ってこないエンドポイントを選択しないようにします。サービスの可用性を向上させる場合に使用します。

Traffic Manager で外部エンドポイントを指定する

Azure Power Shell をインストール

まず、Azure Power Shell (バージョンは0.8.2) をインストールします。
以下のページの画面下に、[コマンドラインツール] > [Windows PowerShell] > [インストール] のリンクをクリックして、Web Platform Installer でインストールをしてください。
http://azure.microsoft.com/ja-jp/downloads/
2014052501

発行プロファイルをインポートする

Azure Power Shell を起動します。

2014052502

以下のコマンドを実行すると、Azure 上のサービスを Power Shell で操作するために必要な、発行プロファイルをダウンロードするページが開かれて、自動的にダウンロードが開始されます。

PS C:> Get-AzurePublishSettingsFile

発行プロファイルをダウンロードしたら、以下のコマンドを実行して、インポートします。

PS C:> Import-AzurePublishSettingsFile [ダウンロードした発行プロファイルのパス]

Traffic Manager に外部エンドポイントを追加する

Traffic Manager 一覧を表示して、対象を確認します。

PS C:> Get-AzureTrafficManagerProfile
Name                  DomainName                               Status
----                  ----------                               ------
samplehiiyan0525      samplehiiyan0525.trafficmanager.net      Enabled

もし Traffic Manager を削除していなければ、以下のコマンドで作成します。

PS C:> New-AzureTrafficManagerProfile -Name "samplehiiyan0525" -DomainName "samplehiiyan0525.trafficmanager.net" -LoadBalancingMethod "RoundRobin" -Ttl 30 -MonitorProtocol "Http" -MonitorPort 80 -MonitorRelativePath "/"

今回は、Traffic Manager “samplehiiyan0525″ に、”www.cloud-config.jp” を指定します。このエンドポイントは、Azure上で稼働しているものの、別のサブスクリプションとなっています。

PS C:> $profile = Get-AzureTrafficManagerProfile -Name "samplehiiyan0525"
PS C:> Add-AzureTrafficManagerEndpoint -TrafficManagerProfile $profile -Name "samplehiiyan0525" -DomainName "www.cloud-config.jp" -Type "Any" -Status "Enabled" | Set-AzureTrafficManagerProfile

TimeToLiveInSeconds : 300
MonitorRelativePath : /
MonitorPort         : 80
MonitorProtocol     : Http
LoadBalancingMethod : Failover
Endpoints           : {http://www.cloud-config.jp/}
MonitorStatus       : Inactive
Name                : samplehiiyan0525
DomainName          : samplehiiyan0525.trafficmanager.net
Status              : Enabled

これで設定完了です。
コマンドレットの詳細は、以下を確認して下さい。
http://msdn.microsoft.com/ja-jp/library/azure/dn690250.aspx

TechTarget

クラウドエンジニア  日山 雅之による記事「Microsoft Azure スマート解説」がTechTarget Japanにて好評連載中です (全7回)