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
110
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
下記、勉強会での資料です。
https://youtu.be/4WMls8ZjGeA
iret.kumoben
November 01, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第161回 雲勉 Amazon Kinesis Data Streams と Amazon Data Firehose を使ってみよう
iret
0
39
第160回 雲勉 それ、AWS Step Functions で置き換えれん?
iret
0
60
第159回 雲勉 Amazon Bedrock でブラウザを操作する AI エージェントを作ってみた
iret
0
70
第158回 雲勉 AWS CDK 入門 ~ プログラミング言語で書くインフラ Python 編 ~
iret
0
59
第157回 雲勉 AWSインフラ監視をNew Relicで行う際の個人的Tips
iret
0
55
第156回 雲勉 AWS on Windows入門
iret
0
92
第155回 雲勉 サーバレスアーキテクチャを 用いたコスト重視 AI サービス
iret
0
63
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
iret
0
66
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
83
Other Decks in Technology
See All in Technology
Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
0
490
データ戦略部門 紹介資料
sansan33
PRO
1
3.1k
RDRA3.0を知ろう
kanzaki
2
430
実践Kafka Streams 〜イベント駆動型アーキテクチャを添えて〜
joker1007
0
350
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
AIのための オンボーディングドキュメントを整備する - hirotea
hirotea
9
2.3k
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Houtou.pm #1
papix
0
660
AIの電力問題を概観する
rmaruy
1
210
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
TypeScript と歩む OpenAPI の discriminator / OpenAPI discriminator with TypeScript
kaminashi
1
150
Cursor Meetup Tokyo
iamshunta
2
560
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Code Review Best Practice
trishagee
68
18k
Bash Introduction
62gerente
614
210k
The Cult of Friendly URLs
andyhume
78
6.4k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Navigating Team Friction
lara
186
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
79
Designing for Performance
lara
608
69k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
840
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.3k
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 ご清聴ありがとうございました!