本資料は、Azure 共通基盤(ランディングゾーン)の設計・構築ガイドです。
- マイクロソフトの公式ガイドラインである Azure CAF と、そのエンタープライズ向けリファレンス実装である ESLZ (Enterprise-scale landing zones, ALZ / Azure landing zones) をベースにしつつ、日本特有の事情を加味して、マイクロソフトの赤間が中心となって作成したものです。日本のエンプラのお客様に馴染みやすい形で整理しています。
- 本資料をベースにして設計・構築を進めていただければ、セキュアかつガバナンスの効いた Azure 共通基盤の構築をスムーズに進めていただくことができます。
- 新しく Azure 共通基盤を作る場合だけでなく、すでに共通基盤をお持ちのお客様も、セキュリティやガバナンスの強化にご活用いただけます。
本 GitHub 上には共通基盤構築デモの部分が掲載されていますが、上図にある各コンテンツは以下にあります。
カテゴリ | コンテンツ | リンク |
---|---|---|
戦略立案ガイド | 超訳 Azure CAF | 解説資料 解説ビデオ前半 解説ビデオ後半 |
共通基盤設計ガイド | Azure 共通基盤設計ガイド | 解説資料 付録(ガバナンス設計用Excelシート) ターゲットアーキテクチャと基本セオリー概説ビデオ |
共通基盤構築デモ | Azure 共通基盤構築デモ | 構築スクリプト デモビデオ |
全体概要や活用方法を知りたい場合には、下記 Webinar(約1時間)をご覧ください。
- セキュアかつ制御可能なクラウド利用を目指して ~Azure 共通基盤 設計・構築のススメ ~
- Azure 共通基盤 設計・構築ガイドが開発された経緯、何ができるのか・何が含まれているのか、共通基盤開発の進め方のポイント、エンド企業様やパートナー企業様が本ガイドをどのようにご活用いただけるのかに関して解説します。
- Webinar の登録URLはこちらです。(2023/09/25 開催)
上記 3 つのコンテンツは、資料上、下記のような体系で整理されています。
一方、実際にご利用いただく場合には、以下のような点もあると思います。
- エンドユーザ様(共通基盤を作ろうとしているお客様)とパートナー様(SIer様など)で、知るべきポイント・興味を持つポイントが異なる。
- エンドユーザ企業様の CCoE チームであれば、企画推進のために概要や設計の要点を知りたい
- パートナー企業様のエンジニアであれば、実際の設計上の留意点や構築方法の詳細を知りたい
- しかしプロジェクトとしては、お互いが Azure 共通基盤に関する共通の認識と共通のゴールを持つ必要がある。
このため共通基盤の検討を進める場合には、以下のようなコンテンツの使い方をオススメしています。(すでに先行してご利用いただいているあるお客様では、このやり方で非常にスムーズに進められています。)
- まず全員(基盤構築に関わるエンドユーザ企業様とパートナー企業様全員)で、共通基盤構築のデモビデオの鑑賞会を行う。
- 共通基盤はどのようなもので、何をゴールとして進めればよいのかの共通認識を持つことができます。これにより、エンドユーザ様とパートナー企業様の間での議論が円滑に進みます。
- 簡単な Azure の解説も含めていますので、ビデオは Azure の予備知識がなくても見ることができるように作ってあります。(時間のかかるところはビデオ編集してありますが)作業手順のところは 1.5 倍速再生でもよいと思います。
- その後、エンドユーザ企業様は戦略立案ガイドを、パートナー企業様は共通基盤設計ガイドを詳細に読み込んでいく。
本 GitHub サイトの構築デモのスクリプトに含まれるものは以下の通りです。
- 基本部分として、以下の内容が含まれています。(フォルダ番号 00~12)
- マルチサブスクリプションの Azure 環境
- Hub-Spoke VNET 環境(ゼロトラストベースの閉域構成)
- 動作可能な IaaS Web-DB アプリと PaaS Web-DB アプリを実際に載せる
- SoD (権限分掌) に基づくカスタム RBAC ロールと実機操作
- 仮想マシンの完全なセキュア化(MDE, GC, AMA, DA, ASA, CTA 全部入り)
- Azure Policy, MDfC スコアを 100% にする
- 運用監視(集約アラートと個別アラート)
- 現在はさらに上記を拡張し、以下も追加サンプルとして掲載しています。
- AOAI 社内文書検索(Azure OpenAI Service リファレンスアーキテクチャのエンプラ対応版)(フォルダ番号 41~44)
- CaaS Web-DB アプリ (Azure Container Apps)(フォルダ番号 61~65)
- DevCenter Deployment Environment によるセルフサービス型サンドボックス環境(フォルダ番号 71~74)
各サブスクリプションの位置付けは以下のとおりです。基本サンプルとして上4つ、拡張・追加サンプルとして下6つを用意しています。
分類 | subscription | 載せているもの |
---|---|---|
基盤 | subscription-mgmt | 運用監視基盤(Log Analytics Workspace, 運用管理端末) |
基盤 | subscription-hub | 本番環境用ハブ(Azure Firewall)(※ 本デモでは ER は省略) |
業務 | subscription-spoke-a | 業務システムサンプル A(IaaS Web-DB アプリ) |
業務 | subscription-spoke-b | 業務システムサンプル B(PaaS Web-DB アプリ) |
業務 | subscription-spoke-c | (未定) |
業務 | subscription-spoke-d | 業務システムサンプル D(AOAI 社内文書検索) |
業務 | subscription-spoke-e | (未定) |
業務 | subscription-spoke-f | 業務システムサンプル F(CaaS Web-DB アプリ) |
開発 | subscription-dev1 | 開発環境(管理用) (DevCenter, DevBox) |
開発 | subscription-dev2 | 開発環境(サンドボックス) (Deployment Environment) |
基本部分(基盤+Spoke A,B)のシステム構成図は下図のようになります。(よくある Hub-Spoke 型構成です。図中にオンプレとの ER 接続が描かれていますが、これは実際には含まれていません。)
本サイトには構築用のスクリプトが掲載されていますが、複数のサブスクリプションを利用する必要がある関係で、手元で実機演習として行うことは難しい場合が多いと思います。このため、一連の作業スクリプトを、技術説明を織り交ぜながら実行していくデモビデオを以下に用意してありますので、無理に実機演習しようとせず、こちらを見ることをオススメします。(実機演習する場合も、デモビデオを身ながら進めることをオススメします)
デモビデオはトータルで約 8 時間あります。構築スクリプトを流して待機している時間はカットしている一方で、Azure をほとんど知らないユーザにも理解してもらえるように基本的な事項の説明も織り交ぜています。
- どうしても自力で動かしてみたい方は、末尾をご確認ください。
- ビデオ撮影の際、マンション工事が入っており、一部、工事音が入っているところがあります(マイクの収音性能が高いため、稀に子供の声も入ってしまっています…orz)。申し訳ありませんが、ご容赦いただければ幸いです。
ビデオ | ビデオ時間 | 作業時間目安 | リンク |
---|---|---|---|
ESLZDemo_00_作業の事前準備 | 27:57 | 1 時間 | リンク |
ESLZDemo_01_Step00_環境準備 | 37:10 | 1 時間 | リンク |
ESLZDemo_02_Step01_初期環境セットアップ | 37:08 | 1 時間 | リンク |
ESLZDemo_03_Step02_管理サブスクリプションの作成(前半) | 41:05 | 2 時間 | リンク |
ESLZDemo_04_Step02_管理サブスクリプションの作成(後半) | 10:03 | 1 時間 | リンク |
ESLZDemo_05_Step03_ハブサブスクリプションの作成 | 03:18 | 1 時間 | リンク |
ESLZDemo_06_Step04_管理基盤の構成設定 | 28:40 | 1 時間 | リンク |
ESLZDemo_07_Step05_仮想マシンのコンプライアンス対応 | 44:26 | 2 時間 | リンク |
ESLZDemo_08_Step06_SpokeA_IaaS型WebDBインフラの作成 | 25:22 | 2 時間 | リンク |
ESLZDemo_09_Step07_SpokeA_イントラWebアプリのセットアップ | 47:08 | 3 時間 | リンク |
ESLZDemo_10_Step08_SpokeB_PaaS型WebDBインフラの作成 | 30:11 | 1.5 時間 | リンク |
ESLZDemo_11_Step09・10_SpokeB_WebアプリのセットアップとDMZWAFの作成 | 24:47 | 1 時間 | リンク |
ESLZDemo_12_Step11_AzurePolicyガバナンスとMDfCセキュリティ(前半) | 25:31 | 1 時間 | リンク |
ESLZDemo_13_Step12_AzurePolicyガバナンスとMDfCセキュリティ(後半) | 45:51 | 2 時間 | リンク |
ESLZDemo_14_Step13_運用監視(モニタリング) | 34:41 | 1 時間 | リンク |
ESLZDemo_15_後片付け方法とまとめ | 11:24 | 1 時間 | リンク |
ESLZDemo_41_SpokeD_AOAIによる社内文書検索システム | 62:54 | 3 時間 | リンク |
自力で動かしてみたい場合、実習に必要な機材は以下の 3 つです。(1作業者につき①~③が1セット必要です。)
- ① 新規作成したテスト用の Azure AD テナント
- ② テスト環境を作成する Azure サブスクリプション 4 つ(拡張サンプルまでやりたい場合は 10 個)
- ③ テスト環境の作成スクリプトを順次実行するための端末
それぞれ以下に補足します。
今回の演習では、テストユーザを作成して権限割り当てを行うなど、Azure 環境全体の管理も行います。このため、すでにお使いの Azrure AD 環境内での演習作業は絶対に行わないでください(既存のリソースやポリシーを一括で削除するようなスクリプトを流す作業もあります)。必ず新規に Azure AD テナントを作成し、そこで演習を行うようにしてください。
今回の演習では大規模な Azure 環境を模倣するため、管理サブスクリプション、ハブサブスクリプション、業務システム用サブスクリプション2つ、合計4つのサブスクリプションを利用します。これらのサブスクリプションは、現在お使いの EA 契約から作成されたサブスクリプションで構いませんが、必ず①のAADへの付け替えを行ってください。(※ Spoke D, F, DevCenter などの拡張サンプルも確認したい場合には、最大 10 個のサブスクリプションをご用意ください。)
なお、EA 契約からサブスクリプションを作成した場合、サブスクリプションは作成者のホームAADテナントに自動的に紐づきます。このため、テスト用にサブスクリプションを新規に作成するのであれば、①のAADアカウントをEA契約のアカウント管理者として登録し、そのアカウントでサブスクリプションを新規作成すると簡単です。
実機演習には、一連の bash スクリプトを動かすための操作端末(演習端末)が必要です。この端末は、Windows 端末に WSL2 をセットアップし、ツール(az cli)をインストールして準備いただく必要があります。 また、この Windows 端末からは、ブラウザを介して Azure Portal にアクセスして①②を利用しますが、イントラネット端末や社内ネットワークでは①②を自由に操作できない可能性があります。このため、独立した端末をご準備いただくなどの工夫が必要になる場合があります。
今回のテスト環境には比較的高額なリソースをいくつかデプロイします。(Azure Firewall, AppGateway など) 立てっぱなしにした場合、いずれも月額で数十万円かかるリソースです。こうした高額リソースを一時的に停止するスクリプトもご用意しておりますが、短期集中的に学習いただき、終了後はすみやかに環境削除することをおすすめします。
前述の通り、①~③は 1 作業者につき 1 セットが必要です。本資料をワークショップなどで利用する場合、人数分の環境セットをご用意いただくのは、コストなどの観点で非現実的な場合もあります。このような場合には、2~3 人ごとにチームを組んでいただき、1 チームあたり 1 セットとして、ペアプログラミング形式で実習していただくことをおすすめします。トラブルシュートもしやすくなりますし、理解も深まりやすいと思います。(コストの理由から 1 つの環境をみなさんでご覧いただく、という形にしているお客様もありました。)
作業の際はマルチモニタを利用し、片方のモニタでビデオを流しつつ、もう片方のモニタをスクリプト貼り付け用に利用していただくと作業しやすいと思います。(ブラウザの拡大率を変更して縮小し、GitHub のフォルダビューを出していただくと、bash への貼り付けを容易に行っていただけると思います。)
本資料の使用においては、次の制限、制約をご理解の上、活用ください。
- 目的外利用の禁止
本資料は Microsoft Azure 上において、システムやソリューションの円滑かつ安全な構築に資することを目的に作成されています。この目的に反する利用はお断りいたします。 - フィードバック
本書の記載内容へのコメントやフィードバックをいただけます場合は、担当の日本マイクロソフト社員にご連絡ください。なお、個別質問への回答やフィードバックへの対応はお約束できないことを、ご了承いただけますようお願い申し上げます。 - 公式情報の確認
本資料は日本マイクロソフトの有志のエンジニアによって、現場での経験を加えて開発されたものです。そのためこの内容は Microsoft として公式に表明されたものではなく、日本マイクロソフトおよび米国 Microsoft Corporation は一切の責任を負いません。また、本書の記載内容について Azure サポートへお問い合わせいただいても、回答することはできません。Microsoft Azure の公式情報については、Azure のドキュメントをご確認ください。 - 免責
本資料は、アーキテクトやエンジニアの皆様に向けた技術情報のご提供を目的としています。コンテンツの内容について何ら保証するものではなく、使用に関連してお客様、お客様の関連会社、または第三者に生ずる間接的、付随的、結果的な損害(営業機会や営業情報の損失などを含む)について一切責任を負いません。
※ 特に、サンプルスクリプトの中には、環境内のリソースや設定をまとめて一括削除するクリーンアップ処理なども含まれています。くれぐれも十分にご注意のうえ、内容を理解した上でご利用・ご活用ください。
本サイトのコンテンツや資料に関しては、基本的に「読めばわかる」「ほぼそのまま使える」ように作っている(つもり)です。このため、もしエンドユーザ企業様が Azure 共通基盤の構築・強化が必要と感じた場合には、基盤を担当されているベンダー様に本コンテンツをご紹介いただき、これに沿った構築・強化を二人三脚で進めていただければと思います。
その際、どうしても Azure 共通基盤の設計・構築に関する支援が必要になった場合には、マイクロソフトの Unified Support の中で設計・構築支援サービスメニューをご用意しています。また、マイクロソフトのサポート部門からの直接支援だけでなく、弊社パートナー企業様からのご支援も可能な場合があります。ご興味がある場合には、弊社担当営業までご相談ください。
また関連して Azure の技術を深く知りたい場合や基礎知識を強化したい場合には、以下のコンテンツがお薦めです。(いずれも無料で利用できます) ぜひご活用ください。
MS 社員が社内環境を使って作業する際の注意事項メモを別途まとめてあります。必要な場合は赤間(nakama)までご連絡ください。