予約済み IP アドレスをクラウド サービスに割り当てようとしています。データベースへの IP アクセスを制限するためにこの機能が必要です (いいえ、すべての Azure ノードにこのアクセスを許可したくありません)。また、静的 IP が必要な外部 API にもアクセスする必要があります。
ここまでで、クラウド サービス ソリューションを作成し、MVC Web ロールをソリューションに追加しました。Azure Powershell を使用して IP アドレスを取得し (GetAzureReservedIP を使用して成功を確認)、構成ファイル ServiceConfiguration.cloud.cscfg を更新しました。
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="TestApp" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-06.2.4">
<Role name="MvcWebRole">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=XYZ;AccountKey=XYZ" />
</ConfigurationSettings>
</Role>
<NetworkConfiguration>
<AddressAssignments>
<ReservedIPs>
<ReservedIP name="MyReservedIP"/>
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>
(明らかに、IP アドレスの名前が GetAzureReservedIP に示されているものとまったく同じであることを確認しました。)
この構成を使用して、ソリューションを新しいクラウド サービスにデプロイしましたが、予想される IP アドレスを受け取りませんでした。Visual Studio 2012 と Azure SDK 2.4 を使用しています。[ビルド] -> [Azure に公開] を選択して、Visual Studio から Azure にデプロイします。ここで、新しいクラウド サービスを作成し、[クラウド] サービス構成を選択します。
編集 データベースにアクセスできず (1 つの IP アドレスに対してのみ許可されている)、外部 Web サービスへの要求がブロックされているため、発信トラフィックに IP アドレスが使用されていないことがわかります。管理ポータルは、別の IP アドレスが使用されていることを示しています。