LoginSignup
2
1

Azure logic appsで送信元IPアドレスを固定する!

Last updated at Posted at 2024-04-17

はじめに

  • logic appsを使って、インターネット上のサーバーのAPIを叩いて処理を自動化したいけど、そのサーバーがIPアドレス制限をしているケースは無いだろうか?
  • 通常、logic appsは以下の情報の通り、複数の送信IPアドレスがある

  • すべての記載されたIPアドレスを登録できれば問題ないだろうが、今回私が直面したケースでは、1アドレスへの限定が必要だったためその方法を共有する

やること

  • 最終的な構成を示す
  • logic appsでVNET統合を行い、そのVNETに接続したNAT Gatewayから通信させることによって、IP固定化を行った
  • 通信したいサーバーでは、NAT GatewayのパブリックIPのみを許可することで、やりたいことが実現できた
    image.png

IP固定化手順

1. logic appsをstandardプランで作成する

  • ConsumptionプランはVNET統合をサポートしていないため、Standardプランを選択すること
    image.png

2. VNETとNAT Gatewayを作成する

  • 任意にVNETを作る。サブネットも適宜設定する

  • 今回はデフォルトサブネットのみ
    image.png

  • 続いてNAT Gatewayを作成する

  • パブリックIPを新規取得することと、先ほど作成したVNETおよびサブネットに紐づけることとをわすれないこと
    image.png

3. logic appsでVNET統合に接続する

  • Networkingから、VNET Integrationの項目を選択し、新規作成
    image.png

  • 2で作成したVNETおよびサブネットと紐づけること
    image.png

  • Outbound Internet Trafficにチェックが入っていることと、NAT Gatewayが指定されていることを確認すること
    image.png

テストする

  • 「確認くん」というサイトを取得するサンプルプログラムを作成し、先ほど作成したIPアドレスからの通信になっているか、テストする

logic apps デザイナー

  • 適当なトリガー(今回はRecurrenceを選択)と、HTTPのみで良いだろう
    image.png

  • HTTPの中身は、「確認くん」のサイトURLを指定しておく

  • メソッドはGETを選択。それ以外はすべて初期値でかまわない
    image.png

テスト結果

  • HTTPのレスポンスで、「確認くん」より示されたIPアドレスが、NAT GatewayのパブリックIPになっている
    image.png

さいごに

  • logic appsのStandardプランはConsumptionプランと比べると、小規模な環境においてはかなりお金がかかることがネックとなる
  • Standardプランのlogic apps上に、複数のフローを作成することができるため、できるだけ共有するなどしてコスト削減されるとよいと思う
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1