Closed6
[Terraform]WordPressをECS on Fargateで作ってみる
背景
- TerraformでECS on Fargateの構成を1から作ってみたい
- ※先人の記事を参照させていただく
- https://zenn.dev/not75743/scraps/b3fdfe1d119f9b
- せっかくメモ残すならZennで整理したい
- これをベースにCI/CDやセキュリティ面含めてTerraformで拡張していきたい
構築順序(仮)
- 環境構築
- AWSアカウントリソース整理
- Terraformインストール
- AWS構成図作成(叩き台レベル)
- 構築開始
AWSアカウントリソース整理
完了
Terraformインストール
以下ページを参考に環境構築を開始
以下エラー発生
Planning failed. Terraform encountered an error while generating this plan.
│ Error: No valid credential sources found
│
│ with provider["registry.terraform.io/hashicorp/aws"],
│ on main.tf line 1, in provider "aws":
│ 1: provider "aws" {
│
環境変数の設定が失敗していた
以下ページを参考に設定。
AWS構成図作成(叩き台レベル)
- AWSコンテナ設計の本を参考に、超雑に構成作成
- 本当はファイルシステムにEFS必要な記事見つけたが、一旦ここまでTerraformで構築してみる
[緩和休題]Fish Shellのインストール
Fish Shellが視認性がいいという噂を聞き、インストール
(本来であれば、インストール手順を記載すべきだが、以下記事を参考とした)
注意点として、M1以上のMacだと fishのインストールディレクトリが異なる点
/usr/local/bin/fishの記載が多いが実際は
$ which fish
/opt/homebrew/bin/fish
となる
(追記)
Fish Shellインストール時にHomeBrewコマンドを実行できるようにする設定
Terraformのソースコード構成についてメモ
モノリポジトリ vs マルチリポジトリ
- 以下記事を参考に整理。
https://gihyo.jp/article/2022/10/mitene-01terraform - 規模に依存するが、モノリポジトリだと影響範囲が大きいため、複数開発者の場合はマルチリポジトリ採用がベターなのか?
- 今回は個人開発のため、一旦モノリポジトリで構築してみる
Terraformモジュール構成
取り急ぎ以下構成で試してみる。
$ tree
.
├── main.tf
├── modules
│ ├── alb
│ ├── ecr
│ ├── ecs
│ ├── iam
│ └── network
└── variable.tf
このスクラップは2024/03/30にクローズされました