9

WebApp をサポートするインフラストラクチャをセットアップしています。私のリポジトリの 1 つには、すべてのネットワーク インフラストラクチャ (VPC、サブネット、NAT、Bastion など) があります。WebApp には、Route 53 + ALB + AutoScalling グループ + EC2 インスタンスがあります。それらはすべて Cloudformation テンプレートでコーディングされています。私の質問は、WebApp Cloudformation テンプレートをアプリケーションと同じリポジトリに保存する必要があるかどうかです。インフラストラクチャとアプリ コードを分離する方法に関するベスト プラクティスはありますか?

4

3 に答える 3

2

原則として、インフラストラクチャはアプリケーション コードの隣に配置する必要があります。したがって、はい、同じリポジトリに配置する必要があります。

もちろん、いくつかのリソースが異なるプロジェクト間で共有されている場合もあります。この場合、インフラストラクチャの共有部分のみを含む別のリポジトリを用意することをお勧めします。ここで私がすることは次のとおりです。

  • 共有インフラストラクチャ用の 1 つのリポジトリ: VPC、パブリックおよびプライベート サブネット、DNS ルート ゾーン。
  • webapp とその関連インフラストラクチャを含む 1 つのリポジトリ。

これにより、アーティファクトを構築し、同時に新しいインフラストラクチャを適用するパイプラインを実装する利点が得られます。

于 2020-03-05T20:26:57.470 に答える