概要
背景情報
Virtual Private Cloud (VPC) は、クラウドコンピューティングにおける最も基本的なコンポーネントです。ビジネスをクラウドに移行する最初のステップは、VPC の作成です。不適切なネットワーク設計は、潜在的なスケーラビリティの問題につながる可能性があります。ネットワークの再構成は、コストを増加させるだけでなく、ビジネスワークフローを中断させる可能性もあります。一部のビジネスのインターネットアクセスを制限し、ビジネス同士を隔離したい場合は、1 つのリージョンに 1 つの VPC をデプロイできます。このトピックで説明するアドレス割り当て、サブネット化、ルート設定、セキュリティ強化に注意することを推奨します。
用語
VPC:VPC は、クラウド内の専用プライベートネットワークです。お客様は VPC を完全に制御できます。たとえば、CIDR ブロックの指定、ルートテーブルやゲートウェイの設定が可能です。VPC 内には、Elastic Compute Service (ECS) インスタンス、ApsaraDB RDS インスタンス、Server Load Balancer (SLB) インスタンスなどのクラウドリソースをデプロイできます。各 VPC は、少なくとも 1 つのプライベート CIDR ブロック、1 つの vSwitch、および 1 つのルートテーブルで構成されます。
プライベート CIDR ブロック:VPC と vSwitch を作成する際には、VPC のプライベート IP アドレス範囲を CIDR 表記で指定する必要があります。
ルートテーブル:VPC を作成すると、システムは自動的にシステムルートテーブルを作成し、そのテーブルにシステムルートを追加します。ルートテーブルは、VPC のトラフィックがどのように転送されるかを定義します。
vSwitch:vSwitch を作成して、VPC を 1 つ以上のサブネットに分割できます。同じ VPC 内の vSwitch は相互に通信できます。異なるゾーンに属する vSwitch にアプリケーションをデプロイすることで、サービスの可用性を向上させることができます。
IPv4 ゲートウェイ:IPv4 ゲートウェイは、VPC をインターネットに接続するインターネットゲートウェイです。インバウンドおよびアウトバウンドのインターネット IPv4 トラフィックは IPv4 ゲートウェイによって転送および制御され、インターネットアクセスの管理と制御を容易にします。VPC の IPv4 ゲートウェイにルートを設定することで、VPC 内のインスタンスのインターネットアクセスを調整できます。たとえば、ルートが IPv4 ゲートウェイを指している vSwitch のみがインターネットにアクセスできます。
NAT ゲートウェイ:NAT ゲートウェイは NAT サービスを提供し、インターネット NAT ゲートウェイと VPC NAT ゲートウェイに分類されます。複数の ECS インスタンスがインターネットにアクセスする必要がある場合、インターネット NAT ゲートウェイの SNAT 機能を使用して、NAT ゲートウェイの Elastic IP アドレス (EIP) を使用して ECS インスタンスがインターネットにアクセスできるようにすることができます。これにより、パブリック IP アドレスリソースを節約できます。ネットワークセキュリティを向上させるために、クラウドサービスのアドレスを変換して隠し、プライベートアドレスの露出を防ぐことができます。VPC NAT ゲートウェイは、プライベート IP アドレスを変換することで IP アドレスの競合を防ぐことができます。
SLB:1 つの ECS インスタンスのみを使用してインターネット経由でサービスを提供する場合、単一障害点 (SPOF) が発生し、システムの可用性が損なわれる可能性があります。SLB インスタンスを統一されたインターネットトラフィックのイングレスとして使用し、異なるゾーンにある複数の ECS インスタンスをバックエンドサーバーとして SLB インスタンスに追加することを推奨します。これにより、SPOF を防ぎ、サービスの可用性を向上させることができます。
ソリューションのハイライト
セキュリティ:インターネットにアクセス可能なアプリケーションとアクセス不可能なアプリケーションは、異なる vSwitch にデプロイされます。アクセス制御リスト (ACL) を使用して vSwitch 間のアクセスを制御し、セキュリティグループを使用してサーバーグループ間のアクセスを制御できます。アプリケーションシステムのセキュリティを強化するために、Cloud Firewall を使用してインターネット境界、VPC 境界、および NAT ゲートウェイ境界での保護を強化できます。
スケーラビリティ:VPC が長期的なビジネス開発の要件に対応できるようにするためには、互いに競合しない十分な IP アドレスを予約する必要があります。そうしないと、ネットワークアーキテクチャに大幅な変更が必要になる可能性があります。
信頼性:1 つのリージョンに 1 つの VPC をデプロイする際には、少なくとも 2 つの vSwitch を使用することを推奨します。アクティブなゾーン冗長性を確保するために、vSwitch が異なるゾーンにデプロイされていることを確認してください。VPC を NAT Gateway、SLB、Cloud Enterprise Network (CEN) などの他のネットワークサービスと組み合わせることで、クロスゾーンデプロイメントを実装できます。
可観測性:Network Intelligence Service (NIS) を使用して、ネットワーク品質、ネットワークトラフィック、ネットワークインスタンスの検査と診断、およびネットワークトポロジーを可視化できます。データの可視化により、ネットワークの運用保守 (O&M) が簡素化されます。また、フローログとトラフィックミラーリングを使用して、ネットワークトラフィックを監視し、エラーのトラブルシューティングを行うこともできます。
主要な設計
以下の主要なポイントは、1 つのリージョンに 1 つの VPC をデプロイする設計方法を、さまざまな要件に合わせて複数のディメンションから示しています:
明確なネットワーク要件
リージョンとゾーンを選択する際には、ネットワーク遅延やサポートされているクラウドサービスなど、考えられるすべての要因を考慮する必要があります。
インターネットの品質がアクセシビリティを決定します。NIS を使用してインターネットのアクセシビリティを調査し、日々の調査結果を監視できます。
ビジネスで低いネットワーク遅延が要求される場合は、NIS を使用してクラウドネットワーク間の接続性をテストし、同じリージョン内または異なるリージョン間のゾーン間のネットワーク遅延を監視できます。
また、VPC を使用する目的と要件も確認する必要があります。たとえば、本番環境とステージング環境の VPC の隔離要件は異なります。セキュリティグループの構成、ACL の構成、Cloud Firewall の構成、およびネットワークソリューションは、ネットワーク要件に基づいて決定されます。
適切な CIDR ブロックの割り当て
VPC に適切な数の IP アドレスを割り当てます。ビジネスの発展のために十分な IP アドレスを予約しつつ、IP アドレスリソースを無駄にしないようにします。適切な数のパブリック vSwitch とプライベート vSwitch をデプロイします。各アプリケーションがどの vSwitch に属するかを確認します。インターネット向けアプリケーションとイントラネット向けアプリケーションが VPC 内のセキュアドメインにデプロイされていることを確認します。
正確なルート
パブリック vSwitch とプライベート vSwitch を使用してパブリックアプリケーションとプライベートアプリケーションを隔離する場合、ネットワークトラフィックを隔離するために、パブリック vSwitch とプライベート vSwitch を異なるルートテーブルに関連付ける必要があります。ゲートウェイルートテーブルを有効にすることで、vSwitch のインターネットアクセスを制限できます。
セキュリティ
セキュリティグループと ACL を使用して、VPC のインバウンドおよびアウトバウンドトラフィックを制限できます。たとえば、各インスタンスまたはサービスに対してセキュリティグループルールを設定し、指定されたポートまたは指定されたプロトコル経由でのみアクセスを許可することができます。セキュリティグループと ACL は基本的な保護を提供します。セキュリティを強化するために、Cloud Firewall の使用を推奨します。
インターネットトラフィックのインバウンドおよびアウトバウンドルール
インターネットトラフィックのインターネットイングレスとして SLB インスタンスを使用することを推奨します。インターネットアクセスが必要なサーバーが多数ある場合は、NAT ゲートウェイをインターネットエグレスとして使用できます。VPC に NAT ゲートウェイと SLB インスタンスをデプロイする場合は、NAT ゲートウェイと VPC に別々の vSwitch を割り当てる必要があります。インターネットのイングレスとエグレスの vSwitch は、ネットワークの柔軟性とセキュリティを高めるために、アプリケーションの vSwitch から隔離する必要があります。
高可用性
VPC を設計する際には、高可用性とスケーラビリティの要件を考慮してください。1 つのリージョンに 1 つの VPC をデプロイする場合、少なくとも 2 つの vSwitch を使用することを推奨します。VPC を NAT Gateway、SLB、CEN などの他のネットワークサービスと組み合わせることで、クロスゾーンデプロイメントを実装できます。
運用保守とモニタリング
高い可観測性は、O&M エンジニアや開発者がエラーを迅速に特定し、パフォーマンスを最適化し、潜在的な障害を予測するのに役立ちます。O&M を可視化するために、NIS、フローログ、およびトラフィックミラーリングを使用することを推奨します。
ベストプラクティス
ソリューション概要
1 つのリージョンに 1 つの VPC をデプロイする設計を行う際には、データセンターの内部ネットワーク、ハイブリッドクラウドネットワーク、クラウド内のワイドエリアネットワークなど、ビジネス要件に基づいてネットワークアーキテクチャ全体を設計する必要があります。
このソリューションでは、VPC、vSwitch、および IPv4 ゲートウェイを使用してクラウド内にデータセンターを構築します。リージョンには 1 つの VPC のみがデプロイされます。
セキュリティ:VPC はパブリック vSwitch とプライベート vSwitch に分割され、インターネット向けアプリケーションはパブリック vSwitch にデプロイされます。イントラネット向けアプリケーションとデータベースはプライベート vSwitch にデプロイされます。上の図では、vSwitch A と vSwitch B のサーバーは、パブリック IP アドレスを持っていてもインターネットにアクセスできません。セキュリティグループ、ACL、および Cloud Firewall を使用してアプリケーションのセキュリティを向上させることができます。
スケーラビリティ:ECS インスタンス、ネットワーク、ストレージデバイスなどのクラウドリソースは IP アドレスを占有します。大きなサブネットマスクを使用して十分な IP アドレスを予約することを推奨します。不適切な計画により IP アドレスが不足した場合は、セカンダリ CIDR ブロックを追加してより多くの IP アドレスを提供できます。セカンダリ CIDR ブロックは変更できません。VPC は複数のパブリック vSwitch とプライベート vSwitch をサポートしており、複数のアプリケーションをデプロイできます。
信頼性:各タイプの vSwitch を少なくとも 2 つ作成し、それらを異なるゾーンにデプロイしてアクティブなゾーン冗長性を実装してください。
可観測性:NIS を使用して、ネットワーク品質、ネットワークトラフィック、ネットワークインスタンスの検査と診断、およびネットワークトポロジーを可視化できます。
操作手順
リージョンとゾーンの選択
ユーザーの所在地に基づいてリージョンを選択します。クラウドリソースの在庫と遅延要件に基づいてゾーンを選択します。詳細については、「ゾーン間またはリージョン間の平均ネットワーク遅延の監視」および「インターネットアクセス遅延の監視」をご参照ください。
IP アドレスの割り当て
標準の RFC CIDR ブロック:
10.0.0.0/8、172.16.0.0/12、および192.168.0.0/16、またはそれらのサブセットを VPC CIDR ブロックとして使用できます。カスタム VPC CIDR ブロックを指定することもできます。100.64.0.0/10、224.0.0.0/4、127.0.0.0/8、169.254.0.0/16、またはそれらのサブネットのいずれかをカスタム CIDR ブロックとして指定することはできません。複数の VPC がある場合や、VPC とデータセンター間でハイブリッドクラウド環境を構築したい場合は、VPC に RFC CIDR ブロックのサブセットを指定することを推奨します。この場合、サブネットマスクの長さを 20 ビット以下に設定することを推奨します。VPC とデータセンターの CIDR ブロックが重複しないようにしてください。vSwitch の CIDR ブロックを計画する際には、vSwitch 内に作成できる ECS インスタンスやその他のクラウドリソースの数を考慮する必要があります。後で使用するために十分な IP アドレスを予約するために、大きな CIDR ブロックを指定することを推奨します。ただし、ビジネス要件を大幅に超える CIDR ブロックは指定しないでください。そうしないと、VPC のアイドル IP アドレスが無駄になり、他の VPC が IP アドレス不足のためにスケールアウトできなくなります。
vSwitch の設計
説明各タイプの vSwitch を少なくとも 2 つ作成し、それらを異なるゾーンにデプロイしてアクティブなゾーン冗長性を実装してください。
vSwitch
vSwitch 内のリソース
インターネットアクセスを持つパブリック vSwitch
SLB vSwitch
ALB や NLB インスタンスなどのインターネット向け SLB インスタンスのみがデプロイされます。ECS インスタンスはデプロイされません。
NAT ゲートウェイ vSwitch
NAT ゲートウェイのみがデプロイされます。ECS インスタンスはデプロイされません。
アプリケーション vSwitch
インターネット向けアプリケーションサーバーがデプロイされます。ただし、ECS インスタンスはパブリック IP アドレスを持っていてもインターネットにアクセスできません。ECS インスタンスは SLB インスタンスまたは NAT ゲートウェイを使用してインターネットと通信できます。
インターネットアクセスを持たないプライベート vSwitch
SLB vSwitch
ALB や NLB インスタンスなどのイントラネット SLB インスタンスのみがデプロイされます。ECS インスタンスはデプロイされません。
アプリケーション vSwitch
イントラネット向けアプリケーションサーバーまたはデータベースがデプロイされます。サーバーはインターネットにアクセスできません。
トランジットルーター vSwitch
VPC はトランジットルーターを使用して、CEN インスタンスにアタッチされている他の VPC や仮想ボーダールーター (VBR) と通信します。
ルートテーブルの設計
vSwitch
ゾーン
関連付けられたルートテーブル
ルート設定
パブリック vSwitch
SLB vSwitch
ゾーン E およびゾーン F
システムルートテーブル
デフォルトルートを IPv4 ゲートウェイに向け、vSwitch A の ECS インスタンスを SLB インスタンスに追加します。SLB インスタンスはインターネットトラフィックのイングレスとして機能します。
NAT ゲートウェイ vSwitch
ゾーン E およびゾーン F
アプリケーション vSwitch
ゾーン E およびゾーン F
カスタムルートテーブル 1
デフォルトルートを NAT ゲートウェイに向けます。ECS インスタンスは NAT ゲートウェイを使用してインターネットと通信したり、SLB インスタンスに追加されてインターネットにサービスを提供したりできます。IPv4 ゲートウェイを指すデフォルトルートは設定されていません。vSwitch A には IPv4 ゲートウェイを指すデフォルトルートがありません。ECS インスタンスはパブリック IP アドレスを持っていてもインターネットと通信できません。これにより、ECS インスタンスのインターネットイングレスが完全に制御されるため、システムのセキュリティが強化されます。
プライベート vSwitch
SLB vSwitch
ゾーン E およびゾーン F
カスタムルートテーブル 2
イントラネット SLB インスタンスをデプロイし、vSwitch B の ECS インスタンスを SLB インスタンスに追加します。ECS インスタンスは内部サービスを提供します。NAT ゲートウェイまたは IPv4 ゲートウェイを指すデフォルトルートは設定されていません。
アプリケーション vSwitch
ゾーン E およびゾーン F
ECS インスタンスまたはセキュリティに敏感なデータベースをプライベートネットワーク環境としてデプロイします。NAT ゲートウェイまたは IPv4 ゲートウェイを指すルートは設定しません。ECS インスタンスをインターネット向け SLB インスタンスに追加しません。ECS インスタンスはインターネットにアクセスできません。
トランジットルーター vSwitch
ゾーン E およびゾーン F
VPC はトランジットルーターを使用して、CEN インスタンスにアタッチされている他の VPC や VBR と通信します。トランジットルーターを指すカスタムルートを設定する必要があります。
セキュリティ保護の設計
セキュリティグループ、ACL、およびCloud Firewall を使用してアプリケーションのセキュリティを向上させることができます。
サーバーセキュリティ:ECS インスタンスのサーバーグループにセキュリティグループを関連付けて、ECS インスタンスへのアクセスを制御します。セキュリティグループはステートフルです。セキュリティグループのインバウンドルールへの変更は、自動的にセキュリティグループのアウトバウンドルールに適用されます。
vSwitch セキュリティ:vSwitch に ACL を関連付けて、vSwitch へのアクセスを制御します。ACL はステートレスです。vSwitch からの応答を許可するには、アウトバウンド方向に許可ルールを設定する必要があります。
高度なセキュリティ:
インターネットファイアウォール:インターネット向け資産に対してインターネットファイアウォールを有効にすると、Cloud Firewall はトラフィック分析ポリシー、侵入防止ポリシー、脅威インテリジェンスルール、仮想パッチポリシー、およびアクセス制御ポリシーに基づいてインバウンドおよびアウトバウンドトラフィックをフィルタリングします。その後、インターネットファイアウォールはインバウンドおよびアウトバウンドトラフィックが指定された条件に一致するかどうかを確認し、不正なトラフィックをブロックします。これにより、インターネット向け資産とインターネット間のトラフィックのセキュリティが確保されます。
NAT ファイアウォール:NAT ファイアウォールまたは NAT ゲートウェイを有効にすると、NAT ファイアウォールは VPC 内の内部リソースから NAT ゲートウェイへのすべてのアウトバウンドトラフィックを監視します。これには、同じ VPC 内のリソースと VPC 間のリソースが含まれます。
VPC ファイアウォール:VPC ファイアウォールは、VPC 間のトラフィックおよび VPC とデータセンター間のトラフィックを監視および管理します。
O&M の設計
O&M を可視化するために、NIS をフローログおよびトラフィックミラーリングと組み合わせることを推奨します。
NIS:ネットワーク品質の可視化、トポロジーの可視化、およびトラフィックの可視化をサポートするネットワーク O&M ツールです。NIS を使用して、検査およびインスタンス診断を実行できます。
フローログ:フローログは、Elastic Network Interface (ENI)、VPC、および vSwitch の5 タプル情報を収集するために使用できます。フローログを分析して、ACL ルールを確認し、ネットワーク品質を監視し、ネットワークエラーをトラブルシューティングできます。
トラフィックミラーリング:この機能は、ENI を通過する特定のパケットをミラーリングでき、コンテンツ検査、脅威モニタリング、およびトラブルシューティングに使用できます。
無効な構成の修正
IP アドレスの不足:不適切な計画によりアドレスが不足した場合は、セカンダリ CIDR ブロックを追加してより多くの IP アドレスを提供できます。セカンダリ CIDR ブロックは変更できません。
IP アドレスの競合:VPC に十分な CIDR ブロックが割り当てられている場合は、重複しない CIDR ブロックを持つ vSwitch を作成し、アプリケーションをその vSwitch に移行できます。また、VPC NAT ゲートウェイを使用して IP アドレスの競合を解決することもできます。VPC NAT ゲートウェイはプライベート IP アドレスを変換できます。ただし、NAT ゲートウェイはルート設定の複雑さを増します。必要な場合を除き、NAT ゲートウェイの使用は推奨しません。
CADT でのアーキテクチャの仮想化
1 つのリージョンへの 1 つの VPC のデプロイ
シナリオ | 項目 | リファレンス |
1 つのリージョンへの 1 つの VPC のデプロイ | テンプレート ID | 51N54AV10ZTRRTRW |
テンプレートライブラリのアドレス | ||
サンプルコード |
可視化されたデプロイメントアーキテクチャ

手順
可視化されたデプロイメント
1 つの VPC、11 個の vSwitch、1 つの IPv4 ゲートウェイ、3 つのカスタムルートテーブルを含む、必要なクラウドリソースを作成します。
テンプレートに基づいてアプリケーションを作成します。デフォルトのリージョンは中国 (上海) です。既存のクラウドリソースを使用するのではなく、クラウドリソースを作成します。
アプリケーションを保存して検証し、料金を計算します。この例では、すべてのクラウドリソースは従量課金制で請求されます。
構成を確認し、プロトコルを選択して、すべてのリソースのデプロイを開始します。ルートは自動的に設定されます。
API 呼び出し
対応する API 操作を呼び出して、クラウドリソースをデプロイおよび使用します。
ドキュメントを参照して、コマンドラインインターフェイス (CLI) を使用して構成を初期化します。
サンプル YAML ファイルを参照して、アーキテクチャをデプロイおよび出力します。
リージョンを変更する場合は、area_id フィールドの値を変更します。たとえば、cn-hangzhou を cn-shanghai に変更します。