📚

[Azure] コンピュートエンジン(PaaS)についてまとめてみた

2022/12/25に公開

AZ-305: インフラストラクチャ ソリューションを設計する

コンピュートエンジンの選択分岐

どういったシチュエーションなら、こういったコンピュートエンジンが合っているというのは、以下の通りの分岐でジャッジすることができる。

https://learn.microsoft.com/ja-jp/training/modules/design-compute-solution/2-choose-compute-service

Azure Update Management

OSの更新管理を行うもの。OS毎にグループ化するため、WindowsやLinuxといった分け方での適用になる。更新の適用までの流れは以下の図が分かりやすい。

https://learn.microsoft.com/ja-jp/training/modules/host-security/7-update-management

Azure Logic Appsの特徴

定義されたコネクタを使った、ワークフローを生成したいときに使われる。ノーコードが特徴。Jsonで記述されているので、書こうと思えばプログラミングも可能。

外部との接続のないアプリを構築している場合、おそらく Logic Apps は最善の選択ではないでしょう。

とも記載があるので、サードパーティーの製品やアプリとの連携を通した実現にも強みがあるのだろう。

Logic Apps は、リアルタイム要件、複雑なビジネス ルール、または標準以外のサービスを使用している場合は、最適なソリューションではありません。

とも記載があるので、ワークフローならば必ずしも選択したほうが良いのではなく、比較的簡素で、かつ、リアルタイム性がないこと、標準コネクタ(カスタムも作れる)をベースとして選択するのだろう。
https://learn.microsoft.com/ja-jp/training/modules/design-compute-solution/9-design-for-logic-app-solutions

App Serviceの認証について

組み込みの認証方法を利用することができる。例えば、Azure ADにアプリ登録を行い連携させることで、Azure AD認証を使ったWEBアプリへのログインを実装するといったことができる。

Azure Functionsについて

Durable Functionsとは

Azure Functionsの拡張機能である。通常のAzure Functionsでは複雑になってしまうコードを簡素化することができる、ステートフル関数である。細かい使い方はググってみることにする。

実行時間の制限について

従量課金プランだと10分しかないため、大規模な実行には向いていない。

Functions の従量課金プランでは、1 回の実行が 10 分までに制限されています。 Premium プランでは、実行中の暴走を防ぐために、実行継続時間の既定値が 30 分になっています。

トリガーについて

タイマートリガーやHTTPトリガーなど指定が可能。関数の作成時に選択することができる。Portal上からも選択可能。

Vnet統合について

主に、AppService・Functions・Logic Appsにてサポートされる。Vnet統合を行うには、専用のサブネットが必要になる。

  • 調べる前のイメージ:対象リソースをVnetに存在するものと扱い、Vnet内の他リソースとのプライベートな送受信ができるもの。

  • 調べた後のイメージ:厳密には対象リソースから送信方向の通信を、仮想ネットワーク内にルーティングさせる機能である。これによって、本来インターネットに公開されていないVnet内のリソースにアクセスさせることができる。エンドポイント経由でしかアクセスできないリソース(DBとか)が存在する場合は利用されるだろう。
    参考:
    https://learn.microsoft.com/ja-jp/azure/virtual-network/vnet-integration-for-azure-services
    https://ascii.jp/elem/000/004/059/4059866/

  • リージョンVnet統合とゲートウェイが必要なVnet統合
    Vnet統合にも2種類の方式が存在する。両者の違いとしては、リージョンVnet統合はVnet統合元のサービス(AppServiceとか)とVnetが同一リージョンに存在するときに使われる。専用のサブネットは必要になる。
    ゲートウェイが必要なVnet統合は、リージョンが異なるときに利用する。専用のサブネットは不要の一方で、Vnet側に仮想ネットワークゲートウェイが必要になる点が注意。(仮想ネットワークゲートウェイには専用のサブネットが必要にはなる)

参考
https://cloudsteady.jp/post/47596/
https://cloudsteady.jp/post/43767/

  • Vnet統合時の通信制御について
    NSGやルートテーブルを使った制御が可能。ただし、送信の規則だけになる。受信の制御は各サービスの持つアクセス制御で実装する必要がある。
    AppServiceの場合は、WEBSITE_VNET_ROUTE_ALLを『1』に設定する必要があるらしい。
    DNSプライベートゾーン利用の場合は、上記に加えてWEBSITE_DNS_SERVERに『168.63.129.16』を設定する必要がある。この辺は、実際に使う時に追々確認するとしよう。

App ServiceのFreeプランはTLS/SSLをサポートしない。

↑で記載の通り。

学習資材

https://learn.microsoft.com/ja-jp/training/modules/design-implement-private-access-to-azure-services/

Discussion