Azure API Management の IP アドレス

適用対象: すべての API Management レベル

この記事では、Azure API Management サービスの IP アドレスを取得する方法について説明します。 サービスが仮想ネットワーク内にある場合、IP アドレスはパブリックまたはプライベートにすることができます。 IP アドレスを使用して、ファイアウォール規則の作成、バックエンド サービスへの受信トラフィックのフィルター処理、または送信トラフィックの制限を行うことができます。

API Management サービスの IP アドレス

Developer、Basic、Standard、または Premium レベルのすべての API Management サービス インスタンスには、そのサービス インスタンス専用のパブリック IP アドレスがあります (他のリソースとは共有されません)。

IP アドレスは、Azure portal のリソースの概要ダッシュボードから取得できます。

API Management の IP アドレス

次の API 呼び出しを使用してプログラムでフェッチすることもできます。

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>

パブリック IP アドレスは、応答の一部になります。

{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "13.77.143.53"
    ],
    ...
  }
  ...
}

複数リージョンのデプロイでは、各地域のデプロイにパブリック IP アドレスが 1 つあります。

VNet 内の API Management サービスの IP アドレス

API Management サービスが仮想ネットワーク内にある場合、パブリックとプライベートの 2 種類の IP アドレスがあります。

  • パブリック IP アドレスは、ポート 3443 での内部通信に使用されます。これは、構成の管理用です (たとえば、Azure Resource Manager 経由)。 "外部" VNet 構成では、ランタイム API トラフィックにも使用されます。 "内部" VNet 構成では、パブリック IP は Azure 内部管理操作のみに使用され、インスタンスはインターネットに公開されません。

  • 内部 VNet モードのみ使用可能なプライベート仮想 IP (VIP) アドレス は、ネットワーク内から API Management エンドポイント (ゲートウェイ、開発者ポータル、および直接 API アクセス用の管理プレーン) に接続するために使用されます。 ネットワーク内の DNS レコードを設定するために、これらを使用できます。

Azure portal と API 呼び出しの応答に両方の型のアドレスが表示されます。

VNet での API Management の IP アドレス

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>

{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "13.85.20.170"
    ],
    "privateIPAddresses": [
      "192.168.1.5"
    ],
    ...
  },
  ...
}

重要

内部ロード バランサーと API Management ユニットのプライベート IP アドレスは動的に割り当てられます。 そのため、デプロイ前に API Management インスタンスのプライベート IP を予測することはできません。 さらに、別のサブネットに変更してから返すと、プライベート IP アドレスが変更される可能性があります。

送信トラフィックの IP アドレス

API Management では、VNet またはピアリングされた VNet 外の接続にはパブリック IP アドレス、VNet またはピアリングされた VNet 内の接続にはプライベート IP アドレスが使用されます。

  • API Management が外部または内部仮想ネットワークにデプロイされていて、API Management がプライベート (イントラネットに接続する) バックエンドに接続するときは、サブネットの内部 IP アドレス (動的 IP、つまり DIP アドレス) がランタイム API トラフィックに使用されます。 要求が API Management からプライベート バックエンドに送信されるときは、プライベート IP アドレスが要求の送信元として表示されます。

    そのため、IP 制限によって VNet またはピアリングされた VNet 内のセキュリティで保護されたリソースが一覧表示される場合、(内部モードで) API Management リソースに関連付けられているプライベート IP アドレスだけでなく、API Management サブネット範囲全体を IP 規則と共に使用することをお勧めします。

  • 要求が API Management からパブリック (インターネットに接続された) バックエンドに送信されると、パブリック IP アドレスが要求の送信元として常に認識されます。

従量課金、Basic v2、Standard v2 レベルの API Management サービスの IP アドレス

API Management インスタンスが、共有インフラストラクチャ上で実行されるサービス レベルで作成される場合、専用の IP アドレスはありません。 現在、従量課金、Basic v2、Standard v2 のサービス レベルのインスタンスは、共有インフラストラクチャ上で実行され、決定論的 IP アドレスは指定されません。

従量課金、Basic v2、または Standard v2 レベルのインスタンスに使う送信 IP アドレスを許可リストに追加する必要がある場合、インスタンスのデータ センター (Azure リージョン) を許可リストに追加できます。 すべての Azure データ センターの IP アドレスが記述された JSON ファイルをダウンロードしてください。 次に、インスタンスを実行するリージョンに適用される JSON 要素を検索します。

たとえば、次の JSON フラグメントは、西ヨーロッパの許可リストがどのようになるかを示しています。

{
  "name": "AzureCloud.westeurope",
  "id": "AzureCloud.westeurope",
  "properties": {
    "changeNumber": 9,
    "region": "westeurope",
    "platform": "Azure",
    "systemService": "",
    "addressPrefixes": [
      "13.69.0.0/17",
      "13.73.128.0/18",
      ... Some IP addresses not shown here
     "213.199.180.192/27",
     "213.199.183.0/24"
    ]
  }
}

このファイルがいつ更新されるかや IP アドレスがいつ変更されるかの詳細については、[ダウンロード センター] ページ[詳細] セクションを展開してください。

IP アドレスの変更

API Management の Developer、Basic、Standard、Premium の各レベルで、パブリック IP アドレス (VIP) とプライベート VIP アドレス (内部 VNet モードで構成されている場合) は、次の例外を除いて、サービスの有効期間にわたって静的です。

  • API Management サービスが削除された後、再作成された。

  • サービスのサブスクリプションが (例えば未払いなどの理由により) 中断または警告ありとなり、その後復元されます。 サブスクリプションの状態の詳細を確認する

  • (Developer と Premium レベル) Azure Virtual Network がサービスに追加されるか、サービスから削除された。

  • (Developer と Premium レベル) API Management サービスで、外部と内部の VNet デプロイ モードが切り替えられた。

  • (Developer レベルと Premium レベル) API Management サービスが別のサブネットに移動されるか、stv1 から stv2 コンピューティング プラットフォームに移行された。

  • (Premium レベル) 可用性ゾーンが有効、追加、または削除されている。

  • (Premium レベル) 複数リージョンのデプロイで、リージョンが空いていて再び復元されると、そのリージョンの IP アドレスが変更される。

    重要

    外部から内部の仮想ネットワーク (またはその逆) に変更する場合、ネットワーク内のサブネットを変更する場合、または API Management インスタンスの可用性ゾーンを更新する場合は、以前に構成したものとは異なるパブリック IP アドレス リソースを構成する必要があります。 必要に応じて、元の IP アドレスに戻すことができます。