Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
49
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
下記、勉強会での資料です。
https://youtu.be/4WMls8ZjGeA
iret.kumoben
November 01, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
16
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
36
第145回 雲勉 Amazon ECSでサービス間通信する方法を調べてみよう
iret
0
42
第144回 雲勉 Amazon Aurora Serverless v2の基礎とアーキの裏側を覗いてみる
iret
0
91
第143回 雲勉 [New Relic]インフラストラクチャ監視と気をつけたいポイント
iret
0
42
第142回 雲勉 AWS Backupの復元テストで自動化できること・できないこと
iret
0
95
第141回 雲勉 Amazon Inspectorによる脆弱性管理~ECR コンテナイメージ編~
iret
0
260
第2回 雲勉LT大会 パブリッククラウドのサーバレスサービスの違いを調べてみた
iret
0
25
第2回 雲勉LT大会 AWS Control Tower の「コントロール」って何? という謎から AWS Control Tower を知る
iret
0
23
Other Decks in Technology
See All in Technology
総会員数1,500万人のレストランWeb予約サービスにおけるRustの活用
kymmt90
3
2.9k
MySQL 8.0 から PostgreSQL 16 への移行と RLS 導入までの道のりと学び
baseballyama
0
1k
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
13
2.9k
開発者向けツールを魔改造してセキュリティ診断ツールを作っている話 - 第1回 セキュリティ若手の会 LT
pizzacat83
0
390
GeminiとUnityで実現するインタラクティブアート
hokkey621
0
640
Replit Agent
kawaguti
PRO
2
190
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
0
270
深層学習のリペア技術の最新動向と実際 / DNN Repair Techniques for AI Performance Alignment for Safety Requirements
ishikawafyu
0
490
12/2(月)のBedrockアプデ速報(re:Invent 2024 Daily re:Cap #1 with AWS Heroes)
minorun365
PRO
2
310
2024 眼科AIコンテスト手法解説スライド 第5回日本眼科AI学会総会
minamikoyasuganka
0
110
宇宙最速のランチRecap LT会(AWS re:Invent 2024)
watany
1
380
PostgreSQL Conference Japan 2024 A4 Comparison of column-oriented access methods
nori_shinoda
0
150
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
What's in a price? How to price your products and services
michaelherold
243
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
A designer walks into a library…
pauljervisheath
204
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
4 Signs Your Business is Dying
shpigford
181
21k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Making Projects Easy
brettharned
116
5.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
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 ご清聴ありがとうございました!