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.9k
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
720
Fin-JAWS第38回reInvent2024_全金融系セッションをライトにまとめてみた
mhrtech
1
240
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
6
2k
BLEA v3.0.0の新しいベストプラクティスを取り入れた効率的なAWS CDK開発/jawsug_cdk16
mhrtech
3
900
あなたのアプリケーションをレガシーコードにしないための実践Pytest入門/pyconjp2024_pytest
mhrtech
7
4.6k
静的サイトのCI/CDでも侮るなかれ!Docs as Codeに沿ったセキュアな開発プロセスの実践/secure-docsascode-cicd-for-static-sites
mhrtech
14
3.5k
Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!
mhrtech
4
2k
IaCでセキュリティを強化しよう!~IAMが苦手な開発者でも簡単に権限を絞れる。そう、AWS CDKならね!~/secjaws32
mhrtech
5
3.2k
AWS Control Towerを2年弱運用して得たエッセンスと展望/securityjaws31
mhrtech
1
2.5k
Other Decks in Technology
See All in Technology
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
170
Scale Security Programs with Scorecarding
ramimac
0
300
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
24k
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
17
12k
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
人とAIとの共創を夢見た2か月 #共創AIミートアップ / Co-Creation with Keito-chan
kondoyuko
0
430
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
4
540
VueUseから学ぶ実践TypeScript #TSKaigi #TSKaigi2025
bengo4com
3
5.3k
開発も運用もビジネス部門も! クラウドで実現する「つらくない」統制とセキュリティ / Effortless Governance and Security Enabled by the Cloud
kanny
3
1.2k
勘違いから始まったProxmox on ProxmoxでGPUパススルー【JPmoxs勉強会#7】/JPmoxs7_GPU_Passthrough_on_Proxmox_on_Proxmox-A_Journey_That_Started_with_a_Misunderstanding
tsukimi_site
1
180
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
730
RDRA3.0を知ろう
kanzaki
2
330
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Side Projects
sachag
453
42k
Site-Speed That Sticks
csswizardry
6
570
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.3k
Designing Experiences People Love
moore
142
24k
GraphQLとの向き合い方2022年版
quramy
46
14k
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