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
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction...
Search
アキキー | Akihisa Ikeda
October 29, 2026
Programming
330
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
アキキー | Akihisa Ikeda
October 29, 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
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
170
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
190
ドリフトを絶対に許さない(?)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
390
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
220
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
350
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
300
Other Decks in Programming
See All in Programming
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
260
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
370
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
130
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
240
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
460
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
130
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
170
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
360
Speed Design
sergeychernyshev
33
2.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
580
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Product Roadmaps are Hard
iamctodd
55
13k
Technical Leadership for Architectural Decision Making
baasie
3
610
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Un-Boring Meetings
codingconduct
0
460
Transcript
JAWS-UG初心者支部 #93 AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 2026.10.29(木) 池田 晃尚(@akikii__)
アキキー | 池田 晃尚 株式会社メイツ バックエンドエンジニア / SRE 推しサービス AWS
CDK JAWS-UG CDK支部 AWS Community Builders Dev Tools, 2026〜
これから本番リリース(?)を始めます
AWS Cloud A社 WAF B社 C社 お客さんの会社 許可した会社だけ通す アクセスする IPセット
IPセット A社 B社 C社 203.▪.▪.12/32 203.▪.▪.128/28 192.▪.▪.10/32 リクエストを渡す ALB A社のIPアドレスを変更する お客様であるA社がオフィス移転したので、 業務システムのWAFのIPセットを変更します 業務システム (ECS)
手順書通りに進めていきたいと思います。 それではWAFのコンソールでIPセットを開きます…
手順書の画面(旧コンソール) 今の画面(新コンソール) ここから書き換える ↓ 開いてみると…手順書の画面と見た目が全然違いますね…
手順書 対応したIPアドレスがあったので(嘘)、手順書の値に書き換えます ※ 間違った値を書き換えています
マネジメントコンソール IP セットを編集 IP アドレス (CIDR 表記) 198.▪.▪.7/32 203.▪.▪.80/32 192.▪.▪.24/32
192.▪.▪.10/32 203.▪.▪.12/32 198.▪.▪.45/32 198.▪.▪.200/32 削除 削除 削除 削除 削除 削除 削除 IP アドレスの追加 設定変更完了しました! おや?B社から苦情が来てますね… A社 B社 接続できるようになりました! 急に接続できなくなった!
マネジメントコンソール IP セットを編集 IP アドレス (CIDR 表記) 198.▪.▪.7/32 203.▪.▪.80/32 192.▪.▪.24/32
192.▪.▪.10/32 203.▪.▪.12/32 198.▪.▪.45/32 削除 削除 削除 削除 削除 削除 198.▪.▪.200/32 削除 IP アドレスの追加 A社(旧) B社(削除) A社(新) 改めて設定を見ると、A社のIPアドレスが新旧どちらも残っていて、B社のIPアドレスが消えてました 元の値ってどこに載ってたかな……
リリースの問題点 マネコンが手順書と変わっていて困った 設定を見間違えて事故を起こしてしまった 復旧しようとしても元の値を探す必要があった → IaCでデプロイすればこのような間違いが起きづらく、 より安全なデプロイができます!
それでは IaCについて解説していきます
AWSリソースをデプロイする主な選択肢 マネジメントコンソールから画面操作 マネジメント コンソール アプリケーションからSDKを呼び出し SDK CLIでコマンド操作 CLI $ aws
s3api create-bucket \ --bucket my-bucket await s3.send(new CreateBucketCommand({ Bucket: "my-bucket", })); IaCでデプロイ IaC MyBucket: Type: AWS::S3::Bucket Properties: BucketName: my-bucket
IaC(Infrastructure as Code)とは? インフラのあるべき姿をコードで宣言して、 現在の状態との差分を元に リソースをあるべき姿に合わせる仕組み
手続き型 vs 宣言型のデプロイ手段 手続き型 宣言型 「どうやるか」の設定手順を1つずつ指 示するデプロイ方法 現在のリソースに対して、作成・変更・ 削除の操作を都度実行する 例:マネコンからLambda関数のメモリ
サイズを変更して、環境変数を追加した リソースの「あるべき姿」を宣言するデ プロイ方法 作成・変更・削除の操作は書かず、最終 的な設定だけを書く 例:コードにメモリサイズと環境変数を 書いてデプロイした マネコン、CLI、SDK IaC
IaCのデプロイの仕組み あるべき姿をコードで定義し、現在の状態との差分をデプロイする コード(あるべき姿) AWS WAF 差分 ALB Amazon ECS 比較
現在の状態 AWS WAF ALB Amazon ECS IaCのツール Amazon ECS デプロイ 実リソース AWS WAF ALB Amazon ECS
IaCの特徴
IaCの特徴 ① 再現性の高さ コードに定義されている通りにデプロイされるため、誰が何回やっても同じ結果になる マネコン(手作業) 新人 ベテラン マネコンで操作 結果がばらつく IaC
新人 ベテラン 同じコード 同じ結果
IaCの特徴 ② 変更管理ができること IaCはコードで定義するためGitで変更管理ができる レビューしたソースコードをデプロイ レビュー ソースコード デプロイ 戻すときは、前のコミットに戻して再度デプロイ 戻す
前のコミット 今のコミット 再度デプロイ
IaCの特徴 ③ 構造を把握しやすい 構成はコードに全部書かれているので、コードを見れば全体像と関連が分かる リソース同士の関連を追える AWS WAF ALB Amazon ECS
コード(AWS CDK) const alb = new ApplicationLoadBalancer(this, 'Alb', { vpc, internetFacing: true, }); // 取引先のシステムがHTTPでしか連携できないため、HTTPを許可する alb.addListener('Http', { port: 80, protocol: ApplicationProtocol.HTTP, });
IaCの特徴 ④ 再利用のしやすさ インフラの共通部分を切り出して再利用できる 共通する部分を切り出して、他の構成に組み込む 同じコードのまま、別の環境にもデプロイ 共通する部分 開発環境 組み込む 他の構成
同じコード Amazon DynamoDB 本番環境
IaCのツールとは? Terraform HashiCorp社のIaCツール HCLという独自の言語で リソースを定義できる AWS以外のクラウドやSaaSも まとめて管理できる AWS CDK AWS公式のOSSツール
CloudFormationを プログラミング言語で書ける CloudFormation AWSのマネージドなIaCツール リソースのデプロイの安定性が高い よく使う構成が部品として 用意されていて、 少ないコードで書ける
AI時代のIaCについて
最近は どんな仕事もAIに任せられるように なってきましたね IaCも例外ではなく、 むしろ他のデプロイ方法より AIに任せやすいです!
IaCがAIに向いている理由 ① コンテキストを渡しやすい ソースコードにインフラ設定・設計意図が含まれているため、 AIにとっても必要な情報が揃っている コード(AWS CDK) const alb =
new ApplicationLoadBalancer(this, 'Alb', { vpc, internetFacing: true, }); // 取引先のシステムがHTTPでしか連携できないため、HTTPを許可する alb.addListener('Http', { port: 80, protocol: ApplicationProtocol.HTTP, }); コードを渡す AI MCPやCLIでAWSを読み取ると 時間もトークンもかかる 現状と意図が伝わる AWSのリソース
IaCがAIに向いている理由 ② 変更を検証できる仕組みがある AI自身が生成したソースコードを検証できる仕組みが整っている 自己フィードバックするハーネス AI 実装 検証を通過 コード 検証
lint・validateなど エラー → AIが自分で直す デプロイ 人間 デプロイ前に差分を見る AWS 壊れたものが届かない
IaCがAIに向いている理由 ③ AIにデプロイ権限を渡さなくて済む デプロイの権限をAIから分離できるので、AIに強い権限を与えずに済む AI 実装 デプロイ コード リポジトリ CI/CD
読み取り権限は渡す 書き込み・デプロイ権限は渡さない AWS
IaCがAIに向いている理由 ④ インフラの安全性を検証できる ソースコードをスキャン(静的解析)することでセキュリティホールを見つけられる コード(AWS CDK) const sg = new
ec2.SecurityGroup(this, 'BastionSg', { vpc, allowAllOutbound: true, }); sg.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(22)); 実装中 cdk synth のときにルールでチェック cdk-nag 全世界からのSSHを許可しています 受信元 0.0.0.0/0 → TCP 22 セキュリティスキャン リポジトリ全体をまとめてスキャン Continuumコードレビューなど → インフラ設定がソースコードに載っているため、 アプリのコードと同時にセキュリティスキャンできる
IaCツールもAI向けに進化している AIが自分で書いたコードを、自分で検証できる範囲が広がってきている 2025-11 2025-11 2025-11 2026-04 2026-06 2026-06 2026-07 CloudFormation
早期バリデーション CloudFormation Language Server AWS IaC MCP Server cdk diagnose(プレビュー) cdk validate(プレビュー) Terraform MCP Server GA cdk lsp(プレビュー) cdk diagnose(プレビュー) デプロイに失敗した理由が確認できるコマンド 理由をもとにAIが修正しやすくなった
IaCの学習
Q. 今後もIaCはAIが書くのであれば、 本当にIaCについて学ぶ必要はある? A. IaCで何ができるかを知るためにも 学んでおいた方がよさそう ※ 個人の意見
AIと一緒にIaCを学んでみよう いきなり全部作らず、少しずつ作る範囲を広げていく どんな設定や操作ができるかをAIに聞く 実際に設定を変えたりコマンドを打ったりして理解を深める 作る範囲を少しずつ広げる Lambda +API Gateway +DynamoDB AI
AIに聞く 自分で触る(設定・操作)
まとめ IaCとは、インフラのあるべき姿をコードで宣言して、 現在の状態との差分を元にリソースをあるべき姿に合わせる仕組み IaCはAIから利用しやすい形式で、 最近はAIのための機能開発も行われている まずはAIと一緒にIaCを学習してみよう!
Thank You! \ ご清聴ありがとうございました! /