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
ClineでAWS CDKやインフラ構成図作ってみた
Search
ryome
February 06, 2025
1
490
ClineでAWS CDKやインフラ構成図作ってみた
ryome
February 06, 2025
Tweet
Share
More Decks by ryome
See All by ryome
AWSデスノート〜AWSの嫌いなところまとめ〜
ryome
0
8
AWS MCPを使ってみた
ryome
0
300
PlaywrightというE2Eテストツールを布教したい
ryome
0
55
Cursorという最強エディタを使いこなしたい
ryome
0
290
E2Eテストを自動化したい
ryome
0
70
AWS CodeBuildを高速化したい
ryome
0
510
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
280
Cognitoの複数IDP認証でユーザを統合したい
ryome
1
1.2k
OAuth2.0完全に理解した
ryome
0
190
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Fireside Chat
paigeccino
39
3.6k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Reviewing Like a Champion
maltzj
525
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Cult of Friendly URLs
andyhume
79
6.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
790
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Scaling GitHub
holman
463
140k
Transcript
ClineでAWS CDKや インフラ構成図作ってみた @ryomeblog @ryome @ryome @ryomeblog @ryome
目次 1. Clineとは? 2. Clineでインフラ構成図の生成 3. AWS CDKコード生成 4. Clineをこんな使い方が便利!!
Clineとは? VSCode拡張機能として動作するAIエージェ ント オープンソースで無料 複数のAIモデルとAPIに対応
AIエージェントとは? AIエージェントとは、特定の目的を達成するために、自律的に環境を認 識し、 意思決定を行うAIシステム 設定された目標を達成するために、自律的な判断と行動ができる 目標達成の過程でエラーが発生しても自己修正してくれる
対応AIモデル OpenRouter / Anthropic Google Gemini OpenAI / AWS Bedrock
GitHub Copilot Llama / Ollama
Cline導入方法 VSCodeの拡張機能で「clien」と検索 Clineをインストール OpenAI等のAIモデルのAPI KEYを取得する clineにAPI KEYを入力する 完了!! ※ AIモデルによっては学習に使われる可能性があるので、
Clineを商用利用する際は注意してください。
Clineって何ができるの?:Architect アーキテクチャ設計 こういうの作りたいんだけどっていうざっくりとしたイメージを形 にしてくれる インフラ構成図作成 AWSやGCPのサービス名を伝えるだけで構成を考えてくれる インフラ構成図はPythonライブラリのDiagramsを使用する可能!
Clineって何ができるの?:Architect リアルタイム音声翻訳アプリ作りたい~ ステレオミキサーの音声を翻訳して機械音声で再生して~ こちらのマイクで話した音声を翻訳して機械音声でマイクで再生して~ これができる → リアルタイム音声翻訳システム アーキテクチャ設計
Clineって何ができるの?:Code コード生成と修正 タスクを伝えるとコードを実装してくれる ターミナルにコマンドを打って勝手に依存関係を解決してくれる こちらは承認を押しているだけ このスライドを作ったのもCline!! エラー自動修正 エラーが出ても勝手に分析して修正してくれる
Clineって何ができるの?:Code これができる → ToDoリストアプリ
Clineって何ができるの?:Code
Clineって何ができるの?:Ask プロジェクト関連の質問対応 どこに何のファイルがある?環境変数は何がいる? 実行コマンドはどうすれば良いの? なんでこの仕様にしたか?などを文面で残していれば教えてくれる コードの説明 ~ファイルの~関数は何してるの?
ClineにDiagrams を使用してインフ ラ構成図を書いて もらった! リポジトリはこちら → cline-cdk-sample
Diagramsとは? Pythonコードを使用してインフラストラクチャの構成図を描画するた めのツール AWS、GCP、Azureなどの多様なクラウドプロバイダーをサポート コード管理できるのでバージョン管理が容易
diagramsのセットアップ
diagramsの基本的な使い方 diagramsと使用したいサービスなどをインポート
diagramsの基本的な使い方 Diagramの中で使用したいサービス名を定義してサービス間の関係性を 「>>」で定義する
今回Clineで試した構成 初回構築:S3 + CloudFront 2回目構築:CodePipeline + CodeBuild + CodeCommit 追加
3回目構築:Lambda + DynamoDB 追加
AWS CDKとは? AWSのインフラストラクチャをコードとして定義し、プロビジョニン グするためのオープンソースのソフトウェア開発フレームワーク インフラストラクチャのデプロイと管理が目的 複数の言語でコーディング可能 TypeScript、JavaScript、Python、Java、C#、Go CloudFormationへ変換してデプロイしている
CDKプロジェクト作成
CDKサンプルコード GitHubリポジトリ:aws-cdk-examples インフラドキュメント:インフラストラクチャアーキテクチャ詳細
デプロイまでの手順1 以下のコマンドを実行する
デプロイまでの手順2 CodeCommitのクローンURLをコピー git clone 【URL】 コマンド実施(IAMユーザの CodeCommitのHTTPS Git 認証情報が必要) cd
react-app-repository でディレクトリを移動 todolistディレクトリ配下を cp -r ../todolist . でコ ピー
デプロイまでの手順3 ブランチを作成してプッシュする
デプロイまでの手順4 マネージメントコンソールでパイプラインが通っていることを確認する
デプロイまでの手順5 CloudFrontのディストリビューションドメイン名にアクセスして画面 が見れたら成功!
Clineの便利な使い方 ESLint/Prettier等の設定 テストコード生成 ドキュメント生成 ルールファイル定義
ESLint/Prettier 等の設定 何かの手順を記事にまとめて おいて、リンクかテキストを 渡して指示するだけ 環境構築時も必要なものは勝 手にインストールして動くと ころまで完了させてくれる
テストコード生成 JestやPlaywrightテストコード生成に便利!! たたき台程度ならすぐに作ってくれる 一緒にパイプラインも直して自動テストを組み込んでくれる テスト項目と観点を言語化していれば自動生成可能!
ドキュメント生成 ブログ記事のアイデアが浮かんで、やりたいこと話したらコードも記事 もできている テストケースの洗い出しとかライセンスチェックとかClineに頼んでフ ォーマットしてもらえる プロジェクトの内容を加味したREADME.meファイルを作ってくれる
ルールファイル定義 .clinerules を活用することでコーディング規約やプロジェ クトのルール(コミットルールなど)に従った開発を行ってくれる
まとめ Clineは、VSCodeの拡張機能でAIエージェントのこと ReactやAWS CDK等のコード生成、インフラ構成図の作成などを自律 的に行うことができる エラーなども自己解決し、成果物の品質を担保する Clineを活用することで、開発者はコーディング等の下流行程の作業か ら解放され、より上流工程の作業に集中できるようになる