初めに
FIXER 藤井です。先週の弊社 佐藤による「Azure Static Web Apps のローカル実行方法まとめ #Azureリレー」に続き、今週のAzure リレーをお送りいたします。
今年はいわゆる「ハイブリッドクラウド(オンプレミスとAzureの連携環境)」の導入を対応する機会が複数ありましたので、共通して必要になった事前検討事項を、自分への備忘録としてこの記事に残します。
また自分自身への備忘録に加えて、もう1つこの記事を書いた目的があります。MCP(Microsoft Certified Professional)の上位資格であるAzure Solutions Architect Expertの認定試験において要求される知識内容が、実務においてどのように使われるのか一例を紹介をするつもりです。以前の拙記事「Azure Solutions Architect Expertの資格取得のために、日々の業務において役に立ったポイント」について、業務とどのように関連しているのかもっと掘り下げて紹介して欲しいといった趣旨の反響が有ったので、この記事が回答になります。
この記事で前提となる知識について
この記事ではTCP/IPについて入門レベルの最低限の知識を理解していることを前提としています。具体的には『マスタリングTCP/IP 入門編(第6版)』(オーム社 2019年)の内容が相当します。
この記事で解説する範囲について
この記事では「ハイブリッドクラウド」の構築を検討する場合に特有の事前検討事項に絞って解説します。例えばバックアップの取得や、アクセスログの保持、キャパシティーの運用監視などについては、ハイブリッドクラウドに限らずAzure で普遍的に必要な事前検討事項のため、この記事では取り上げません。
各事前検討事項詳細
事前検討事項(1)通信経路
まずは通信経路の要件を確定させましょう。大きく分ければ以下の2通りが有ります。
- (1-1)インターネット経由で接続する
- (1-2)閉域網(Azure VPN / Express Route)で接続する
閉域網の構築というと、クラウドの黎明期であればIaaSの仮想マシンのみに限られ、PaaSの各種サービスではインターネット経由しか選択肢が有りませんでした。5年ほど前の2016年ごろからPaaSでも閉域網を構築する機能が登場し始め、現在では多くのPaaS型サービスで可能となっています。PaaSで閉域網を構築する場合、費用が高価な上位モデルが必要になるケースもあるので、閉域網の構築の有無を最初に決定する必要があります。
インターネット経由か閉域網かによって必要な事前検討事項はそれぞれ分かれます。
(1-1)インターネット経由で接続する場合
インターネット経由で接続する場合、「Azure ⇒ オンプレミス」と「オンプレミス ⇒ Azure」それぞれ、「アクセス元のグローバルIPアドレス」および「アクセス先のポート番号」の許可設定が必要になります。後者の「オンプレミス ⇒ Azure」については、基本的にAzure側は新規で構築されるのであまり神経質になる必要はないのですが、前者の「Azure ⇒ オンプレミス」については、現在進行形で業務利用されている既存環境のため考慮が何かと必要になります。自分自身が対応するときはお客様の社内ネットワークの構成図を見ながら、以下のようなことを考えていました。
- 「インターネット⇒社内ネットワーク」で公開されているグローバルIPアドレスは「NAT変換」か「NAPT変換」か:Azrue側で設定する通信の宛先に影響します。
- 「アクセス元のグローバルIPアドレス」および「アクセス先のポート番号」の許可設定、特に後者は社内ネットワークにおいて何か所で必要になるか:Azure 関係なくネットワーク一般の話として、ポート番号の設定は少なくと2か所、対インターネットのデフォルトゲートウェイと最終到達先のサーバーOSのローカル環境それぞれのファイアーウォールの解放設定が必要になります。また途中のネットワーク機器やプロキシサーバーでの設定が必要になる場合があります。
(1-2)閉域網(Azure VPN / Express Route)で接続する場合
閉域網を利用する場合、経験上、主に以下のような点が事前検討事項になる印象です。
- 想定するトラフィック量はどの程度か:Azure VPNにせよExpress Routeにせよトラフィック量に応じたサイジングが必要となり、費用に影響します。
- 内部DNSによるホスト名通信は必要か:現行の社内ネットワーク環境で内部DNSによるホスト名を通信を使用していて、Azure 側でも同様の要件を実現しようとする場合、「Azure DNS Private Zones」および「フォワーダーサーバー(Azure VMもしくはAzure Firewall)」の構築が必要となり、より構成が複雑になります。
- 現行の社内ネットワーク機器はVPNデバイスを構築可能か:Azure VPNを利用する場合、社内ネットワーク側の機器の設定が必要で、「VPNデバイス」と呼ばれます。「VPNデバイス」としてサポート対象の機器は以下のサイトに公開されています。
検証済みの VPN デバイスとデバイス構成ガイド
事前検討事項(2)認証方式
通信経路の要件が検討できたら、次は認証方式および認証情報の取り扱いを確認します。「Azure ⇒ オンプレミス」と 「オンプレミス ⇒ Azure」 のいずれにせよ、実際に処理を実行するためには、認証は必要となります。前者の「Azure ⇒ オンプレミス」については、オンプレミス側の現行システムがどのような認証方式(パスワード、シークレットキー、証明書など)であるかを確認した上で、Azureからアクセスできるかを確認する必要が有ります。
極端な例ですが、パスワードを平文でアプリケーションにソースコードにハードコーディングするようなことは、アンチパターンです。現在のAzure では認証情報の格納方法はAzure Key Vaultというサービスを利用することが推奨されているため、ハイブリッドクラウド構成を検討する場合も Azure Key Vault の利用可否は検討することをおススメします。
事前検討事項(3)利用するリージョン
これまでの「事前検討事項(1)」にて確認した通信経路および、「事前検討事項(2)」にて確認した認証方式の確認が済んだら、システムの個別要件の検討に入る前に、利用するリージョンの要件を確認します。一般には、レイテンシーを抑制するためオンプレミス側の環境と地理的になるべく近いリージョンを利用するものとされています。他方でDR(災害復旧)対策的な観点から、オンプレミス側からあえて遠いリージョンを利用したり、複数リージョンで冗長構成を選択するケースもあります。可用性要件と費用を鑑みて、利用するリージョンを確認します。
Express Routeを例にとりますと、東日本/西日本それぞれのリージョンで構成し、オンプレミス-Azure間の通信経路自体を冗長構成するケースもあります。ただしかなりの費用が必要なため、金融機関以外での利用例は少ないと見ています。
事前検討事項(4)疎通確認方法
設計に関する検討が完了したら、実際に構築する段階に向けて、利用するAzure サービスとオンプレミスの間で疎通確認を取る方法を確認しておくことをおススメします。場合によっては疎通確認する方法が、実際にシステムを動作させて検証する他に無いケースもあります。
利用するAzure サービスとオンプレミスの間で疎通確認をする方法を確定させていない場合、構築時に正しく動作検証することができなかったり、運用時に何かトラブルなどが有った場合に切り分けや復旧の確認に困難をきたす可能性が懸念されます。
以前の拙記事「App Serviceからオンプレミスに疎通確認を実施する方法#Azureリレー」はこういった疎通確認の一例です。
最後に
資格試験の常として「資格だけ持っていても実務で全く役に立たない」とか、「試験勉強をやっている余力があるなら、手を動かして仕事をすべきだ」といった批判は付きまといますが、この記事はそれに対するアンチテーゼです。
読者の方の中のどなたかが、Azure の導入に関わる仕事をする上では、 Azure Solutions Architect Expert は必須の資格であると共感していただいて受験していただけたら幸いです。