私の戦闘力は53万です

awsとgcpについて書きます

AWS VS GCP VPCの比較・違い

最近仕事でGCPを使うのですが、
AWSGCPでは、VPCに対する考え方が違います。
色々と紛らわしかったので、メモがてらまとめてみました。

 大きな違い

VPCサービスはその思想に大きな違いがあります。
 
まずAWSはリージョンありきです。
リージョン(東京とかシンガポールとか)を選んで、
その中にVPCを作って、
その中にSubnetを作って・・・という流れです。
 
対してGCPはリージョンを選択せずにVPCを作ります
VPCを作ったらその中にSubnetを作ります。
そのSubnetはいろんなリージョンに作成可能です。
 
図にすると下記のようなイメージです。
それぞれパーツは同じですが、大小関係が違います。
具体的に言うと、下記の違いがあります。
・リージョンをまたいでVPCを作成できません
VPCはIPレンジを持ちます
 
・リージョンをまたいでVPCを作成できます
VPCはIPレンジを持ちせん(Subnetは持ちます)
 

細かな違い

では、大枠をつかんだところで、次に細かい用語の違いをまとめます。 
私はメインはAWSユーザなのですが、
AWSと特に違うと感じたところを赤字にしています。
 
AWS用語 GCP用語 概要 違い
VPC VPC 仮装のネットワーク AWS:IPレンジを持つ
GCP:IPレンジを持たない
Subnet Subnet 仮装のサブネット AWS:複数Subnetを同一リージョンのみ作成可能
GCP:複数Subnetを別リージョンで作成可能
ルートテーブル ルート VPC内のルーティングテーブル AWS:ルートの適応がサブネット単位
GCP:ルートの適応がインスタンス単位
   (longestmatchに加え)ルート優先度を付与可能
セキュリティグループ
(SG)
ファイアウォール ファイアウォールルール
(ステートフル)
AWS:IPレンジ or SGID間で疎通可/不可を管理
GCP:IPレンジ or タグ名間で疎通可/不可を管理
ログ設定により拒否or許可の履歴閲覧が可能
NACL 該当なし Subnet単位のトラフィック制御
(ステートレス)
GCPには該当の考えなし
EIP(Elastic IP) 静的外部 IP アドレス 固定パブリックIP -
VPCエンドポイント 限定公開アクセス 各cloudのAPIエンドポイントへ
PrivateIPのみで接続する設定
AWS:サービス毎(S3、SSM等)毎に設定が必要
          サービスにより可/不可あり。料金発生も
GCP:全GCPAPIをまとめて設定
   全部無料
VPCピアリング VPCピアリング VPC同士を接続する -
VPCフローログ VPCフローログ VPC内のトラフィックログ取得 AWSVPC単位で有効/無効を設定
GCP:サブネット単位で有効/無効を設定
共有VPC 共有VPC

VPCリソースを共有

(AWS:アカウント間)

(GCP:プロジェクト間)

AWS:同一Organizationsの必要あり

GCP:プロジェクトが同一組織内の必要あり

共通:利用不可のサービスがあります。

   どちらかと言うとGCPの方が制約多いです

DHCPオプションセット DNSサーバー ポリシー

VPC単位でDNSサーバやNTP、

ドメイン名の設定が可能

AWS:ADやDNS,NTPを設定する場合,本設定を利用することが推奨

(OS内に直接設定するとインスタンスタイプ変更時に事故が起こる可能性ありです)

GCP:OS内に直接設定して問題なし

インターネット
ゲートウェイ
インターネット
ゲートウェイ
  AWSVPC毎に作成が必要
GCPVPCと一緒に勝手に作成される
 

制約系のところは、随時変わることもありますがご参考程度に。
次回以降で、上記の詳細も取り上げていきます。
良ければ参考にしてください。