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のカスタムリソースでContinuum(旧Security Agent)を実装し...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
アキキー | Akihisa Ikeda
September 30, 2026
Programming
28
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
アキキー | Akihisa Ikeda
September 30, 2026
More Decks by アキキー | Akihisa Ikeda
See All by アキキー | Akihisa Ikeda
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
150
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
300
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
4
4.6k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
360
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
200
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
280
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
290
AWS CDKの推しポイントN選
akihisaikeda
1
350
地獄絵図!CDKプロジェクトを手動更新して生まれた大量のプロパティ差分を解消する方法
akihisaikeda
5
1.5k
Other Decks in Programming
See All in Programming
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
270
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
550
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
180
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
460
The Rails Doctrine Decade
koic
2
410
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
150
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
200
iOSDC2026登壇資料.pdf
riofujimon
0
200
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.9k
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.3k
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
4 Signs Your Business is Dying
shpigford
187
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Automating Front-end Workflow
addyosmani
1369
210k
Optimizing for Happiness
mojombo
378
71k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
GraphQLとの向き合い方2022年版
quramy
50
15k
Paper Plane
katiecoart
PRO
4
53k
Transcript
JAWS-UG 茨城 #17 秋の推しAWSサービスLTまつり! CloudFormation未対応でも諦めない! AWS CDKのカスタムリソースで Continuum(旧Security Agent)を実装した話 2026.9.30(水)
池田 晃尚(@akikii__)
アキキー | 池田 晃尚 株式会社メイツ バックエンドエンジニア / SRE 推しサービス AWS
CDK JAWS-UG CDK支部 AWS Community Builders Dev Tools, 2026〜
AWS CDKとは? プログラミング言語でAWSリソースを定義するIaCフレームワーク → プログラミング言語 コードからCloudFormation テンプレートを合成 Special Thanks! Shota
Kawasaki (@kawaaaas) → CloudFormation リソースの状態と比較して 差分をデプロイ AWSリソース
プロジェクトで Continuumコードスキャニングを 導入したときの話をします
Continuumコードスキャニングとは? Continuum(Security Agentが改名)の機能の1つ AIエージェントがソースコードをスキャンして脆弱性を検出する機能 フルリポジトリスキャン リポジトリ スキャン結果 GitHub GitLab Bitbucket
High リポジトリ全体を読む Continuum コードスキャニング 旧AWS Security Agent など Create a code review - AWS Security Agent (now part of AWS Continuum) 脆弱性と修正案を出す 例 SQLインジェクション src/db/query.ts:42 - query(`... id = ${id}`) + query("... id = ?", [id]) Medium ハードコードされた 秘密情報 config/app.ts:8 https://docs.aws.amazon.com/securityagent/latest/userguide/perform-code-review-scan.html
Continuumコードスキャニングとは? リソース構成 GitLab アクセストークン AWS Continuum (旧AWS Security Agent) 接続
Integration GitLabと接続する CloudFormation未対応 リポジトリ CodeReviewがスキャンする AgentSpace CloudFormation対応 Continuumが管理するアプリの単位 CodeReview CloudFormation未対応
AWS CDKとは?(再) プログラミング言語でAWSリソースを定義するIaCフレームワーク → プログラミング言語 コードからCloudFormation テンプレートを合成 → CloudFormation リソースの状態と比較して
差分をデプロイ AWSリソース
AWS CDKとは?(再) プログラミング言語でAWSリソースを定義するIaCフレームワーク → → CloudFormation未対応のリソースは 標準的な方法ではCDKで定義できない プログラミング言語 コードからCloudFormation テンプレートを合成
CloudFormation リソースの状態と比較して 差分をデプロイ AWSリソース
ContinuumコードスキャニングをCDKで管理するため カスタムリソースで定義しました!
カスタムリソースとは? CloudFormationのライフサイクルに合わせてカスタムの処理を実行する仕組み カスタムリソース カスタムリソースを新規作成 Create カスタムリソースのプロパティを更新 Update CloudFormation のリソース カスタムリソースを削除
APIを呼ぶ Lambda関数 API AWS・外部のAPI Delete CloudFormationが応答を待ち受ける カスタムリソースを使用してカスタムプロビジョニングロジックを作成する S3オブジェクト 実行結果を書き込む https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/template-custom-resources.html
カスタムリソースとは? e.g. S3バケットを空にするカスタムリソース Bucket(L2 Construct)で autoDeleteObjects: true にすると作られる カスタムリソース 何もしない
Create CloudFormation のリソース Update Delete 何もしない Lambda関数 S3バケット オブジェクトを全て削除する
実装が複雑になりそうだけど… 何故そこまでしてCDKで定義したかったの? CloudFormationのライフサイクルで管理できる 定義したリソースを複製しやすい e.g. リポジトリごとにCodeReviewを作れる 設定を設計意図と一緒にソースコードに残せる マネコンから作ると設計意図を残すには別途ドキュメントが必要 ほかにも 他のリソースと合わせてCDKで統一できる
CloudFormationが対応したらL1 Constructに取り込みやすい
それでは... Continuumコードスキャニングを CDKのカスタムリソースを使って定義します
Continuumコードスキャニングのリソース構成 GitLab アクセストークン AWS Continuum (旧AWS Security Agent) 接続 Integration
GitLabと接続する CloudFormation未対応 リポジトリ CodeReviewがスキャンする AgentSpace CloudFormation対応 Continuumが管理するアプリの単位 CodeReview CloudFormation未対応 → Integration・CodeReviewをカスタムリソースで定義します!
CodeReviewを定義するためのポイント 連携したリポジトリをコードスキャンするためのリソース CloudFormationのイベントに対応したAPIが揃っている Create: CreateCodeReview Update: UpdateCodeReview Delete: BatchDeleteCodeReviews AWS
Security Agent API Reference - Actions https://docs.aws.amazon.com/securityagent/latest/APIReference/API_Operations.html
CodeReviewを定義するためのポイント 連携したリポジトリをコードスキャンするためのリソース CloudFormationのイベントに対応したAPIが揃っている Create: CreateCodeReview Update: UpdateCodeReview Delete: BatchDeleteCodeReviews →
AwsCustomResourceを利用する AWS Security Agent API Reference - Actions https://docs.aws.amazon.com/securityagent/latest/APIReference/API_Operations.html
AwsCustomResourceとは? CDKが提供しているカスタムリソースの作り方の1つ CloudFormationイベントごとにAWS SDKを1つだけ実行できる プロパティを渡すだけで簡単にカスタムリソースを作成できる 指定したAWS SDKからIAMポリシーを自動で生成する 権限が足りない場合は自分で指定する必要あり class AwsCustomResource
(construct) · AWS CDK https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.custom_resources.AwsCustomResource.html
AwsCustomResourceとは? CodeReviewの定義例 プロパティ カスタムリソース(AwsCustomResource) AWS SDKの呼び出しを渡す onCreate: action: CreateCodeReview parameters:
{…} onUpdate: action: UpdateCodeReview parameters: {…} onDelete: action: BatchDeleteCodeReviews parameters: {…} CreateCodeReview Create CloudFormation のリソース Update Lambda関数 UpdateCodeReview CodeReview AwsCustomResourceが作成 Delete BatchDeleteCodeReviews
Integrationを定義するためのポイント リポジトリとContinuumを連携するためのリソース プロパティにアクセストークン(シークレット)を指定する必要がある テンプレートやログからシークレットが流出してしまう 回避しようとすると単一のAWS SDK呼び出しでは実現できない AwsCustomResourceは利用できない
Integrationを定義するためのポイント リポジトリとContinuumを連携するためのリソース プロパティにアクセストークン(シークレット)を指定する必要がある テンプレートやログからシークレットが流出してしまう 回避しようとすると単一のAWS SDK呼び出しでは実現できない AwsCustomResourceは利用できない → カスタムリソースプロバイダーフレームワークを利用する
プロバイダーフレームワークとは? CDKが提供しているカスタムリソースの作り方の1つ CloudFormationイベントに合わせた処理をLambda関数で書ける 処理はソースコードで書くので、複雑な処理も任せられる カスタムリソースに必要な機能を簡単に使える CloudFormationとのやり取り エラーハンドリング 非同期処理のポーリング など… 呼び出す処理に必要な権限は自分で付与する必要がある
Provider Framework · AWS CDK https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.custom_resources-readme.html#provider-framework
プロバイダーフレームワークとは? Integrationの定義例 ※ 簡素化のためCreateイベントのみに省略 カスタムリソース(プロバイダーフレームワーク) ① トークンを取得 GetSecretValue プロパティ 自分で決めた値を渡す
secretArn など… CloudFormation のリソース Create Lambda関数 Lambda関数 フレームワークが作成 自前で書く フレームワーク用 処理用 ② トークンを指定 CreateIntegration Secrets Manager アクセストークン Integration
AwsCustomResourceと プロバイダーフレームワークの使い分け 基本はAwsCustomResourceを使い、 実現できない要件があるときだけプロバイダーフレームワークを使う AwsCustomResource AWS SDKの呼び出し1回で済む プロバイダーフレームワーク APIの呼び出しが1回に収まらない 非同期処理の完了を待ちたい
AWS SDKではできない処理をしたい
おわりに カスタムリソースを使えば CloudFormation未対応のサービスも CDKで管理できる! その他にも... CloudFormationで定義できないものを管理したい デプロイしたリソースにデータを投入したい デプロイフローに処理を差し込みたい デプロイ時に外部から情報を取得したい
宣伝
積極採用中 バックエンド/フロントエンド/SRE 株式会社メイツ Mates Inc. カジュアル面談はこちら
Thank You! \ ご清聴ありがとうございました! /