Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS CDKでリソースを作成する際の判断フロー

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Shoma Kobayashi Shoma Kobayashi
September 16, 2025
71

AWS CDKでリソースを作成する際の判断フロー

Avatar for Shoma Kobayashi

Shoma Kobayashi

September 16, 2025
Tweet

Transcript

  1. ⾃⼰紹介 2 • ⾼校卒業 • トラックの運ちゃん • ⾼知県で漁師 • SES

    ◦ ビッグデータ分析基盤開発 • ⾃社開発 ◦ 労務管理WEBアプリケーション開発 • 2025.03~ クラスメソッド⼊社  ◦ ⾃動⾞のコネクティッドサービス開発 ▪ サーバーサイドエンジニア • 最近の出来事 ◦ 茨城県の⿓神バンジーで100mバンジー ◦ クラスメソッドベトナムオフィスに突撃 • 部署 ◦ 製造ビジネステクノロジー部 コネクティッドカーチーム • 名前 ◦ ⼩林 翔⾺ • 住まい ◦ 東京 • 2025 Japan All AWS Certifications Engineers
  2. きっかけ 6 • AWS Security Hub に新しいコントロール [SSM.7] がリリースされた •

    これにより、Security Hub から MEDIUM のアラートが発⽣ • アラートを抑制するためにリソースを修正する⽅針となった https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/doc-history.html
  3. きっかけ 8 • 壁にぶつかる ◦ 第⼀の困惑 ▪ ドキュメントを確認 • 「あれ?L2に該当するプロパティがない...」

    ◦ 第⼆の困惑 ▪ 「さらに調べると...L1でも⾒つからない。どうしよう...?」
  4. きっかけ 9 • 壁にぶつかる ◦ 第⼀の困惑 ▪ ドキュメントを確認 • 「あれ?L2に該当するプロパティがない...」

    ◦ 第⼆の困惑 ▪ 「さらに調べると...L1でも⾒つからない。どうしよう...?」 困った....😔
  5. 結論 1 1 • AWS の実装をCDK化したい場合は、以下の順で実装可能性を検 討していくと良い ◦ L2 コンストラクト

    ◦ L1 コンストラクト ◦ カスタムリソース ◦ CLI‧マネコン L2 コンストラクト L1 コンストラクト カスタムリソース CLI ‧マネコン 上から順に 検討してい くと良い
  6. • ⾼度な抽象化が提供されており、少ないコードで実装可能 1 6 S3 バケット‧Lambda を L1 コンストラクトで作成 S3

    バケット‧Lambda を L2 コンストラクトで作成 600⽂字 1688⽂字🥺 書ききれない!
  7. L1 コンストラクト 1 8 • 抽象化はおこなわず、AWS CloudFormation リソースに直接 マッピングされる •

    CloudFormationリソースと1対1で対応しており、より細かい 制御が可能 • こんな時に使う ◦ 細かいカスタマイズが必要な場合 ◦ L2で未対応の新しいプロパティを使いたい場合 ⚠ コード量が多くなりがち ⚠ AWSベストプラクティスは⾃分で実装する必要
  8. カスタムリソース 1 9 • Lambda関数を⾃分で書かずにAWS APIを宣⾔的に呼び出し IaCで管理できない設定をコード化して⼀元管理できる • こんなときに使う ◦

    CDKでサポートされていないAWSサービスや複雑なロジッ クが必要な場合 ⚠ 実⾏タイミング:onCreate/onUpdate/onDelete を適切に選択 ⚠ Lambda実⾏時間制限:最⼤15分でタイムアウト
  9. 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コ マンドで設定変更が可能! ✅󰢏