はじめに
この記事では、Google Cloudのネットワークサービスについて解説します。VPCの基本から、ファイアウォール、ロードバランシング、CDNまで詳しく見ていきましょう。
Google Cloudのネットワーク
Google Cloudは、Googleが長年培ってきたグローバルネットワーク技術を基盤としています。このネットワークは安全で高速な通信を実現しているんです。
主な特徴
Google Cloudのネットワークには以下の特徴があります。
| 特徴 | 説明 |
|---|---|
| グローバルネットワーク | Googleが運用するプライベート光ファイバー網 |
| エッジロケーション | 世界200以上のエッジPoP(接続拠点)を展開 |
| 自動暗号化 | VPC内の通信は自動的に暗号化される |
| ソフトウェア定義 | Andromeda仮想ネットワーク基盤で柔軟に制御 |
| グローバルロードバランシング | 単一IPで世界中にトラフィックを分散できる |
ネットワークティア
ネットワーク品質と料金のバランスを選択できます。
| ティア | 説明 | 特徴 |
|---|---|---|
| プレミアム | Googleのプライベートネットワークを使用 | 低遅延、高品質だが料金は高め |
| スタンダード | 公衆インターネット経由 | 低コストだが遅延が大きい |
ネットワークサービス一覧
Google Cloudが提供する主なネットワークサービスをカテゴリ別に整理しました。
| カテゴリ | サービス |
|---|---|
| 仮想ネットワーク | VPC、サブネット、ルート |
| 接続 | Cloud VPN、Cloud Interconnect、Partner Interconnect |
| ロードバランシング | Cloud Load Balancing |
| コンテンツ配信 | Cloud CDN |
| DNS | Cloud DNS |
| セキュリティ | Cloud Armor、ファイアウォール |
| サービスネットワーキング | Private Service Connect |
VPC(Virtual Private Cloud)
VPCは、Google Cloud内で分離された仮想ネットワーク環境を提供するサービスです。オンプレミスのネットワークをクラウド上に再現できるイメージですね。
VPCの特徴
VPCには他のクラウドサービスとは異なる特徴があります。
| 特徴 | 説明 |
|---|---|
| グローバルリソース | 単一のVPCが複数リージョンにまたがって存在できる |
| 自動サブネット | リージョンごとにサブネットを自動作成可能 |
| プライベート通信 | VPC内の通信は外部インターネットを経由しない |
| ファイアウォール | 柔軟なトラフィック制御が可能 |
| ピアリング | 複数のVPC間を接続できる |
VPCのコンポーネント
VPCは以下のコンポーネントで構成されています。
| コンポーネント | 説明 |
|---|---|
| サブネット | リージョン内のIPアドレス範囲を定義 |
| ルート | トラフィックの経路を決定 |
| ファイアウォールルール | トラフィックの許可/拒否を制御 |
| IPアドレス | 内部IP、外部IPを管理 |
| VPNゲートウェイ | VPN接続用のゲートウェイ |
デフォルトネットワークについて
新規プロジェクトを作成すると、デフォルトVPCが自動的に作成されます。これはすぐに使い始められて便利なのですが、本番環境での使用は推奨されません。
デフォルトVPCには以下のファイアウォールルールが設定されています。
| ルール名 | 説明 |
|---|---|
| default-allow-internal | VPC内の全通信を許可 |
| default-allow-ssh | SSH接続を許可 |
| default-allow-rdp | RDP接続を許可 |
| default-allow-icmp | ping通信を許可 |
デフォルトネットワークを避けるべき理由
本番環境では以下の理由から、カスタムVPCの使用を推奨します。
- セキュリティ面での懸念:デフォルトルールが緩い設定になっており、最小権限の原則に反する
- カスタマイズ性の低さ:IPアドレス範囲を選択できず、ネットワーク設計の自由度が低い
- オンプレミス連携の困難さ:既存のネットワークとの統合が難しい
デフォルトネットワークは削除することもできます。
サブネットの仕組み
サブネットは、VPC内でリージョンごとに定義されるIPアドレス範囲です。オンプレミスのネットワークセグメントと似た概念ですね。
サブネットの特徴
Google Cloudのサブネットには独特の特徴があります。
| 特徴 | 説明 |
|---|---|
| リージョナルリソース | サブネットは特定のリージョンに属する |
| ゾーンをまたぐ | 同一リージョン内の全ゾーンで使用可能 |
| 拡張可能 | IPアドレス範囲の拡張が可能(縮小は不可) |
| プライベートIPアクセス | 外部IPなしでGoogle APIにアクセスできる |
IPアドレスの予約
各サブネットでは、いくつかのIPアドレスが予約されています。例えば、10.0.0.0/24のサブネットの場合、実際に使えるのは10.0.0.2から10.0.0.253までの252個です。
| アドレス | 用途 |
|---|---|
| 最初のアドレス | ネットワークアドレス |
| 2番目のアドレス | サブネットゲートウェイ |
| 最後から2番目 | 将来の利用のために予約 |
| 最後のアドレス | ブロードキャストアドレス |
自動モードとカスタムモード
VPCネットワークには2つのサブネット作成モードがあります。
自動モード
各リージョンにサブネットが自動的に作成されるモードです。簡単に使い始められますが、IP範囲を選べないため柔軟性が低くなります。
| 特徴 | 説明 |
|---|---|
| 自動作成 | 各リージョンにサブネットが自動作成される |
| IP範囲 | 10.128.0.0/9の中から自動割り当て |
| 簡単 | 初期設定なしですぐに使用可能 |
| 柔軟性 | 低い(IP範囲を選べない) |
カスタムモード
サブネットを明示的に作成するモードです。本番環境ではこちらを推奨します。
| 特徴 | 説明 |
|---|---|
| 手動作成 | サブネットを明示的に作成する必要がある |
| IP範囲 | 任意のプライベートIP範囲を使用可能 |
| 柔軟性 | 高い(完全にカスタマイズ可能) |
| 推奨 | 本番環境での使用に推奨 |
モードの比較と推奨事項
| 項目 | 自動モード | カスタムモード |
|---|---|---|
| サブネット作成 | 自動 | 手動 |
| IP範囲選択 | 不可 | 可能 |
| 本番環境 | 非推奨 | 推奨 |
| オンプレ連携 | 困難 | 容易 |
| セキュリティ設計 | 限定的 | 柔軟 |
本番環境では以下の理由からカスタムモードを推奨します。
- IP範囲を完全に制御できる
- オンプレミス環境との統合が容易
- セキュリティ設計の柔軟性が高い
- ネットワーク分離を実現しやすい
なお、自動モードからカスタムモードへの変換は可能ですが、逆はできません。
ファイアウォール
VPCファイアウォールは、VPC内のトラフィックを制御するステートフルファイアウォールです。ステートフルとは、接続の状態を記憶しているという意味で、一度許可された接続の戻りトラフィックは自動的に許可されます。
ファイアウォールルールの構成要素
ファイアウォールルールは以下の要素で構成されます。
| 要素 | 説明 |
|---|---|
| 方向 | 上り(ingress)または下り(egress) |
| アクション | 許可(allow)または拒否(deny) |
| プロトコル/ポート | TCP/UDP/ICMPなどとポート番号 |
| ターゲット | 適用先のリソースを指定 |
| ソース/宛先 | 通信元/先のIPアドレスまたはタグ |
| 優先度 | 0-65535(低い値が優先される) |
ネットワークタグとサービスアカウント
ファイアウォールルールの適用先を柔軟に指定できます。
| 方法 | 説明 |
|---|---|
| 全インスタンス | VPC内のすべてのVMに適用 |
| ネットワークタグ | タグが付いたVMのみに適用 |
| サービスアカウント | 指定サービスアカウントのVMに適用 |
暗黙のルール
VPCには暗黙的に以下のルールが適用されています。明示的に作成したルールより優先度が低いため、必要な通信は許可ルールで上書きします。
| ルール | 優先度 | 説明 |
|---|---|---|
| 上り拒否 | 65535 | すべての受信を拒否 |
| 下り許可 | 65535 | すべての送信を許可 |
ファイアウォールのベストプラクティス
セキュアなネットワークを構築するために、以下のポイントを押さえましょう。
- 最小権限の原則:必要な通信のみを許可する
- ネットワークタグの活用:役割ベースでルールを適用する
- 階層型ファイアウォール:組織レベルでポリシーを管理する
- ログの有効化:ファイアウォールログでトラフィックを監視する
- 定期的なレビュー:不要なルールを削除する
VPCの拡張と接続
VPCは単独で使用するだけでなく、他のVPCやオンプレミス環境と接続できます。
VPCネットワークピアリング
異なるVPC間をプライベート接続で相互接続します。プロジェクトや組織が異なっていても接続できるのが特徴です。
特徴:
- 異なるプロジェクト/組織間で接続可能
- トラフィックはGoogleのプライベートネットワーク内を通過
- 両方のVPCからピアリング設定が必要
共有VPC
ホストプロジェクトのVPCを複数のサービスプロジェクトで共有します。ネットワーク管理を一元化できるのが大きなメリットです。
メリット:
- ネットワーク管理の一元化
- セキュリティポリシーの統一
- IPアドレス管理の簡素化
Cloud VPN
オンプレミス環境とVPCをIPsec VPNで接続します。インターネット経由ですが、暗号化されているため安全です。
| タイプ | 説明 |
|---|---|
| Classic VPN | 単一トンネル、最大3Gbps |
| HA VPN | 高可用性、99.99% SLA保証 |
Cloud Interconnect
専用線でオンプレミス環境と接続します。大容量のデータ転送が必要な場合に適しています。
| タイプ | 容量 | 用途 |
|---|---|---|
| Dedicated | 10/100 Gbps | 大規模データ転送 |
| Partner | 50Mbps〜50Gbps | パートナー経由で接続 |
ルーティングとCloud NAT
VPC内のトラフィックは、ルートテーブルに基づいて転送されます。
ルートの種類
| 種類 | 説明 |
|---|---|
| システム生成ルート | VPCが自動作成する基本ルート |
| カスタムルート | ユーザーが定義するルート |
| 動的ルート | Cloud RouterがBGPで学習するルート |
Cloud NAT
Cloud NATは、内部IPのみのVMがインターネットにアクセスするためのマネージドサービスです。インフラ管理不要で自動スケーリングするのが特徴ですね。
特徴:
- マネージド:インフラ管理不要
- スケーラブル:自動スケーリング
- 送信のみ:インターネットからの着信は不可
- ログ:接続ログの取得が可能
Cloud Load Balancing
Cloud Load Balancingは、トラフィックを複数のバックエンドに分散するフルマネージドサービスです。
ロードバランサーの種類
用途に応じて様々なタイプのロードバランサーを選択できます。
| 種類 | レイヤー | 用途 |
|---|---|---|
| グローバルHTTP(S) | L7 | Webアプリケーション |
| グローバルSSLプロキシ | L4 | SSL/TLS終端 |
| グローバルTCPプロキシ | L4 | TCPトラフィック |
| リージョナル外部 | L4/L7 | リージョン限定 |
| リージョナル内部 | L4/L7 | VPC内トラフィック |
| 内部HTTP(S) | L7 | 内部マイクロサービス |
グローバルHTTP(S)ロードバランサー
最も一般的に使用されるロードバランサーです。世界中のユーザーに最適なバックエンドへトラフィックを振り分けます。
特徴:
- 単一のAnycast IP:世界中から同じIPでアクセス可能
- SSL/TLS終端:証明書管理が容易
- URLマップ:パスベースのルーティング
- Cloud CDN統合:コンテンツのキャッシング
- Cloud Armor統合:WAF/DDoS保護
ロードバランサーの構成要素
| コンポーネント | 説明 |
|---|---|
| フロントエンド | IPアドレス、ポート、プロトコルを定義 |
| URLマップ | リクエストのルーティングルールを設定 |
| バックエンドサービス | バックエンドグループと設定を管理 |
| ヘルスチェック | バックエンドの正常性を確認 |
| インスタンスグループ | ロードバランス対象のVM群 |
Cloud CDN
Cloud CDNは、Google Cloudのエッジロケーションを活用してコンテンツをキャッシュし、配信速度を向上させるサービスです。
Cloud CDNの特徴
| 特徴 | 説明 |
|---|---|
| グローバルエッジ | 200以上のエッジロケーションを展開 |
| 低遅延 | ユーザーに近い場所から配信 |
| 自動スケーリング | トラフィック増加に自動対応 |
| 統合認証 | 署名付きURLでアクセス制御 |
| カスタムヘッダー | キャッシュ制御の柔軟性 |
キャッシュモード
用途に応じてキャッシュモードを選択できます。
| モード | 説明 |
|---|---|
| USE_ORIGIN_HEADERS | オリジンのCache-Controlヘッダーに従う |
| CACHE_ALL_STATIC | 静的コンテンツをすべてキャッシュ |
| FORCE_CACHE_ALL | すべてのコンテンツをキャッシュ |
署名付きURL
認証済みユーザーのみにコンテンツを配信したい場合は、署名付きURLを使用します。
Cloud DNS
Cloud DNSは、高可用性・低遅延のマネージドDNSサービスです。100% SLAが保証されており、信頼性が高いのが特徴ですね。
Cloud DNSの特徴
| 特徴 | 説明 |
|---|---|
| 100% SLA | 高い可用性保証 |
| グローバル | 世界中にDNSサーバーを展開 |
| 高速 | 低遅延のDNS応答 |
| プライベートDNS | VPC内専用のDNSゾーン |
| DNS転送 | オンプレミスDNSとの連携 |
DNSゾーンの種類
| 種類 | 説明 |
|---|---|
| パブリックゾーン | インターネットに公開するDNSゾーン |
| プライベートゾーン | VPC内のみで解決するDNSゾーン |
| 転送ゾーン | 外部DNSサーバーに転送するゾーン |
| ピアリングゾーン | 他VPCのプライベートゾーンを参照 |
DNSレコードの種類
| レコード | 説明 |
|---|---|
| A | ホスト名→IPv4アドレスのマッピング |
| AAAA | ホスト名→IPv6アドレスのマッピング |
| CNAME | 別名→正規名のマッピング |
| MX | メールサーバーの指定 |
| TXT | テキスト情報(SPFレコードなど) |
| NS | ネームサーバーの指定 |
まとめ
この記事では、Google Cloudのネットワークサービスについて学びました。
Google Cloudは、グローバルなプライベートネットワークを基盤とした高品質なネットワークサービスを提供しています。VPCを使えば、柔軟で安全なネットワーク環境を構築できます。
主なポイントを振り返りましょう。
- VPCはグローバルリソースで、リージョンをまたいだネットワークを構築できる
- サブネットはリージョンごとに作成し、カスタムモードでの作成を推奨
- ファイアウォールで細かいトラフィック制御が可能
- VPCピアリングや共有VPCで拡張性を確保
- Cloud Load Balancingでグローバルな負荷分散を実現
- Cloud CDNでコンテンツ配信を高速化
- Cloud DNSで高可用性のDNSサービスを利用
これらのサービスを組み合わせることで、スケーラブルで安全なネットワークインフラを構築できます。
参考リンク
より詳しい情報は、以下の公式ドキュメントをご覧ください。