LoginSignup
3
0

More than 1 year has passed since last update.

Azure Logic Apps StandardでVMのプライベートIPにSFTPしてみる

Last updated at Posted at 2021-12-02

セゾン情報システムズ Advent Calendar 2021 3日目を担当します。

Logic Apps Standardプランが登場し、仮想ネットワーク内にアクセスすることができるようになりました。
SFTPアダプターを使って、仮想ネットワーク内のVM(プライベートIP)へSFTPできるか試してみました。ポイントはパブリックIPを付与していないVMにアクセス可能ということです。
今回試した構成は以下です。

image.png

  • 更にLogic Apps → Blob Storageのアクセスには、ストレージアクセスキーは使わずにマネージドIDを使ったよりセキュアな転送をやってみます。

前提条件

  • 以下リソースは事前に作成済みであることとします
    • 仮想マシン
    • 仮想ネットワーク
      • VNET統合用の空サブネットを準備しておくこと
    • ストレージアカウント
      • [test]というコンテナーを作っておきます。

Logic Apps Standard作成

  • インスタンスタイプを[Standard]に、ロジックアプリ名は任意で入力します。
    image.png

  • [ワークフロー]を選択し、地域は任意です。次へを選択します。
    image.png

  • ストレージアカウントは今回は事前に作成したものを選択します。従量課金プランでは使えなかったステートフルワークフローのためですね。
    image.png

  • App Serviceプランは今回はデフォルトのままいきます。裏側がApp Serviceということで月額料金はそれなりなので注意が必要です。次へを選択します。
    image.png

  • Application Insightはデフォルトのまま作成します。従量課金プランのときと違ってApp Serviceがあるため使えるようになってますね。次へを選択します。
    image.png

  • ここまで設定したらLogic Apps Standardを作成します。

  • 数分で作成されます。概要ページが開けばOKです。
    image.png

VNET統合設定

  • 仮想ネットワーク内のリソースへプライベートIPアクセスするために、VNET統合設定を行います。このあたりはApp Serviceの機能でありましたね。
  • 左メニューより[ネットワーク]を選択します。
    image.png

  • [VNET統合]を選択します。
    image.png

  • [VNetの追加]を選択します。
    image.png

  • 事前に準備したvNet、統合用サブネットを選択します。VNET統合用サブネットは空である必要があります。
    image.png

  • VNET統合が構成されればOKです。
    image.png

マネージドID設定

  • Logic Apps概要ページの左メニューより[ID]を選択します。
    image.png

  • [オン]になっていればよいです。Logic Apps StandardはデフォルトOnのようです。
    image.png

  • アクセス許可の[Azureロールの割り当て]を選択します。
    image.png

  • [ロールの割り当ての追加]を選択します。
    image.png

  • スコープをストレージにして、事前に作成したストレージアカウントを選択します。RBACは[ストレージBLOBデータ共同作成者]を選択します。
    image.png

ワークフロー作成

  • 左メニューから[ワークフロー]を選択します。
    image.png

  • ワークフローを追加します。
    image.png

  • 作成したワークフローを選択し、[デザイナー]を選択します。
    image.png

  • トリガーは今回はスケジュールトリガーを使います。
    image.png

  • [1時間]で設定します。
    image.png

  • 次にコネクターを追加していきます。デザイナーの+ボタンを押します。
    image.png

  • SFTPコネクターの[Get File Content]を選択します。執筆時点ではGetしかないようです。
    image.png

  • IPアドレスをVMのプライベートIPに設定します。ユーザー名等設定を入れていきます。
    image.png

  • ファイルを設定します。今回はVMのユーザーホームディレクトリ直下にtest.txtを作ったのでファイル名のみ指定します。
    image.png

  • 次にBlobコネクターを追加していきます。検索するとBlobはコネクタがいくつか出てきますが、[Azure]の方を選択して[Azure Blob Storage]を選択します。
    image.png

  • [BLOBを作成する]というアクションを選びます。
    image.png

  • 接続名は任意で、Authentication typeに[Logic Apps Managed Identity]を選択します。マネージドIDを使うことでアクセスキーを使わずにアクセスできます。
    image.png

  • 事前に準備したストレージアカウント名を入力します。フォルダーのパスはコンテナー名を選びます。BLOB名、BLOBコンテンツは、SFTPコネクタで取ってきた動的な値を選択します。
    image.png

  • この状態でワークフローを保存します。
    image.png

  • ワークフロー概要画面に戻り、トリガーを手動実行します。
    image.png

  • test.txtがBlobストレージに保存されていればOKです。
    image.png

以上

3
0
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
3
0