Azure API Management の IP アドレス

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

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

パブリック IP アドレス

Developer、Basic、Standard、PremiumのすべてのAPI管理インスタンスは、そのインスタンス専用のパブリックIPアドレスを持っています。 (他のリソースと共有されません)。

Azureポータルのリソース概要ダッシュボードからIPアドレスを取得してください:

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": [
      "172.31.0.1"
    ],
    ...
  }
  ...
}

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

仮想ネットワーク内の API Management の IP アドレス

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

  • ポート3443の内部通信にはパブリックIPアドレスを使用して設定管理を行い、Azure Resource Managerなどを経由してください。 外部仮想ネットワーク構成では、ランタイムAPIトラフィックにも利用してください。 内部仮想ネットワークの設定では、Azureの内部管理操作にのみパブリックIPアドレスを使用します。 彼らはあなたのインスタンスをインターネットに公開しません。

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

AzureポータルやAPI呼び出しの応答で両方のタイプのアドレスが確認できます:

API Management の VIP アドレスを示すスクリーンショット。

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>
{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "172.31.0.1"
    ],
    "privateIPAddresses": [
      "192.168.1.5"
    ],
    ...
  },
  ...
}

重要

内部のロードバランサーやAPI管理ユニットは、動的にプライベートIPアドレスを取得します。 API管理インスタンスのプライベートIPを展開前に予測することはできません。 また、別のサブネットに切り替えてから戻すと、プライベートIPアドレスが変わることもあります。

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

API Management は、仮想ネットワークの外部またはピアリングされた仮想ネットワークの外部の接続にパブリック IP アドレスを使用します。 仮想ネットワークまたはピアリングされた仮想ネットワーク内の接続にプライベート IP アドレスを使用します。

  • 外部または内部の仮想ネットワークにAPI管理を展開し、プライベート(イントラネット向け)バックエンドに接続する場合、API管理は実行時のAPIトラフィックに対してサブネットの内部IPアドレス(動的IP、またはDIPアドレス)を使用します。 API管理がプライベートバックエンドにリクエストを送信すると、リクエストの発信元としてプライベートIPアドレスが表示されます。

    したがって、IP制限が仮想ネットワークやピアリングされた仮想ネットワーク内の安全なリソースをリストする場合は、API管理のサブ ネット範囲 全体をIPルールで使用し、(内部モードではAPI管理リソースに関連付けられたプライベートIPアドレスだけでなく)利用してください。

  • API Managementがパブリック(インターネット対応)バックエンドにリクエストを送信する際、リクエストの発信元として常にパブリックIPアドレスが表示されます。

従量課金レベル、Basic v2 レベル、Standard v2 レベル、Premium v2 レベルの API Management インスタンスの IP アドレス

もしAPI管理インスタンスをサービス層で作成し、共有インフラ上で動作する場合、専用のIPアドレスはありません。 現在、従量課金、Basic v2、Standard v2、Premium v2 いずれかのサービス レベルに該当するインスタンスは、共有インフラストラクチャ上で実行され、決定論的 IP アドレスは割り当てられません。

Consumption、Basic v2、Standard v2、Premium v2 tierのインスタンスが使っているアウトバウンド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.183.0/24"
    ]
  }
}

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

IP アドレスの変更

API Management の Developer、Basic、Standard、Premium の各レベルでは、パブリック IP アドレスまたはアドレス (VIP) とプライベート VIP アドレス (内部仮想ネットワーク モードで構成されている場合) は、サービスの有効期間中は静的であり、次の例外があります。

  • API Management が削除され、再作成されます。

  • サービスのサブスクリプションが (未払いなどの理由により) 無効または警告ありとなり、その後復元された。 サブスクリプション州について詳しくはこちらをご覧ください。

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

  • (開発者レベルと Premium レベル)API Management は、外部と内部の仮想ネットワークデプロイ モードを切り替えます。

  • (開発者レベルと Premium レベル)API Management は、別のサブネットに移動されるか、別のパブリック IP アドレス リソースで構成されます。

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

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

    重要

    内部仮想ネットワークから外部仮想ネットワークに変更するとき、またはネットワーク内のサブネットを変更する場合は、別の パブリック IP アドレスを構成できます。 お客様が指定しない場合は、Azure マネージド パブリック IP アドレスが自動的に構成されます。