現在、クラスターごとに各VPC(stg、prd、tst、misc)があり、標準クラスター(stg、prd)には次のサブネットがあります。
VPC(stg、prd) ├10.100.0.0/ 16az-1 | ├10.100.0.0/ 20elb | ├10.100.16.0/ 20elb-int | ├10.100.32.0/ 20svc | ├10.100.48.0/ 20svc | ├10.100.64.0/ 20db | ├10.100.80.0/ 20dmz | ├10.100.96.0/ 20 <予約済み> | ├... | └10.1-0.240.0/ 20 <予約済み> ├10.101.0.0/ 16az-2 | ├10.101.0.0/ 20elb | ├10.101.16.0/ 20elb-int | ├10.101.32.0/ 20 svc | ├10.101.48.0/ 20svc | ├10.101.64.0/ 20db | ├10.101.80.0/ 20dmz | ├10.101.96.0/ 20 <予約済み> | ├... | └10.101.240.0/ 20 <予約済み> └10.102.0.0/ 16az-3 ├10.102.0.0/ 20elb ├10.102.16.0/ 20elb-int ├10.102.32.0/ 20svc ├10.102.48.0/ 20svc ├10.102.64.0/ 20db ├10.102.80.0/ 20dmz ├10.102.96.0/ 20 <予約済み> ├... └10.102.240.0/ 20 <予約済み>
この質問は、「状況によって異なります」というような幅広い質問だと思います。しかし、私はインターネットを検索しましたが、これに関する賢明なガイドラインは見つかりませんでした。
そこで、私はこの質問をして、システム管理者がサブネットの戦略をどのように選択するかを調べました。あなたの意見を共有してください。可能であれば、そのアプローチを選択した理由を説明する小さな声明を出してください。
ServerFaultは、調査を実施したり、意見に基づいた回答を求めたりする場所ではないのではないかと思います。
とにかく、セットアップは非常に複雑のようです。
AWSでは、セキュリティとファイアウォールは主にセキュリティグループを使用して行われるため、質問で説明したように6つのサブネットレイヤーがあるかどうかは実際には問題ではありませんまたはVPCごとに2のみ-パブリックおよびプライベート。
パブリックサブネットのリソースにはパブリック/エラスティックIPがあり、SGルールで許可されている場合はインターネットからアクセスできます
例-パブリックELB/ALB、ジャンプホストなど
プライベートサブネットのリソースに外部からアクセスすることはできず、NATを使用して発言する
例-RDSクラスター、ECSクラスター、Webサーバー(ELBの背後に隠されている)など。
オプションで、インターネットにアクセスできないプライベートサブネット-データベース(RDS)に使用されることもありますが、ほとんどの場合、通常のプライベートサブネット。
もちろん、パブリックおよびプライベートサブネットレイヤーは、高可用性を実現するためにいくつかのAZにまたがる必要がありますが、行き過ぎないようにしてください。 最大2つまたは3つのAZを使用、一部の地域ではさらに多くのAZを使用できる場合でも、通常はこれで十分です。
技術的にはもちろん、AZ間でサブネットをspanすることはできませんが、priv-a172.31.0.0/24をAZ "a"とpriv-に含めることはできます。 b AZ "b"の172.31.1.0/24で、ELBとASGを両方に展開し、1つのように扱います。
上記のすべてが当てはまることに注意してくださいVPCごと-通常は複数のVPCになります。ステージごとに1つ(dev、test、..)、さらには複数のAWSアカウントプロジェクトごとに(例:devおよびprod)は、本番ワークロードと開発/テストワークロードをより大きく分離します。
もちろん、これらはどれも厳しいルールではありません。一部のクライアントは、VPCごとにより多くのサブネットレイヤーまたはより多くのAZを必要としますが、それらは例外です。
VPCの大部分では、3つのAZにまたがるパブリックサブネットとプライベートサブネットで問題ありません。
そして覚えておいてください-セキュリティグループはあなたの友達です:)