0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Terraform×AI】未経験者がVPC構築に挑戦したら、Linuxで溺れてプロンプト設計の重要性に気づいた話

0
Posted at

はじめに

AWS初心者、Terraformも初挑戦でした。

今回はAIと並走しながら、以下の構成を構築しました。

VPC
 ├ Public Subnet
 │   └ Bastion EC2
 └ Private Subnet
     └ Private EC2

Bastionのみを外部公開し、
Private EC2へは踏み台経由でSSH接続する構成としました。
→いわゆる最小構成の踏み台アーキテクチャです。

構築フェーズで苦戦したポイント

➀Terraformの「書き方」よりも「構造理解」

Terraform自体の文法はそこまで難しくありませんでした。

・resourceを定義する
・variableで値を外出しする
・参照でリソースを接続する

このあたりは比較的早く理解できました。
むしろ苦戦したのは、AWS側の挙動とインフラ構成の理解でした。

② 本当のボトルネックはLinuxの知識や運用環境側

EC2上での環境構築作業において、運用作業の理解不足がボトルネックになりました。
Terraformによる構築自体は成功しますが、EC2上での作業で詰まる場面が多くありました。

特に発生したのは:

・パッケージがインストールできない
・ユーザー権限の不足
・sudoコマンドが必要な場面で使用できていない
・permission deniedが発生

典型例として:
・ec2-userでログインしているのにroot前提で作業してしまう
・yumコマンド実行時に権限エラーが発生
・.sshディレクトリや鍵ファイルの権限設定が不適切

→このような場合、エラーメッセージが表示されても原因をすぐに特定できませんでした。

・何が、どこが、原因なのか
・sudoが必要なタイミングはいつか
・rootとec2-userの役割の違い

このあたりの理解が曖昧だと、エラーを正しく解釈できませんでした。

③AIへの曖昧で雑な指示で迷子

解決のため、最初はこう質問していました。

「yumでエラーが出る」

当然この指示では情報不足で、回答も一般論になりがちでした。

・パッケージリポジトリを確認してください
・バージョンを確認してください
・キャッシュをクリアしてください

全て試すも、求めている解決策とは少し違いました。
AIは誤った回答を返すこともありますが、情報が不足している場合には推測で補完されるため、気づかないうちに意図からズレていくことがあります。
そして別のエラーが発生し、問題解決が遠回りになってしまいます。(実際日が暮れました)

④体感したこと

AIと並走するのは非常に強力ですが、活用するには

「入力の質 = 出力の質」

であることを実感しました。
・前提
・エラー内容
・何を試し、何ができて何ができなかったのか
・何を実現したいか

これらを意識しないと、欲しい情報を得ることができません。
怖いのは、欲しい情報ではないことにすら気づかないことです。

まとめ

VPCを構築できたことも大きな成果ですが、
「何が分からないのか」を言語化することで、AIの活用精度が大きく向上する
ということを実感できた点が最大の学びでした。

初心者が詰まるポイントは、Terraformの文法ではなく、Linuxやクラウド環境の基礎理解であることが多いと感じました。
AIは学習を代替するものではなく、学習効率を高めるツールだと考えています。
「自分もpermission deniedで止まっている…:joy:」という方の参考になれば幸いです。
今後はNAT Gatewayや監視設計にも挑戦し、より実務に近い構成理解を深めていきたいと考えています。

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?