過去に自分が作成したポートフォリオのメモです。
APIサーバーとしてのLaravel8アプリケーションをECS Fargateに配置するイメージです。
※draw.ioの使い方を覚えるのを含め、作成に4時間ぐらいかかりました。
- CodePipeline, CodeBuildあたりの箇所の表現は、正確には違うかもしれませんが、簡略化したかったため、このような形になりました
- terraformのアイコンは存在しなかったので、ネットから適当に拾いました。
- githubの箇所にLaravelのアイコンを設置したかったのですが、いい感じに表示できるアイコンが存在しなかったため、ネットから適当に拾いました。
このAWSアーキテクチャの内容
- 基本的に、AWSのリソースはTerraformを使用して作成強しています。
- CodePipelineを利用しCI/CDを実現しています。
- ソースステージはgithub、ビルドステージはCodeBuild、デプロイステージはECSです。
- ECSはFargateタイプを使用しています。
- データベースはRDS PostgreSQL13.11系を使用しています。
- ドメインは外部のお名前.comから取得し、ネームサーバーの設定をしています。
- Route53では、AWS ACMで要求した証明書を利用しています。エイリアスとしてAレコードでALBを指定しています。
- LaravelのAPIサーバーをAWS ECSコンテナに配置、フロントエンド側のNuxt3アプリケーションはfirebaseにデプロイしています。