AIエージェントを使ったサーバ構築入門

 

 

はじめに

今更ながらClaude Codeがマイブームですが、ここ最近はClaude Codeでツールを作るだけでなく、サーバ構築や運用をやらせるというのが試してみています。

 

Claude Codeとは?

 Claude Codeは、Anthropicが提供するAIを活用したコーディング支援ツールです。ターミナル(コマンドライン)上で動作し、自然言語でやり取りしながらコードの作成・編集・デバッグなどを行えます。 

というものです。Claudeに「Claude Codeってなに?」って聞いたのをそのまま書いているので、恐らくハルシネーションはないと思います(笑)

Claude Codeはバイブコーディングといった開発現場でコード生成に使われるイメージが強いかもしれませんが、実は結構なんでもできます。サーバの構築などもかなりのレベルでできます。

試してみた

さっそく試してみます。手始めにClaude CodeにサーバにSSHでログインしてみてもらいます。

ai_operation01

こんな感じで雑に指示してみます。当然ですが、予めプロジェクトディレクトリ配下にSSHの秘密鍵を置いてあげたりする必要があります。

ai_operation02

するとこんな感じで、ログインが無事にできた模様です。

といっても、単にサーバにSSHログインするだけなら、誰でもできると思われるかもしれません。もう少し指示を出してみます。

ai_operation03

このサーバはOSにAlmaLinux9を使っているので、パッケージ群であるDevelopment Toolsをインストールしてもらいました。実際にどういうコマンドが実行されたかはログからみることができます。今回はyumコマンドでgroupinstallオプションを使ってインストールしたようです。(yumは旧型コマンドなのでdnfコマンドだったら100点かな(笑))

ただ、これだけだと、単に単一コマンドを走らせただけじゃん。となると思うので、更に複雑なことをやらせてみます。

ai_operation04

今回は少し規模の大きいので、まずはPlanモードで計画を立ててもらいます。

ai_operation05

Planモードを使うと必要に応じてClaudeが色々とヒアリングしてくれるので、それに答えていきます。

ai_operation06

しばらく待つとこんな感じで構築プランを立ててくれるので、内容を確認して問題なければ承認すると構築が開始されます。

ai_operation07

今回はこんな感じの順番で構築を進めてくれるようです。

 デンジャラスパーミッションを使っていない限りは途中で色んな実行許可を求められるので、都度確認⇒承認/不承認していきます。 ほとんどは待ち時間なので、お茶を飲みながらのんびりするか、別の仕事をしておきます。


ai_operation10

ちょいちょい実行コマンドを承認しながら待つこと10分。上記構成のサーバ構築が完了しました。

Claude Code側での作業時間は約7分です。(お茶してたら承認が遅くなったりしたので)

Wordpressが本当にインストールされているのか、ブラウザレベルで確認してみます。

ai_operation11

普通にアクセスできました。

念のため、Claude Codeが設定してくれたID/PASSでWordpressログインしてみます。

ai_operation12

普通にできました(笑)

とりあえず、この段階でWordpressが動くサーバが作れたということです。サーバエンジニア視点で言えば当然この後にセキュリティや設定値のチェックなどは行うのですが、ともあれこれぐらいのことであればClaude Codeは朝飯前です。(正確には今回使っているモデルがOpus4.6なのでそれが優秀ということではありますが)

せっかくなので、Claude Codeが提案してくれたHTTPS化もしておきます。

ai_operation13

ai_operation14

1分足らずでLet'sEncryptの設定⇒証明書取得⇒HTTPからHTTPSへのリダイレクト設定が完了です。(リダイレクトについては特に指示していませんが、良かれと思ってやってくれたようです。)

実際にブラウザでアクセスしてみて、証明書が有効になっているか確認します。

されていました。

という感じで、簡単な指示でサーバの構築が可能というのが伝わったでしょうか?

確かにサーバに関する知識がゼロでここまで指示できるかと言われると難しいかもしれませんが、少しの知識とやりたいことが明確であれば、あとはAIが勝手に考えてやってくれます。

人間はAIからの承認依頼に対して、GO/NOGOを決めるだけです。(このGOサインを出すのに知識がないと問題がないかの判断ができないという話はありますが・・・)

まとめ

Claude Codeを使ってサーバの構築が可能かというのを試してみました。今回はClaudeが考える最適構成をお願いするという雑な振り方でしたが、もっと細かく指示出しするのももちろん可能です。(例えば、細かいミドルウェアやバージョンを指定したり、ドキュメントルートの場所を指定したりなど)

使ったモデルがOpus4.6でそれが優秀すぎるという話もあったりしますが、前に試した感じではSonnetでも今回の構築ぐらいであれば簡単にやってのけます。Haikuだとできなくはないけど、指示を出す人間側にそれなりのサーバ知識がないと難しいかな?といった感じです。(手戻りが多いので)

今回はサーバの初期構築的なことをやってみましたが、これが出来るってことはパフォーマンスチューニングやメンテナンス対応的なことも可能だということが何となく伝わるかと思います。

実際色々検証していく中で、私の中の各Claudeモデルをサーバエンジニアレベルに例えるのであれば、

・Haiku:初級~中級エンジニア
・Sonnet:中級~上級エンジニア
・Opus:上級~スペシャリスト

ぐらいのスキルレベルイメージです。(あくまで個人の感想です)

とはいえ、いずれにせよ現状でいえば人間の最終確認は必須だと思いますので、完全に手放しというわけにはいかないかもしれません。(どこまでも信じてみるというのもなくはないですが・・・)