はじめに
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で止まっている…
」という方の参考になれば幸いです。
今後はNAT Gatewayや監視設計にも挑戦し、より実務に近い構成理解を深めていきたいと考えています。