Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Qを使ってIaCを触ろう!
Search
Maruto
November 06, 2024
Programming
0
1.1k
Amazon Qを使ってIaCを触ろう!
「JAWS-UG初心者支部#62 オンラインLT大会」で発表したLT資料です。
https://jawsug-bgnr.connpass.com/event/334459/
Maruto
November 06, 2024
Tweet
Share
More Decks by Maruto
See All by Maruto
M5Stackを使ってAWS IoT Coreを入門する
maruto
1
210
手を動かしてレベルアップしよう!
maruto
0
480
技術に触れたり、顔を出そう
maruto
2
380
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
500
Other Decks in Programming
See All in Programming
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.1k
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
150
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
780
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
290
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4.1k
SwiftUIで本格音ゲー実装してみた
hypebeans
0
530
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.2k
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
gunshi
kazupon
1
130
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
160
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
210
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
86
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
75
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
100
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Between Models and Reality
mayunak
0
150
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
240
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Transcript
2024/11/6 @ JAWS-UG初⼼者⽀部#62 オンラインLT⼤会 まると Amazon Q を使って IaC を触ろう!
⾃⼰紹介 2 • 名前 ◦ まると • 所属 ◦ クラスメソッド
AWS事業本部コンサルティング部 (2024/9 〜) • AWS歴 ◦ 個⼈で1年+、業務で1ヶ⽉+ • SNS ◦ X/Twitter: @MaruDevG • 趣味 ◦ ソフトダーツ ◦ ⾃宅サーバー
本プレゼンテーションのアジェンダ 3 1. IaC、Amazon Q について 2. Amazon Q を利⽤した
IaC コードの作り⽅ 3. 公式ドキュメントを読むコツ 4. 終わりに
IaC または、Amazon Q 触っていますか?
IaC (Infrastructure as Code) とはざっくり 5 サーバー、ネットワークをはじめとしたインフラストラクチャの 構成や設定値をコードとして記述する⼿法
IaC を利⽤することで嬉しいこと(⼀例) 6 ⼀貫性と再現性の向上 ⼿動ではなくコードから環境構築を⾏えるため、簡単に環境の再現ができる。 例: 開発環境、本番環境など複数の環境を作りたい ⾃動化‧効率化 1度コードを作成することで⾃動的にインフラの構築‧管理が可能に。 ⼿動による環境構築と⽐べミスの低減、⾃動化による構築の⾼速化
構成のモジュール化 構築した構成をモジュール化することに、他プロジェクト等で同じ設定を再利⽤が可能に。 etc…
Amazon Q とは? 7 ⽣成AIを活⽤したサービス 企業のデータや情報を利⽤した Amazon Q Business コーディングなど開発者向けに特化した
Amazon Q Developer など、Amazon Q でも様々なサービス‧機能がある。
Amazon Q でできること(抜粋) 8 Amazon Q Developer Amazon Q Business
上記以外にも、Amazon QuickSight、Amazon Connect、AWS Supply Chain などに特化したサービスがございます。 コード⽣成 技術的なトラブルシューティング AI エージェント コードのアップグレード インフラストラクチャの最適化 操作を IaC 化 (Console-to-Code) データソースに基づく Q&A AI エージェント 出典や参考⽂献の提⽰ 外部アプリケーションとの接続 ユーザ情報に基づく回答 ユースケースに基づく回答
AWS で IaC を⾏うには? 9 ※その他、Terraform by HashiCorp 等のツールもございますが、本プレゼンテーションでは AWS
CloudFormation を中⼼にお話しします。 AWS CloudFormation AWS Cloud Development Kit (AWS CDK) 今⽇はこっち
2サービスのざっくりとした違い 10 AWS CloudFormation AWS CDK 定義⽅法 YAML または JSON
TypeScript, JavaScript, Python, Java, C#, Go 抽象化レベル 低(リソースを直接定義) ⾼(コンストラクトなどによるリソースの抽象化) デプロイ⽅法 CloudFormation スタックを直接デプロイ CloudFormation テンプレートを⽣成しデプロイ 記述例 コードは2024/4/25に発表した「IaC触ってみた」より https://www.docswell.com/s/morikapu/KM1MWG-letsstartIaC#p14
(⾃⾝の感想)IaC、初記述は結構⼤変だった。 11 1. 公式ドキュメントをひたすら確認しながら⼟台の作成 2. ⼟台を作成後、各種プロパティの指定 3. デプロイできるように調整 ⽣成 AI
が出てくるまで 1. 公式ドキュメントをひたすら確認しながら⼟台の作成 2. ⼟台を作成後、各種プロパティの指定 3. デプロイできるように調整 ⽣成 AI の活⽤により... より⾼速かつ効率良く 書けるようになった
Amazon Q を使って IaC コードを書いてみよう!
Amazon Q を使⽤していい感じに IaC コードを⽣成するまで 13 1. 構成を定める 2. 構成の分解し⼿順の作成
3. お気に⼊りのエディタにプラグインをインストール、有効化 4. Amazon Q にいい感じにコードを⽣成してもらう 5. ⽣成されたコードの確認、デプロイできるように調整 本プレゼンテーションでは、Visual Studio Codeを利⽤します。また、プラグインのインストール、有効化は完了しているものとします。
想定する構成 14 リソース 個数 VPC 1 Internet Gateway 1 サブネット
1 セキュリティグループ 1 Amazon EC2 1
分解して⼿順にしてみる 15 リソース 個数 VPC 1 Internet Gateway 1 サブネット
1 セキュリティグループ 1 Amazon EC2 1 1. VPC を作る 2. Internet Gateway を作る 3. Internet Gateway を VPC にアタッチ 4. VPC にサブネットの作成 5. サブネットにルートテーブルを作成 6. ルートの定義、ルートテーブルに割当 7. 作成したルートテーブルをサブネットにアタッチ 8. セキュリティグループを作成 9. EC2 の作成
Amazon Q で IaC コードを書いてみる 16 VPC: と⼊⼒するだけで提案を出してくれる!(灰⾊で表⽰されているのが提案)
ちなみに...どこまで提案された? 17 1. VPC を作る 2. Internet Gateway を作る 3.
Internet Gateway を VPC にアタッチ 4. VPC にサブネットの作成 5. サブネットにルートテーブルを作成 6. ルートの定義、ルートテーブルに割当 7. 作成したルートテーブルをサブネットにアタッチ 8. セキュリティグループを作成 9. EC2 の作成 (調整は置いておいて)ほとんどの⼿順が完了している! ⼊⼒が同じであっても、図のように必ず同⼀の提案が⾏われるわけではありません。(VPC のみが提案されるなど) 確定後、InternetGateway: など関連するキーワードを⼊⼒することでリソースに関する提案を受け取れます。
⽣成されたものを公式ドキュメントで確認、調整する 18 ⽣成されたプロパティやパラメータの意味、参照されている値が本当に存在するか? VPC の CIDR 範囲は CidrBlock というパラメータを参照しているけど実在しない Name
パラメータを参照しているけど、Internet Gateway でも同じ値を参照している 実在しないパラメータ Name タグの割り当てが不適切なパターン その他、よくあるもの... • セキュリティグループの設定(SSH を全開放したら怖いよね) • ⼀緒に使えないプロパティが使われている(特にセキュリティグループ周り) • 互換性観点から残している⾮推奨のプロパティを使⽤している ⽣成 AI は便利ですが、100% 正しい答えを出してくれるわけではありません。 ⼟台を作ってくれるものという認識で、プロパティを1つ1つ⾒直してみると更に理解が深めることができます。
(個⼈的な)公式ドキュメントを読むコツ 19 前提として、IaC コードを書くことに焦点を当てます。 1. IaC 化したい構成図を考える(なるべくシンプルな構成図がベスト) 2. まずはAWS マネジメントコンソールを介してリソースを作る
3. 作りたい各リソースについて、どんなプロパティがあるのかドキュメントを確認する a. AWS マネジメントコンソールで設定しているプロパティが何に該当するのか⾒てみよう b. 各ページの最下部にサンプルがあるので⾒てみよう 4. 複数リソースが存在する場合は、まずは1つだけ IaC 化をやってみる すごく要約すると • 最初はシンプルに考える • AWS マネジメントコンソールで設定したプロパティ、サンプルをまずは読んでみよう!
先ほどの構成なら... 20 Amazon VPC と Amazon EC2 に分解!
⽣成 AI サービスを使⽤することで IaC の記述が楽になり、よりハードルが低くなりました。 これから使う⽅も、すでに使っている⽅も 新しい記述⽅法に触れてみませんか? 終わりに 21
None