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
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
Search
iret.kumoben
November 01, 2024
Technology
1
140
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
下記、勉強会での資料です。
https://youtu.be/4WMls8ZjGeA
iret.kumoben
November 01, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
33
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
58
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
63
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
58
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
62
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
51
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
82
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
130
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
99
Other Decks in Technology
See All in Technology
LayerX QA Night#1
koyaman2
0
280
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
130
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
400
AI との良い付き合い方を僕らは誰も知らない
asei
0
290
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
1
200
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
250
ESXi のAIOps だ!2025冬
unnowataru
0
410
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
2
620
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
770
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
140
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.5k
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
250
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
35k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
78
Technical Leadership for Architectural Decision Making
baasie
0
190
How to build a perfect <img>
jonoalderson
0
4.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
410
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
41k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
71
Ethics towards AI in product and experience design
skipperchong
1
140
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
97
Transcript
第146回 雲勉 BLEAを眺めて CDKの書き方について学ぶ
講師自己紹介 2 ◼ 本田 岳士 • クラウドインテグレーション事業部ソリューション開発セクション 第2開発グループ • アイレット歴1年4ヶ月
• 一人旅と猫と変なTシャツの人。Serverless好き
アジェンダ 3 1. BLEAとは 2. READMEを読んでみよう 3. CDKのソースコードを読んでみよう
1. BLEAとは 4
1.BLEAとは 5 ◼ BLEA(Baseline Environment on AWS)とは • AWS Well-ArchitectedやAWS
Security Reference Architecture(AWS SRA)といったド キュメントで提供されているセキュリティのベストプラクティスの中で、どのようなシステム でも最低限実施すべき基本的な設定(ベースライン)をAWS CDKによってテンプレート化され たもの。 • ソースコードはGitHub上で公開されている。READMEがとても丁寧に書かれていて、CDKの 環境構築のチュートリアルとしても十分使える。 • 単一のアカウントをセットアップするStandalone版と、AWS Control Towerをベースとした マルチアカウント版があり、いずれの場合もGuest SystemとGovernance Baseに分けられてい る。 https://github.com/aws-samples/baseline-environment-on-aws
1.BLEAとは 6
1.BLEAとは 7 Governance Base Guest System • usecasesのディレクトリにGovernance BaseとGuest Systemが用意されている。Guest
SystemについてはEC2, ECS, Serverless APIの3パターン。 • CDKはTypeScriptで記述されている。ServerlessについてはLambdaのサンプルコードも用意 されている(Node.jsとPython)。
2. READMEを読んでみよう 8
2.READMEを読んでみよう 9 ◼ READMEがとても丁寧に書かれている • 導入手順/HowToの説明が細やか • Standalone版からマルチアカウント版への移行とCDK Pipelineを使ったCI/CD(パイプラ イン構成パターンが複数紹介されている)の具体的な手順が説明されている
9
2.READMEを読んでみよう 10 導入手順/HowTo プロジェクト導入時の Gitのpre-commit hookのセットアップも (導入手順の冒頭部分) 環境ごとのパラメータの設定の書き方まで VSCodeの導入手順から
3. CDKのソースコードを読んでみよう 11
3. CDKのソースコードを読んでみよう 12 ◼ エントリポイント(Standalone版のGovernance Base) 環境変数などを設定 (ここではリソースを作ったりしない)
3. CDKのソースコードを読んでみよう 13 ちなみに、複数環境のリソースを管理したい場合はtryGetContextを使用してcdk deploy のcontextオプションで環境を指定して使うやり方がある parameter.tsにstgParameter, prdParameterなどを追加して envの値に応じて変数を切り替える
3. CDKのソースコードを読んでみよう 14 ◼ スタック定義ファイル(Standalone版のGovernance Base) • props(第3引数)の型を定義 • コンストラクタでそれぞれサービス群
(constructディレクトリ内)をインスタンス化
3. CDKのソースコードを読んでみよう 15 ◼ リソース定義(Standalone版のGovernance Base) • props(第3引数)の型を定義 • 各リソースを作成
AWS GuardDuty AWS Security Hub AWS Conformance Pack AWS Config Rules
3. CDKのソースコードを読んでみよう 16 ◼ エントリポイント(Guest SystemのServerless API) 環境変数などを設定 (ここではリソースを作ったりしない)
3. CDKのソースコードを読んでみよう 17 ◼ スタック定義ファイル(Guest SystemのServerless API) • props(第3引数)の型を定義 •
コンストラクタでそれぞれサービス群 (constructディレクトリ内)をインスタンス化
3. CDKのソースコードを読んでみよう 18 ◼ リソース定義(Guest SystemのServerless API) • api.tsでAmazon API
Gatewayのリソースを定義して いる • ここでAWS Lambdaのリソースも作成している →AWS Lambdaのコードは?
3. CDKのソースコードを読んでみよう 19 ◼ リソース定義(Guest SystemのServerless API) AWS GuardDuty AWS
Security Hub AWS Conformance Pack AWS Config Rules ローカルのパスとhandlerを指定 (S3にアップロードされたファイルを指定することもできる)
3. CDKのソースコードを読んでみよう 20 ◼ Lambda(Guest SystemのServerless API) ちゃんとLambdaのサンプルコードも用意されている (DynamoDBのデータ取得・書き込み)
リファレンス 21 • AWS環境にセキュアなベースラインを提供するテンプレート 「Baseline Environment on AWS」のご紹介 https://aws.amazon.com/jp/blogs/news/announcing-baseline-environment-on-aws/ •
AWS CDK API Reference https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html • AWS CDK Immersion Day ワークショップ https://catalog.us-east-1.prod.workshops.aws/workshops/10141411-0192-4021- afa8-2436f3c66bd8/ja-JP • AWS CDK Examples(GitHub) https://github.com/aws-samples/aws-cdk-examples
22 ひとこと:BLEAサイコー!
23 ご清聴ありがとうございました!