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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
iret.kumoben
November 01, 2024
Technology
160
1
Share
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
下記、勉強会での資料です。
https://youtu.be/4WMls8ZjGeA
iret.kumoben
November 01, 2024
More Decks by iret.kumoben
See All by iret.kumoben
第182回 雲勉 【Gemini 3.0 Pro】AI ベンチマーク徹底比較!他モデルに比べ優れている点まとめ
iret
0
95
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
78
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
100
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
140
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
110
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
110
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
93
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
130
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
170
Other Decks in Technology
See All in Technology
生成AIに振り回されない 〜確率論と決定論の使い分け〜
shukob
0
100
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
150
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
770
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
160
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
1
110
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
980
AIAgentと取り組むKaggle
508shuto
2
540
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
270
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
410
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
200
checker.tsにチキンレースを仕掛けてみた:型エラー(TS2589)が発生する境界線を求めて
hal_spidernight
1
200
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
1
280
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
GitHub's CSS Performance
jonrohan
1033
470k
Producing Creativity
orderedlist
PRO
348
40k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
HDC tutorial
michielstock
2
670
Navigating Team Friction
lara
192
16k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
360
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
700
A Modern Web Designer's Workflow
chriscoyier
698
190k
The untapped power of vector embeddings
frankvandijk
2
1.7k
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 ご清聴ありがとうございました!