S3 Files、CloudShellからマウントして"terraform init"に使えるようにしてみたけど、、、、 | TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
CloudShell(VPC外モード)の1GB容量制限により、Terraformのプラグイン等のダウンロードが困難である点。また、S3 FilesがTLSとIAM認証を必須とする設計であるため、標準的なNFSマウントが不可能であり、かつCloudShellにはIMDSが存在しないため、マウントヘルパーが正常に動作しない技術的障壁がある。
// Approach
VPC内CloudShellを使用し、amazon-efs-utilsを導入。IMDSが利用できない環境下で、フルFQDN指定によるAZ-IDの自動抽出と、コンテナ認証エンドポイントから取得した一時クレデンシャルを/root/.aws/credentialsへ注入することで、sudo環境下でのIAM認証を突破した。
// Result
マウントおよびterraform initの完走に成功。ただし、一時クレデンシャルの有効期限(約15分)に伴い、定期的な再マウントが必要であることが判明した。また、VPC内モードであれば標準で16GBのストレージが利用可能であり、S3 Filesを用いずとも容量問題は解決できることも確認された。
Senior Engineer Insight
> 技術的な深掘りとしては非常に興味深いが、実運用における「解」としては不適切である。15分ごとの認証リフレッシュを要する構成は、自動化や継続的な作業において致命的なオーバーヘッドとなる。S3 Filesの設計思想(EC2/ECS想定)とCloudShellの制約(IMDS欠如、コンテナ環境)の乖離を浮き彫りにした検証であり、現場では「VPC内モードの活用」または「適切なコンピュートリソースの選択」という極めてシンプルな判断を下すべきである。新サービスの仕様把握には有用な知見である。