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
0
30
ClineでAWS CDKやインフラ構成図作ってみた
ryome
February 06, 2025
Tweet
Share
More Decks by ryome
See All by ryome
PlaywrightというE2Eテストツールを布教したい
ryome
0
36
Cursorという最強エディタを使いこなしたい
ryome
0
140
E2Eテストを自動化したい
ryome
0
63
AWS CodeBuildを高速化したい
ryome
0
350
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
250
Cognitoの複数IDP認証でユーザを統合したい
ryome
0
950
OAuth2.0完全に理解した
ryome
0
140
Amazon_CodeWhispererで生産性を爆上げする
ryome
0
69
Cloud9にリモートデスクトップ接続する
ryome
0
240
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
182
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Visualization
eitanlees
146
15k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Side Projects
sachag
452
42k
Designing Experiences People Love
moore
139
23k
Speed Design
sergeychernyshev
26
790
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を活用することで、開発者はコーディング等の下流行程の作業か ら解放され、より上流工程の作業に集中できるようになる