💬

テスト環境を構築検討していく①【準備編】

2024/05/22に公開

こんにちは投資ロウトです。

背景

ある程度NestJSでAPIの作成も進んできたので、Postmanによる単体テストではなく、アプリからのAPI呼び出しで動作を確認していきたいという思いも進めていくと出てくると思います。

ただなるべくコストを抑えていきたいため、本番環境よりもコストを抑えた類似環境でテスト環境を構築していきます。
※ECSなどはリソースだけで費用がかかるので、EC2などのインスタンスを止めながら開発コストを抑えたい。

https://zenn.dev/doshirote/articles/577d8bb31a152b

そのため本番環境を簡易で構築し、テストを行う環境を整備していきます。

必要ではないかと思われるもの

(仮想ネットワークの作成)
・VPC
・サブネット、アベイラビリティーゾーン
・インターネットゲートウェイ
・NATゲートウェイ
・ルートテーブル
・セキュリティグループ

(踏み台サーバーの作成)

(Webサーバーの作成)

(ロードバランサーの作成)

(データベースサーバーの作成)

(独自ドメインの作成)

(サービス監視の作成)

またせっかくやるなら

またせっかく開発していくなら、Cloudformationを使ってみて構築し、今後のための資産も同時に作っていきたいと思います。

一番の理想はshellなど用意し、全て自動化させていくこと。今回は時間をあまりかけずに実施したいので、できる限り不要な作業を抑えながら進めていく。

ひとまずこの辺りを学習していく

リンク1

https://dev.classmethod.jp/articles/cloudformation-beginner01/

リンク2

https://dev.classmethod.jp/articles/aws-all-iac/

公式も見ていく

https://ap-northeast-1.console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/getting-started

まずは以下をAWSサポートセンターに確認した。

①ソースの管理やリソースのおすすめは何?
→codecommitなどのバージョン管理を使用し、aws cliを実行して作成すること

②codebuildとcodepipelineについて
→aws cliとcloudformationのテンプレートがあれば問題なくリソース構築ができる

③cloudformationのGUIについて
→cloudformationのGUIを利用し、スタックを作成して直接テンプレートの確認ができる
→スタックを削除する際に、リソースも一緒に消すことができる。リソースを削除しても削除フィルターがあるので、aws cliを使わなくても管理できるとのこと

④yamlの分割して実行について
→テンプレートを分割し、実行することも可能

⑤実行順序はあるか?
→実行順序を指定してテンプレート等の指定も可能。

⑥aws cliで作成したリソースはcloudformationのスタックとして表示されるか?
→yes

一旦以上で区切りたいと思います。焦らずコツコツ進めていきたいと思います。ご精読ありがとうございました。

Discussion