次の方法で共有


Azure API Management の IP アドレス

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

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

パブリック 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": [
      "172.31.0.1"
    ],
    ...
  }
  ...
}

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

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

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

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

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

Azure portal と 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 Management ユニットのプライベート IP アドレスは動的に割り当てられます。 そのため、デプロイ前に API Management インスタンスのプライベート IP を予測することは不可能です。 また、別のサブネットに変更した後に元に戻すことで、プライベート IP アドレスが変化する可能性があります。

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

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

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

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

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

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

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

Consumption、Basic v2、Standard v2、または Premium 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.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 アドレスが自動的に構成されます。