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
860
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でデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
6
1.1k
BLEA v3.0.0の新しいベストプラクティスを取り入れた効率的なAWS CDK開発/jawsug_cdk16
mhrtech
3
600
あなたのアプリケーションをレガシーコードにしないための実践Pytest入門/pyconjp2024_pytest
mhrtech
6
2.5k
静的サイトのCI/CDでも侮るなかれ!Docs as Codeに沿ったセキュアな開発プロセスの実践/secure-docsascode-cicd-for-static-sites
mhrtech
12
2.8k
Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!
mhrtech
3
1.2k
IaCでセキュリティを強化しよう!~IAMが苦手な開発者でも簡単に権限を絞れる。そう、AWS CDKならね!~/secjaws32
mhrtech
5
2.7k
AWS Control Towerを2年弱運用して得たエッセンスと展望/securityjaws31
mhrtech
1
1.8k
そのリファレンス誰のため?ユーザ活用に向き合う/finjaws31
mhrtech
0
630
AWS CDKにテストは必要?試行錯誤したスクラム開発事例を紹介!/CdkConJp2023
mhrtech
5
6.1k
Other Decks in Technology
See All in Technology
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
Terraform Stacks入門 #HashiTalks
msato
0
350
Platform Engineering for Software Developers and Architects
syntasso
1
520
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Can We Measure Developer Productivity?
ewolff
1
150
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Featured
See All Featured
Site-Speed That Sticks
csswizardry
0
26
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
A better future with KSS
kneath
238
17k
For a Future-Friendly Web
brad_frost
175
9.4k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
The Language of Interfaces
destraynor
154
24k
Faster Mobile Websites
deanohume
305
30k
Ruby is Unlike a Banana
tanoku
97
11k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Designing for Performance
lara
604
68k
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