目的
オンプレミスからクラウドへLift&Shift(特にLift)する際に、VMを中心としたIaaSメインとなるものの監視やセキュリティなどの管理系機能はPaaSに移行したいというケースはよくあるかと思います。LogicAppsはそんなケースで活躍できる非常に便利なサービスで、うまく実装できれば大きくコストを抑制でき、VMを立てる必要がないのでOSのメンテナンスなども不要になります。
LogicAppsには多くのコネクタを用意していますが、その設定方法は公式サイトだけでは不十分なことがあるので、以下の2つの具体的なシナリオを用いて解説していきます。
1. パブリックインターネット経由
2. プライベート経由
前提知識
LogicAppsには大きく以下の2種類があり、今回は以下のように使い分けています。
- 従量課金(マルチテナント):パブリックインターネット経由
- Standard(シングルテナント):プライベート経由(VNET統合が必要なため)
LogicAppsのSKU比較表はこちら
従量課金かStandardかは、デプロイする際に以下の項目で選択できます。
※消費が従量課金になります。
1.パブリックインターネット経由
構成イメージ
手順
-
各リソースのデプロイ
- 仮想ネットワーク×1
- サブネット×1
- 仮想マシン
- ストレージアカウント
- LogicApps(従量課金プラン)
-
ネットワーク設定
- サブネット
- ネットワークセキュリティグループを作成している場合はSSHを許可するルールを設定
- サブネット
-
SFTP設定
- 仮想マシンOpenSSHをインストール
- https://learn.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse
- (必要に応じて)SFTP用ユーザーの作成、ルートディレクトリの変更
- OpenSSH SSH Server サービスのスタートアップ タイプを自動に設定し、サービスを起動
- 仮想マシンOpenSSHをインストール
2.プライベート経由
構成イメージ
手順
-
各リソースのデプロイ
-
ネットワーク設定
- ストレージアカウント
- ファイアウォールと仮想ネットワーク
- 選択した仮想ネットワークとIPアドレスから有効
- ファイアウォールにクライアントIPアドレスを追加(クライアントからファイルアップロードのテストを行うため)
- プライベートエンドポイントを作成
- ファイアウォールと仮想ネットワーク
- サブネット
- ネットワークセキュリティグループを作成している場合はSSHを許可するルールを設定
- ストレージアカウント
-
SFTP設定
-
LogicApps設定
以下のワークフローを作成 ※公式サイトはこちら- ビルトインBlobトリガーコネクタ:When a blob is added or updated
- ビルトインBlobアクションコネクタ:Read blob content
- ビルトインSFTPアクションコネクタ:Upload file content
- 接続情報
- 接続名:任意
- SSH host address:サーバー名または IP アドレス
- Username:接続に使用するユーザー名
- Password:パスワード
- Port number:22
- Host key fingerprint:取得したフィンガープリントを入力
- ※SSH private key, SSH private key passphrase は今回は使用しない
- Upload file content アクション
- File path:Response from read blob action Blob Name(Blob トリガーで取得した Blob 名)
- Overwrite existing files:はい
- File content:Response from read blob action Content(Read blob で取得した Blob)
- 接続情報
実際にBlobにファイルをアップロードすると1~2秒ほどでワークフローが実行され、どのアクションにどれくらい時間がかかったか確認できます。(エラーになった場合も同じくこの画面でどこでなぜエラーになったか確認できます)
まとめ
プライベートアクセスが必須かどうかで、どちらのプランを選択するか決まってくると思いますが、まずは従量課金で試して頂き、ワークフロー数が多い場合やスループットを求められる場合にStandardを検討するのがよいかと思います。
従量課金 (マルチテナント) |
Standard (シングルテナント) |
|
---|---|---|
基本的な考え方 | 1つのLogicAppsでは1つのワークフローのみ使用可 | 1つのLogicAppsで複数のワークフロー使用可 |
コスト | 〇 最初の 4,000 回のアクションは無料 |
△ 175.16ドル (WS1:1vCPU/3.5メモリの場合) |
コネクタ | △ | 〇 |
ネットワーク | パブリックアクセスのみ | VNET統合によるプライベートアクセスが可能 |
あと、細かいですが、Blobコネクタを利用する際に、Blobへの接続情報を入力しますが、ビルトイン コネクタとマネージド コネクタで入力項目が異なります。
「認証の種類」をアクセスキーにした場合、ストレージアカウント名とアクセスキーを入力します。
「Authentication type」をアカウントキーにした場合、「Storage account connection string」にはストレージアカウントの"接続文字列"を入力します。
また、Standardでは接続に使用する値をすべてアプリケーション設定で格納するため、Web Apps と同じく、このような秘匿情報は Key Vault に格納して呼び出すようにした方がよりセキュアかと思います。
備考
マイクロソフトが提供しているBizTalk ServerからLogicAppsをはじめとしたAzureサービスへの移行をおススメしています。