データセンター プロフェッショナルのための Google Cloud Platform: ネットワーキング

ここでは、Google Cloud Platform のネットワーキング サービスについて、および従来のデータセンター テクノロジーとの相違について説明します。また、2 つのサービスモデルの違いについて探り、Cloud Platform の VPC ネットワーキング機能についても詳しく説明します。

サービスモデルの比較

従来のデータセンターでは、サーバーのラック、ストレージ デバイス、複数のスイッチレイヤ、ルーター、ロードバランサ、ファイアウォール デバイスなどで構成される複雑なネットワーク設定を管理します。これらのハードウェア上の構成要素に加え、ネットワークの基盤となるソフトウェアや、環境に応じた詳細なデバイス構成をセットアップ、管理、モニタリングする必要もあります。管理上のオーバーヘッドはこれだけではありません。ネットワークのセキュリティや可用性について考慮する必要もあります。さらに、ネットワークのアップグレードや拡張も計画しておく必要があり、これは長期的な時間を要するプロセスになります。

一方、Cloud Platform の VPC ネットワーキング インフラストラクチャは、ソフトウェア定義ネットワーキング(SDN)モデルを中心に構築されています。このモデルでは、前述のメンテナンスや管理に伴うオーバーヘッドの多くを削減できるため、顧客基盤のニーズの高まりに合わせて、サービスをよりすばやくカスタマイズし、スケーリングできます。

データセンターと Cloud Platform VPC ネットワーキング アーキテクチャの比較
図 1: データセンターと Cloud Platform VPC ネットワーキング アーキテクチャの比較

Cloud Platform の VPC ネットワーキング サービスの特長を以下に示します。

Cloud Platform では、物理データセンター ネットワーキング コンポーネント自体を管理する必要はありませんが、サブネット、ルート、ファイアウォール ルール、DNS、負荷分散、VPN、NAT、DHCP など、多数の一般的なネットワーキング コンセプトについては、Cloud Platform にも当てはまります。これらの分野に習熟していれば、VPC ネットワーキングを扱うときに、より短時間で習得することができ、クラウド環境でベスト プラクティスを推進するのに役立ちます。

VPC ネットワーク

VPC ネットワークは、ネットワーク、サブネット、IP アドレス、ルート、ファイアウォール、VPN、Cloud Router など、Cloud Platform の基盤となるネットワーキング テクノロジーで構成されます。この基盤を使用して、単一のグローバル VPC ネットワークを共有し、リージョン サブネットに追加できるコンピューティング インスタンスとコンテナを作成できます。Cloud Platform を使用すれば、エンドユーザーに近いリージョンやゾーンで低レイテンシ サービスを提供したり、可用性を得るために複数の障害ドメインにわたってサービスを分散したりして、柔軟に対応できます。

VPC ネットワーク

Cloud Platform では、VPC ネットワークはグローバルでプライベートな RFC 1918 IP 空間です。Cloud Platform の VPC ネットワークはデフォルトでグローバルであるため、グローバルな可用性を得るために複数のプライベート ネットワークを接続して別個に管理する必要はありません。グローバル VPC ネットワークを使用している場合、VM インスタンス名はホスト名として Compute Engine の内部 DNS によって自動的にトラッキングされるため、Google Compute Engine 仮想マシン(VM)インスタンスは、IP アドレスと名前の両方によって、VPC ネットワーク内で処理できます。

サブネット

VPC ネットワーク内でサブネットを使用して、リージョンまたはゾーンごとにインスタンスをグループ化し、IP アドレス空間のセグメント化を制御できます。独自のサブネットは、任意のプライベート RFC 1918 IP 範囲を使用して管理できます。また、各 Cloud Platform リージョンにサブネットを自動的に作成する自動モード VPC ネットワークを使用することもできます。サブネット間の IP 範囲は連続である必要はなく、動的に拡張できます。

サブネット間の分離を制御するために、インスタンス タグを個々の VM インスタンスやインスタンス テンプレートに追加して、それらのタグを利用できるようにルートとファイアウォール ルールを構成できます。

VPC ネットワーク、サブネット、リージョン、ゾーン
図 2: VPC ネットワーク、サブネット、リージョン、ゾーン

IP アドレス

インスタンスでは、VPC ネットワーク内で通信するために使用される、エフェメラルな内部 IP アドレスと、VPC ネットワーク外で通信するために使用される、オプションの外部 IP アドレスという、最大で 2 つの IP アドレスがサポートされています。外部 IP アドレスはデフォルトでエフェメラルですが、静的にすることもできます。Cloud Platform で IP アドレスがどのように機能するかについては、IP アドレスをご覧ください。

制御

Cloud Platform には強力な制御メカニズムが用意されているため、組織全体のネットワークとセキュリティの管理者は、リソースの保護、VPC ネットワークの管理、外部エンドポイントへのアクセス許可を容易に行えます。Cloud Platform では、Identity and Access Management(IAM)役割、ファイアウォール、ルートを使用して、VPC ネットワークを制御および保護するためのポリシーやパターンを実装できます。

