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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
アキキー | Akihisa Ikeda
September 30, 2026
Programming
160
2
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
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
150
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
180
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
350
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
4
4.6k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
380
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
220
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
340
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
300
AWS CDKの推しポイントN選
akihisaikeda
1
390
Other Decks in Programming
See All in Programming
golang-bob.pdf
iwatsukayura
0
140
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
180
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
150
気持ちぃ〜角丸 Squircle
ryu1013
0
330
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
370
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
190
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
3
1.2k
Performance Optimization With LLMs
xleitix
0
200
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
200
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
150
phperだってパンチカードでコーディングしたい
o0h
PRO
0
400
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
12k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
950
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Building Adaptive Systems
keathley
44
3.3k
Embracing the Ebb and Flow
colly
88
5.2k
Faster Mobile Websites
deanohume
310
32k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Building AI with AI
inesmontani
PRO
1
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Crafting Experiences
bethany
1
390
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
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! \ ご清聴ありがとうございました! /