Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Verified Moduleを触って分かった注目ポイント/azure-verif...
Search
みずほリサーチ&テクノロジーズ株式会社 先端技術研究部
October 04, 2024
Technology
1
1.5k
Azure Verified Moduleを触って分かった注目ポイント/azure-verified-module-begin
「Japan Azure User Group14周年イベント」での登壇資料です。
イベントURL:
https://jazug.connpass.com/event/327273/
みずほリサーチ&テクノロジーズ株式会社 先端技術研究部
October 04, 2024
Tweet
Share
More Decks by みずほリサーチ&テクノロジーズ株式会社 先端技術研究部
See All by みずほリサーチ&テクノロジーズ株式会社 先端技術研究部
AWS CDKでホストゾーン一式を管理しよう!/nw-jaws15
mhrtech
2
430
Fin-JAWS第38回reInvent2024_全金融系セッションをライトにまとめてみた
mhrtech
1
200
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
6
1.7k
BLEA v3.0.0の新しいベストプラクティスを取り入れた効率的なAWS CDK開発/jawsug_cdk16
mhrtech
3
780
あなたのアプリケーションをレガシーコードにしないための実践Pytest入門/pyconjp2024_pytest
mhrtech
7
3.7k
静的サイトのCI/CDでも侮るなかれ!Docs as Codeに沿ったセキュアな開発プロセスの実践/secure-docsascode-cicd-for-static-sites
mhrtech
14
3.2k
Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!
mhrtech
3
1.7k
IaCでセキュリティを強化しよう!~IAMが苦手な開発者でも簡単に権限を絞れる。そう、AWS CDKならね!~/secjaws32
mhrtech
5
3k
AWS Control Towerを2年弱運用して得たエッセンスと展望/securityjaws31
mhrtech
1
2.3k
Other Decks in Technology
See All in Technology
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
130
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
220
MIMEと文字コードの闇
hirachan
2
1.4k
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
100
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
79k
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
13
4.4k
コンテナサプライチェーンセキュリティ
kyohmizu
1
130
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
140
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
110
分解して理解する Aspire
nenonaninu
2
880
日経のデータベース事業とElasticsearch
hinatades
PRO
0
210
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How to Ace a Technical Interview
jacobian
276
23k
KATA
mclloyd
29
14k
The Pragmatic Product Professional
lauravandoore
32
6.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Thoughts on Productivity
jonyablonski
69
4.5k
Six Lessons from altMBA
skipperchong
27
3.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Transcript
© 2024 Mizuho Research & Technologies, Ltd. Azure Verified Moduleを触って分かった
注目ポイント 技術開発本部 先端技術研究部 田代 健人 0 Japan Azure User Group14周年イベント (免責事項) 当レポートは情報提供のみを目的として作成されたものであり、商品の勧誘を目的 としたものではありません。本資料は、当社が信頼できると判断した各種データに 基づき作成されておりますが、その正確性、確実性を保証するものではありません。 また、本資料に記載された内容は予告なしに変更されることもあります。
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential 自己紹介
田代 健人 みずほリサーチ&テクノロジーズ株式会社 技術開発本部 先端技術研究部所属 1 名前と所属 今までのAzure関連業務: ・ PaaS Webアプリアーキテクチャ設計 ・ 社内向け開発基盤や生成AIチャットボット基盤 の構築・運営 ・ EA契約にまつわるアカウント運営の設計 好きなAzureサービス ・ Azure Policy ・ Entra Family Azureにまつわるもの Qiita:k_tashiro@mhrt-adv
本日お話すること Azure Verified Moduleを触って分かった 注目ポイント • Azure Verified Module (AVM)とは
• AVMを導入するきっかけと期待 • AVMの使い方 • AVMの使用感/使いこなすための一歩 • まとめ 2
Azure Verified Module (AVM)とは AVMを導入するきっかけと期待 3
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential Azure
Verified Module (AVM)とは 4 Microsoftが検証し標準化されたIaCモジュール群 標準化 AVMとしての仕様が定義されており、モジュール間の一貫性確保 (現在はBicepとTerraformをサポート) モジュールはUnit Testやe2e Testを通じて仕様準拠・デプロイ可能な状態を保証 検証 MSが公式にサポートするOSSプロジェクト AVMコアチームによる長期的な運営とサポート規約の明示 サポート WAF Aligned WAFなどの推奨事項に(可能な限り)準拠するようにデフォルトパラメータを設定 信頼性のあるIaCモジュールで開発者が安心して効率的に開発できるように
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMを導入するきっかけと期待
弊社内の生成AIチャットボット環境はAzure Developer CLI(azd) Starter Bicepを利用して立ち上げ • プロジェクト雛形生成と、多くのリソーステンプレート、GitHub Actionsテンプレートが プリセット • MS命名規則の接頭辞コレクション 5 > azd init -t azd-starter-bicep > azd up できるだけ用意されたものを使って、1から Bicepを書く必要がないようにしたい 生成AIチャットボット コード管理/CI/CD 開発者 ※azdは気に入っているのですが今回説明は割愛致します・・・
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMを導入するきっかけと期待
ただし、カバーされていないリソースなど不足要素はもちろんあり、都度追加実装するものの、正 しい実装が出来ているかの検証に頭を悩ませたり時間がかかってしまう・・・ →AVMの存在を知り、求める要件に合致しそうであるため、azdとAVMの組合せについて現在進行中 6 PaaSのような「開発に集中できる」メリットを享受できるかも 生成AIチャットボット コード管理/CI/CD 開発者
AVMの使い方 7
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMの使い方
AVMプロジェクトページのモジュールインデックスから、使いたいモジュールを選定 8 1.モジュール選定 現在136モジュール https://azure.github.io/Azure-Verified-Modules/
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMの使い方
各モジュールのREADMEに記載されているパラメータセット等の仕様に沿ってBicepを構築する 用途に応じた利用例が用意されているので、取り掛かりはこちらを参考に 9 2.Bicep構築 • AVMは、Bicep Registry Module で公開さ れているパスを指定して利用する VSCodeのBicep拡張機能により補完が効 くのでとても便利 • バージョン指定することで、AVMの更新 が意図せず反映されてしまうことを防止 https://github.com/Azure/bicep-registry- modules/tree/main/avm/res/web/site#example-1-function-app-using-only-defaults
AVMの使用感/使いこなすための一歩 まとめ 10
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMの使用感/使いこなすための一歩
11 柔軟な用途に対応したテンプレートがありがたい! • こちらは先ほどの最小限のパラメータでのデプロイ とは違い、WAF準拠に必要なパラメータで構築する 使用例 • 気軽に始めることもできれば、このような大規模な パラメータでの構築も対応 →再使用可能・多目的対応なテンプレートを目指すほど パラメータの増加やコードの品質維持の労力が比例して 高くなるため、公式検証されたものはとても有用
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMの使用感/使いこなすための一歩
12 WAFへの準拠はよく見極めよう! 一方で、 WAFへの準拠の推奨値であることはしっかりと認識すべきであるため、要件に照らして 取捨選択の見極めをするプロセスが大事 AVMとのインターフェイスはパラメータのみであり、(ソースは公開されているものの)AVMの中身 の挙動はユーザーからはブラックボックス AVMのデフォルトパラメータ次第で、ユースケースによっては過剰なスペックになるケースも このサービスを勉強したいから 最小限のパラメータで作ってみよう 最初から3台にスケールアウトして いるぞ・・・ WAF(可用性):AZの確保が推奨
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMの使用感/使いこなすための一歩
13 子モジュールの情報を認知できない点に注意! AVMでは子モジュールの扱いは親モジュールのソースで決められており、ユーザーからはブラック ボックスのため、子モジュールの情報をAVM呼び出し元のBicepで利用したいケースでは注意が必要 親 API Management 子 apiVersionSets apis outputs: { name: hoge resourceId: XXX } apiVersionSetsのresourceIdを 使いたいのに。。。 例:ある子モジュールで他の子モジュールのデプロイ結果(Outputs)を使いたいとき、親モジュール にはOutputsが返るがAVM内で完結するため、呼び出し元のBicepでは子モジュールのOutputs を認知することはできない
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential AVMの使用感/使いこなすための一歩
当たり前のことではありますが、ドキュメントにはヒントがたくさん詰まっていますので、ご一読 オススメです 特にFAQは充実している印象ですので、理解促進の助けになるはずです! (今日お話したこともいくつかこちらにあります) 14 公開されている仕様やFAQにはヒントがたくさん! https://azure.github.io/Azure-Verified-Modules/faq/#can-i-call-a-bicep-child-module-directly-eg- can-i-update-or-add-a-secret-in-an-existing-key-vault-or-a-route-in-an-existing-route-table
© 2024 Mizuho Research & Technologies, Ltd. Strictly Confidential まとめ
• MSが検証・サポートし長期的な取り組みを標榜しているため、安心して使っていけそう • 標準化されたモジュールは、実装者のIaCスキルを補完し、コードの品質確保に繋がりそう • 意図しないデフォルトパラメータの設定や、パラメータのみのやり取りが制約となるようなアーキ テクチャ設計などは利用時に留意しつつ、ベストプラクティスに乗っかれるように活用を検討する 15 Microsoftが検証し標準化されたIaCモジュール群 (再掲)
16