ネットワーク固有の IAM

Google Cloud IAM には、ネットワーク管理者、ネットワーク閲覧者、セキュリティ管理者、Compute インスタンス管理者など、ネットワークに関連するいくつかの役割が用意されており、リソース制御が明確に分割されています。Cloud IAM と、Cloud Platform での ID 管理の詳細については、管理の記事をご覧ください。

ファイアウォール

データセンターの DMZ と同様に、各 VPC ネットワークにはファイアウォールが設定され、デフォルトでは VPC ネットワーク外からインスタンスへの着信トラフィックがすべてブロックされます。ファイアウォール ルールを構成することでアクセスを許可できます。ただし、従来の DMZ とは異なり、トラフィックに合わせたスケーリングに関連する問題を回避しやすいように、Cloud Platform のファイアウォールはグローバルに分散されています。

ファイアウォール ルールは VPC ネットワーク全体にデフォルトで適用されます。ただし、いくつかのインスタンスに特定のタグを追加し、そのタグを持つインスタンスにファイアウォール ルールを適用することで、一連のインスタンスにファイアウォール ルールを適用できます。また、許可される一連のソースマシンをファイアウォール ルール内に定義することで、そのルールを使用してインスタンス間の内部トラフィックを制御することもできます。

ルート

ルート(転送トラフィックのルール)は、単一の VPC ネットワークに関連付けられたグローバル リソースです。ルートを作成するときにターゲット インスタンス タグを含めることで、VPC ネットワークの 1 つ以上のインスタンスにルートを適用できます。その後、それらのインスタンス タグを使用するすべてのインスタンスに、ルートが追加されます。

Compute Engine を初期化するか、新しい VPC ネットワークを作成するときに、特定のルートはデフォルトで自動的に作成されます。また、必要に応じて、ユーザーが作成したルートを VPC ネットワークに追加することもできます。たとえば、サブネットをまたぐ場合であっても、同じ VPC ネットワーク内であれば外部 IP アドレスなしにインスタンス間でトラフィックを転送するルートを追加できます。

VPC ネットワーク内にサブネットをセットアップすると、デフォルトで、GCP によってサブネット間にルートが作成されます。ただし、default VPC ネットワークを使用している場合を除き、VPC ネットワーク上のインスタンス間でトラフィックを許可するファイアウォール ルールを作成する必要があります。

また、ルートを使用して、多対 1 の NAT や透過プロキシのセットアップなど、VM インスタンス用により高度なネットワーク ファンクションを実装できます。デフォルトのルートは、インターネットや、ユーザーが作成したすべてのインスタンスにトラフィックをどのように送信するかを、VPC ネットワークが認識できるように設計されています。

スケーリング

従来のデータセンター環境では、ロードバランサによって運用が複雑になることがあり、通常はグローバルなスケーラビリティがありません。サービスのスケーラビリティと可用性をサポートするために、Cloud Load Balancing を使用できます。これは、単一のグローバル エニーキャスト IP の背後でコンピューティング リソースを分配します。Cloud Load Balancing では、HTTP(S)、TCP/SSL、UDP の各負荷分散に加え、SSL オフロード、セッション アフィニティ、ヘルスチェック、ロギングがサポートされています。

レイヤ 7 負荷分散

HTTP(S)(レイヤ 7)負荷分散は、トラフィックを最も近いインスタンスに送り、正常ではないインスタンスから取り除くことで、自動的にリージョン間のトラフィックを調整します。また、コンテンツ ベースの負荷分散を追加して、特定のコンテンツ(動画など)に対して最適化されたインスタンスにトラフィックを分配することもできます。レイテンシを短縮し、ユーザーのパフォーマンスを高めるために、Cloud Platform のコンテンツ配信ネットワーク サービスである Cloud CDN と HTTP(S) 負荷分散を組み合わせることもできます。

クロスリージョン負荷分散
図 3: クロスリージョン負荷分散

レイヤ 4 負荷分散

TCP/UDP サービスでトラフィックが急増したために追加インスタンスが必要になった場合、ネットワーク負荷分散(レイヤ 4)も使用できます。ネットワーク負荷分散を使用して、SMTP トラフィックなどの追加プロトコルを負荷分散し、セッション アフィニティを追加して、パケットを検査できます。SSL プロキシでは、負荷分散による非 HTTPS トラフィックの SSL 終端を行えますが、SSL オフロードでは、SSL 証明書と復号を一元管理して、プロセッサ集約的作業をインスタンスからオフロードできます。

ネットワーク負荷分散
図 4: ネットワーク負荷分散

自動スケーリング

負荷分散は、自動スケーリング ポリシーに基づいてインスタンス グループからインスタンスを自動的に追加および削除する Compute Engine 自動スケーリングに基づいて機能します。オートスケーラーの事前定義された自動スケーリング ポリシーから 1 つを選択することも、Stackdriver Monitoring の指標に基づいてカスタム ポリシーを定義することもできます。

