パブリッククラウドでは、インターネットや、他のシステムから論理的に切り離された仮想ネットワークを作成する。
この仮想ネットワーク上で、仮想サーバーを起動させることができる。また、サブネットに分割することや、ルートテーブルやACLを設定することで、通信を制御することもできる。
subnetは上述の仮想ネットワークを細かく区切ったネットワークで、セキュリティまたは運用のニーズに基づいてリソースをグループ化できる。インターネットに接続するためには、VMにPublicのIPアドレスを接続、もしくはGatewayを設定する。Publicに公開するかどうかは、クラウド上で構築、提供するシステムの内容によって、クラウドサービス利用者が設計を行う。
以下では、主なパブリッククラウドであるAWS、IBM Cloud、Azure、Google Cloud Platform(GCP)の仮想ネットワークの内容について記載する。
パブリッククラウド4社の仮想ネットワークの比較
AWS
-
仮想ネットワーク名: VPC (Virtual Private Cloud)
- VPCは各リージョン別に作成する。作成時にプライマリーとなるCIDRを指定して作成する。
- インターネットに接続するためには、インターネットゲートウェイを用意し、GWにsubnetをつける、もしくはNAT ゲートウエイを用意する方法がある。
- インターネットからの接続のためには、対象のVMにpublicIPもしくはElastic IPを接続する。
- VPC間のPrivateの接続のためには、VPCピアリング接続を行う。
- VPC外のサービスに接続する場合にはAWSエンドポイントに接続する(プライベート接続の場合は、PrivateLinkを使用)
- オンプレ環境とVPC、VPC間の接続ではAWS Transit Gatewayの仕様が可能。
- サイト間やクライアントと仮想専用回線で接続する場合は、AWS VPNを利用する。
-
subnet
- VPC作成時に、デフォルトで1つ作成されている。
- subnetの作成には、VPC作成時に含まれているCIDR範囲から使用するCIDRブロックを指定する。
- アベイラビリティーゾーン内にsubnetは含まれ、アベイラビリティーゾーンを跨いだsubnetの作成はできない。
- 複数のsubnetを同じアベイラビリティーゾーンに作成することは可能。
- サブネットのIPアドレス範囲を変更することはできないが、VPCに追加のCIDRブロックをセカンダリCIDRとして追加可能。
-
参照: Amazon VPC とは?
IBM Cloud
-
仮想ネットワーク名: VPC (Virtual Private Cloud)
- VPCは単一のリージョンにデプロイされる。
- インターネットにアクセスするためには、Public Gatewayをsubnetに接続させる。
- インターネットからの接続も可能にするためには、対象のVMにFloating IPを設定する、もしくはPublic Load Balancerを用意し、対象VM等にアクセスさせる。
- VPC間のPrivateの接続のためにはTransit Gatewayを用意し、それぞれのVPCもしくはClassic環境と接続させる。
- VPC外のサービスとの接続は各サービスのエンドポイントに接続するが、Privateでの接続が必要な場合は、仮想プライベート・エンドポイント・ゲートウェイを使用する。
- オンプレ環境との接続は、IBM Cloud Direct Linkを使用すると、インターネットにデータが出ることなくVPCにアクセスすることが可能。
- 仮想プライベート通信を使用して、サイト間とVPC間接続を行う場合はVPN Gateway for VPCを利用する。VPCとユーザー間のVPN通信はClient VPN for VPC(ただしベータ版)を使用することができる。
-
subnet
- subnetの作成には、VPC作成時に含まれているCIDR範囲から使用するCIDRブロックを指定する。
- アベイラビリティーゾーン内にsubnetは含まれ、アベイラビリティーゾーンを跨いだsubnetの作成はできない。
- 複数のsubnetを同じアベイラビリティーゾーンに作成することは可能。
- subnet作成後にIPアドレス数を変更することはできない。
Google Cloud Platform (GCP)
-
仮想ネットワーク名: VPC (Virtual Private Cloud)ネットワーク
- VPCネットワークはグローバルリソースであり、すべてのリージョンやアベイラビリティーゾーンを含んでいる。(特定のリージョンに関連付けられていない)
- GCPのプロジェクトを作成した時点で、自動的にVPCは作成される。明示的に別のVPCを作成することも可能である。
- VPC作成時に自動的に作成されたサブネットでは、インターネットにアクセスできる設定になっている。
- サブネットを限定公開にすることで、インターネット非接続の環境が作成できる。この環境からインターネットに接続するためには、Cloud NATを用意する。
- 限定公開のサーバーにアクセスするためには、外部IPアドレスのあるLoad Balancerを用意する。
- オンプレ環境と仮想プライベート通信を使用してアクセスするためには、Cloud VPNを使用する。
- VPC間での通信は、VPCネットワークピアリングを使用することで、Privateの通信が可能。
-
subnet
- subnetの作成には、VPC作成時に含まれているCIDR範囲から使用するCIDRブロックを指定する。
- Google Cloudのsubnetはリージョンリソースである。subnetごとにIPv4アドレスの範囲が定義される。
- publicに公開、非公開をsubnetで設定できる。
- 作成したサブネットの名前やリージョンは後で変更できない。
-
参照: VPC の概要
Azure
-
仮想ネットワーク名: VNet (Virtual Network)
- Azure Virtual Network (VNet)はリージョン内に作成される。作成時にIPアドレスの範囲としてCIDRを指定するが、作成後も変更、追加、削除が可能である。作成時にサポートされる最小の IPv4 subnetは /29、最大は /2となる。
- defaultで作成されているルートテーブルで、インターネットにアクセスできる設定となっているため、非接続の場合は、カスタムルートテーブルを作成、subnetに紐付ける設定が必要となる。
- インターネットからVNet内部の仮想マシン(VM)に接続するためには、VMに動的もしくは静的なPublic IPアドレスを振り分ける。もしくは、Public IPアドレスを紐付けたパブリック ロード バランサーを用意する。
- オンプレ環境と接続するためには、VPN Gatewayを使用する。
- VNet同士の接続では、VNetピアリングを使用する。別リージョン間での接続では、それぞれにVNetを作成し、VNetピアリングで接続する構成となる。
-
subnet
- subnetはAWSやIBM Cloudとは違い、アベイラビリティーゾーンをまたいで作成可能である。
- サブネット内にリソースがデプロイされていない場合は、アドレス範囲を変更することができる。