Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS CDKでリソースを作成する際の判断フロー
Search
Shoma Kobayashi
September 16, 2025
87
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDKでリソースを作成する際の判断フロー
Shoma Kobayashi
September 16, 2025
More Decks by Shoma Kobayashi
See All by Shoma Kobayashi
AWS CDKでリソースを作成する際の 判断フロー
shomakobayashi
1
650
AWS初心者の私が語る_CDKのココがイイ_.pdf
shomakobayashi
0
10
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Between Models and Reality
mayunak
4
460
Statistics for Hackers
jakevdp
799
230k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
Technical Leadership for Architectural Decision Making
baasie
3
570
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Making Projects Easy
brettharned
120
6.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Transcript
みんなのAWS CDK事情⼤公開スペシャル#3 製造ビジネステクノロジー部 コネクティッドカーチーム ⼩林 翔⾺ AWS CDKでリソースを作成する際の 判断フロー
⾃⼰紹介 2 • ⾼校卒業 • トラックの運ちゃん • ⾼知県で漁師 • SES
◦ ビッグデータ分析基盤開発 • ⾃社開発 ◦ 労務管理WEBアプリケーション開発 • 2025.03~ クラスメソッド⼊社 ◦ ⾃動⾞のコネクティッドサービス開発 ▪ サーバーサイドエンジニア • 最近の出来事 ◦ 茨城県の⿓神バンジーで100mバンジー ◦ クラスメソッドベトナムオフィスに突撃 • 部署 ◦ 製造ビジネステクノロジー部 コネクティッドカーチーム • 名前 ◦ ⼩林 翔⾺ • 住まい ◦ 東京 • 2025 Japan All AWS Certifications Engineers
今⽇お話しすること 3 1. 背景(きっかけ) 2. 結論 3. CDK化の判断フロー 4. 実践例:Security
Hub の新コントロールをCDKで実装 5. まとめ
前提 4 • AWS のリソースを CDK (TypeScript) で実装したい⽅
Security Hub の新コントロール [SSM.7] がリリース!
きっかけ 6 • AWS Security Hub に新しいコントロール [SSM.7] がリリースされた •
これにより、Security Hub から MEDIUM のアラートが発⽣ • アラートを抑制するためにリソースを修正する⽅針となった https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/doc-history.html
いつも通り L2 コンストラクトで実装しよう😎
きっかけ 8 • 壁にぶつかる ◦ 第⼀の困惑 ▪ ドキュメントを確認 • 「あれ?L2に該当するプロパティがない...」
◦ 第⼆の困惑 ▪ 「さらに調べると...L1でも⾒つからない。どうしよう...?」
きっかけ 9 • 壁にぶつかる ◦ 第⼀の困惑 ▪ ドキュメントを確認 • 「あれ?L2に該当するプロパティがない...」
◦ 第⼆の困惑 ▪ 「さらに調べると...L1でも⾒つからない。どうしよう...?」 困った....😔
先輩からのアドバイス 「AWS の実装をCDK化する際の考え⽅があるんやで😎」
結論 1 1 • AWS の実装をCDK化したい場合は、以下の順で実装可能性を検 討していくと良い ◦ L2 コンストラクト
◦ L1 コンストラクト ◦ カスタムリソース ◦ CLI‧マネコン L2 コンストラクト L1 コンストラクト カスタムリソース CLI ‧マネコン 上から順に 検討してい くと良い
なぜこの順番なのか?🧐
CDK のレイヤーについておさらい 1 3 https://cloud.nri-net.com/reports/aws-cdk-report-2404/ CloudFormationリソースと 1:1で対応していて、名前の接 頭辞に「Cfn」が利⽤される L1 Constructにデフォルト
値や関数を加えて抽象化し たもの 複数のAWSリソースを組み 合わせてたもの((API Gateway-Lambda-Dynamo DB等))
L2 コンストラクトが良い理由 1 4 • 適切なデフォルトプロパティ設定、ベストプラクティスのセ キュリティポリシーが設定されている • ⾼度な抽象化が提供されており、少ないコードで実装可能
ベストプラクティスの設定がされている 1 5 S3 バケットを L2 コンストラクトで作成 S3バケットをL2コンストラクトでインスタ ンス化して作成したら、⾃動でパブリック アクセスブロックが付与される!😎
S3 バケットを L1 コンストラクトで作成 パブリックアクセス のブロックは明⽰的 に記載する必要があ る🥺
• ⾼度な抽象化が提供されており、少ないコードで実装可能 1 6 S3 バケット‧Lambda を L1 コンストラクトで作成 S3
バケット‧Lambda を L2 コンストラクトで作成 600⽂字 1688⽂字🥺 書ききれない!
L2 コンストラクトが良い理由 1 7 • 適切なデフォルトプロパティ設定、ベストプラクティスのセ キュリティポリシーが設定されている • ⾼度な抽象化が提供されており、少ないコードで実装可能 •
ヘルパーメソッドにより簡単にプロパティ、アクセス許可を定 義できる
L1 コンストラクト 1 8 • 抽象化はおこなわず、AWS CloudFormation リソースに直接 マッピングされる •
CloudFormationリソースと1対1で対応しており、より細かい 制御が可能 • こんな時に使う ◦ 細かいカスタマイズが必要な場合 ◦ L2で未対応の新しいプロパティを使いたい場合 ⚠ コード量が多くなりがち ⚠ AWSベストプラクティスは⾃分で実装する必要
カスタムリソース 1 9 • Lambda関数を⾃分で書かずにAWS APIを宣⾔的に呼び出し IaCで管理できない設定をコード化して⼀元管理できる • こんなときに使う ◦
CDKでサポートされていないAWSサービスや複雑なロジッ クが必要な場合 ⚠ 実⾏タイミング:onCreate/onUpdate/onDelete を適切に選択 ⚠ Lambda実⾏時間制限:最⼤15分でタイムアウト
カスタムリソースについての詳細はこちらを 2 0 https://www.youtube.com/watch?v=KgA41_aZ9o0 morimorikochanさん https://dev.classmethod.jp/articles/shoma-security -hub-control-ssm7-block-public-sharing-settings-en abled-with-custom-resource/
CLI‧マネジメントコンソール 2 1 • CDKでの⾃動化が困難、または⼀時的な作業の場合の最終⼿段 として⼿動操作を検討する ⚠ 『再現性の低下』や『設定ミスのリスク』があるためCDKでの実 装を⽬指す上では最終⼿段となる
実践におこなったフロー
SecurityHubコントロール [SSM.7] の対応 • 要件 ◦ SSMドキュメントのパブリック共有ブロックを有効化し、 Security Hub [SSM.7]
コントロールを PASS する ◦ 可能な限り CDK で実装する
SecurityHubコントロール [SSM.7] の対応 • 実践におこなったCDK化のフロー L2 コンストラクトの調査 方法 APIリファレンス等でSSM関連の L2コンストラクトを確認
結果 パブリック共有ブロック設定のプ ロパティが見つからない ❌ Step 1 Step 2 Step 3 L1 コンストラクトの調査 方法 APIリファレンス等でSSM関連の L1コンストラクトを確認 結果 パブリック共有ブロック設定のプ ロパティが見つからない ❌ カスタムリソース の調査 方法 AWS CLIドキュメントでSSM関連の APIコマンドを調査 結果 aws ssm update-service-settingコ マンドで設定変更が可能! ✅
まとめ 2 5 • AWS の実装をCDK化したい場合は、以下の順で実装可能性 を検討していくと良い! ◦ L2 コンストラクト
◦ L1 コンストラクト ◦ カスタムリソース ◦ CLI‧マネコン
ご清聴ありがとうございました