Google Cloud DNS

Google Cloud DNS を使用して、アプリケーションやサービスをユーザーがグローバルに使用できるようにしつつ、非常に高い可用性と低レイテンシを実現できます。Cloud DNS は非常に多数の DNS ゾーンとレコードに対応するようにスケーリングできるため、数百万もの DNS レコードを確実に作成し、更新できます。

接続

一部のリソースは Cloud Platform で管理し、他のリソースは別の場所で管理するハイブリッド アーキテクチャを設計している場合、Cloud Platform を使用して、さまざまな方法で外部環境と統合できます。

Cloud VPN

Cloud VPN マネージド サービスでは、セキュアな IPSec トンネルを通じて、プライベート クラウドからのデータを Cloud Platform ホステッド サービスにフィードできます。各 Cloud VPN ゲートウェイは、トンネル間で 1.5 Gbps まで対応できます。Cloud VPN の構成ガイドについては、VPN 相互運用ガイドをご覧ください。

Google Cloud Router

クラウド サブネットを拡張したり、クラウド アプリケーションをさらに作成したり、プライベート クラウド サブネットに変更を加えたりするときに、Google Cloud Router を使用して、ネットワークの変更を自動的に検出し、アドバタイズできます。Cloud Router では、ECMP ルーティングまたはプライマリ / バックアップ セットアップのいずれかを使用した複数の VPN トンネルがサポートされています。ルーター イベント、BGP イベント、ルートイベントは、Stackdriver Logging に表示されます。Cloud Router は指標Stackdriver Monitoring にパブリッシュします。

ハイブリッド ネットワーク アーキテクチャ
図 5: ハイブリッド ネットワーク アーキテクチャ

Cloud Interconnect

既存の接続よりも可用性が高く、レイテンシが低いエンタープライズ グレードの接続が必要なお客様用に、Cloud Platform では Cloud Interconnect が用意されています。ネットワーク トラフィックは Cloud Platform に直接送信されるため、サードパーティ ネットワークを通る不要なルートを防止できます。Cloud Interconnect では、以下のようなサービスを提供しています。

  • キャリア ピアリング サービス: サービス プロバイダ パートナーのグループを介して提供されます。
  • ダイレクト ピアリング サービス: 70 を超える Google のピアリング ロケーションで Google とピアリングし、高スループットのクラウド トラフィックを交換できます。ただし、そのピアリング ロケーションで Google と接触でき、Google のピアリング要件を満たしている必要があります。
  • CDN インターコネクト: これを使用すると、提携するプロバイダは Google のエッジ ネットワークとのダイレクト インターコネクト リンクを確立できます。このエッジ接続により、トラフィックを最適化して、ユーザーに近い場所で大規模なデータファイルをキャッシュに保存し、頻繁に更新されるコンテンツに対するアクセスのレイテンシを短縮できます。

パフォーマンス

所定の VM インスタンスからの下りトラフィックは、下りネットワーク スループットの上限による影響を受けます。これらの上限は、VM インスタンスに含まれているコアの数によって決まります。各コアには、ピーク パフォーマンス時に 2 Gbps という上限があります。コア数を追加することでネットワークの上限が上がり、理論的にはインスタンスごとに最大で 16 Gbps になります。実際のパフォーマンスは、ワークロードによって変動します。すべての上限は最大限のパフォーマンスであり、持続的なパフォーマンスではありません。

Cloud Platform やその他のクラウド サービスのパフォーマンスと、ネイティブ データセンター環境のパフォーマンスを比較して測定するために、オープンソースのベンチマーク ツールである PerfKit Benchmarker を使用できます。google_set 名前付きセットを実行して、Cloud Platform に iperfnetperfping などのベンチマークを実施できます。PerfKit Benchmarker を使用してネットワークのスループットを測定する簡単な例については、ネットワーク スループットの測定をご覧ください。

料金

プロダクト固有の価格設定の詳細については、以下のページをご覧ください。

Cloud Platform 料金計算ツールを使用して、特定のシナリオの費用をモデル化することもできます。

次のステップ

次へ: Cloud Platform でのコンピューティング

ベスト プラクティスを確認する

VPC ネットワークと仮想リソースを保護する方法については、ネットワーキングとセキュリティDDoS のベスト プラクティスをご覧ください。

実践的チュートリアルを試す

作業の準備ができたら、Networking 101 および Networking 102 の Codelab を確認してください。Cloud Platform の VPC ネットワーキング サービスを使用する基本的な仲介ネットワーキング タスクが説明されています。

Google のネットワーキング スタックについて確認する

10 年以上にわたり、Google はクラウドにおけるソフトウェア定義ネットワーキングの革新に多大な投資をして、最適なパフォーマンスとコストメリットを追求してきました。以下の記事や論文で、Google のネットワーキング スタックのさまざまな側面に対する情報を得ることができます。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

データセンター プロフェッショナルのための Google Cloud Platform