1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

今更ながら生成AI で IaC を作成してみた話 〜Claude CodeでBicep環境構築〜

1
Posted at

今更ながら生成AI と IaC を連携させた話 〜Claude CodeでBicep環境構築〜

はじめに

Infrastructure as Code (IaC) の整備を進める中で、「生成AIを使えばもっと効率化できるのでは?」と思い立ち、Claude CodeとAzure Bicepを組み合わせた環境構築に挑戦しました。

結論:簡易的なBicepプロジェクト構成の作成からAzureへのデプロイまでおよそ10分で完了。想像以上に爆速でした。

この記事でわかること

  • Claude Codeを使ったBicepプロジェクトの構築手順
  • Bicepの実際の動作の流れ

筆者の環境

  • MacBook Air
  • Azureサブスクリプション契約済み
  • Azure CLI インストール済み
  • VScodeインストール済み

Claude Codeとは?

Claude Codeの契約体系

2026年2月時点で、以下の契約形態があります:

プラン 月額料金 年払い 特徴
Claude Free $0 - 基本機能のみ
Claude Pro $20/月 $17/月 Claude Code含む
Claude Max 5x $100/月 - Proの5倍の容量
Claude Max 20x $200/月 - Proの20倍の容量

Claude Codeの特徴

  • ローカルファイルの直接編集が可能
  • 複数ファイルの一括生成に対応
  • Git操作も自動化
  • VSCode拡張として動作

通常のChatGPTやClaude Webとの違いは、ローカル環境ファイルを直接操作できる点です。
コードをコピペする手間が一切ないです。

実際のフロー

1. Claude Code環境構築

Claudeのアカウントを作成・契約

今回私は、Claude Codeを利用したかったのでProを選択。
割引に惹かれて年間契約してしまいました。

スクリーンショット 2026-02-14 23.31.36.png

Claude Codeのインストール

Homebrewでインストール

brew install --cask claude-code

Claude Codeの初回ログイン

claude

初回起動時にブラウザが開き、Claude.aiアカウントでの認証が求められます。
その際、こんな可愛い画面がターミナル上に出力されるが、無視で良いです。

Welcome to Claude Code v2.1.39 
…………………………………………………………………………………………………………………………………………………………

     *                                       █████▓▓░
                                 *         ███▓░     ░░
            ░░░░░░                        ███▓░
    ░░░   ░░░░░░░░░░                      ███▓░
   ░░░░░░░░░░░░░░░░░░░    *                ██▓░░      ▓
                                             ░▓▓███▓▓░
 *                                 ░░░░                   
                                 ░░░░░░░░                 
                               ░░░░░░░░░░░░░░░░           
       █████████                                        * 
      ██▄█████▄██                        *               
       █████████      *                                
…………………█ █   █ █………………………………………………………………………………………………………………

GitHubでリポジトリを作成、ローカルにクローン

今回は bicep-learning-sandbox という名前でリポジトリを作成しました。

Claude Code VSCode拡張の導入

Claude Code for VS Code を導入しました。

image.png

右上のオレンジ色のアイコンをクリックすると、Claude Codeのプロンプトが入力できるようになります。

2.Bicepファイルの生成

以下の内容がおよそ10分で実施できました。

対話的にBicepコードを生成

Readme.mdに簡易的に記載した bicep学習用の環境である、ということと、
リポジトリのタイトルから、bicepのコードが欲しいことをclaude code側で判断してくれます。
こちらでやることは、claude codeの提案に対して、許可を出すことと、必要に応じて修正することのみです。

image.png

生成されたBicepコードの特徴

  • サブスクリプションスコープ
targetScope = 'subscription'
  • 環境別パラメータファイル

.bicepparam 形式で環境を分離:

environments/
├── dev/
│   └── main.bicepparam
└── prod/
    └── main.bicepparam

環境ごとの差分管理が明確になります。

  • モジュール化

再利用可能なmodules/storageAccount.bicepにより、他のプロジェクトでも流用可能。

デプロイ

az login後、What-If (変更プレビュー)を実行すると、エラーなく成功。
デプロイコマンドを実行して、GUIから当該リソースが作成されたことを確認。

image.png

リモートリポジトリへのコミットメッセージ付きpush

こちらも、指示を出すだけで完結

image.png

Claude Code活用のポイント

良かった点

  1. 開発速度の爆発的向上
    • プロジェクト構成の検討からデプロイまで約10分
    • 手作業なら2-3時間はかかる作業量
  2. 対話的なエラー修正
    • エラーメッセージを見せるだけで修正案を提示
    • ドキュメント検索の時間が不要
  3. Git操作の自動化
    • コミットメッセージの品質が高い
    • マルチラインの説明付きコミット

注意点

  1. 前提となる Claude Code の契約が必須
    • 年間およそ3万円。
  2. 生成されたコードの確認は必要
    • セキュリティ設定やリソース名は要確認
    • 盲目的に信頼せず、理解しながら進める
  3. Bicepの基礎知識は前提
    • パラメータ、モジュール、スコープの概念は理解しておくべき

次のステップ

今回はローカルからのデプロイでしたが、次回は以下を試す予定です:

  • GitHub ActionsによるCI/CD構築

これらもClaude Codeと組み合わせて実装予定です。

まとめ

生成AIとIaCの組み合わせは、想像以上に実用的でした。
テンプレートの生成やトラブルシューティング、gitへのpushもターミナルから許可を出すだけ。
一方で、rmdirやpushなど、機微な操作もお任せできてしまうので、操作内容をわからないまま盲目的に許可を出しているといつか事故りそうだなという感覚がありました。

とはいえ、強力なツールであり、IaCの整備とClaude Codeのような生成AIツールは今後必須になっていきそうですね。

参考リンク


最後まで読んでいただき、ありがとうございました!
次回はCI/CD編でお会いしましょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?