【研修のおさらい】AWS 感覚で Google Cloud に触るとこうなりました
目次
はじめに
はじめまして。24卒システムソリューション部のインフラエンジニア1年目の ぱる です。
文学部出身ごりごり文系ですが、一人前のエンジニアになるため日々奮闘しております…!
今回は研修のおさらいということで、
IT未経験者が、研修の座学で AWS を学んだあと、ロールプレイングで Google Cloud を使ってサーバ構築を行った際に戸惑ったところについて紹介します。
詳しい研修内容については、以下過去記事をご覧ください👀
【ビヨ勉 #41】新卒エンジニア研修内容に関する勉強会を開催しました!
めちゃめちゃわかりやすい初心者向け AWS 過去記事もぜひご覧ください。
【AWS 初心者向け】ざっくり解説!Amazon VPC とは?
前提:用語ざっくりまとめ
同じようなサービス内容でも、AWS と Google Cloud ではそれぞれ名称が異なります。
ざっくりですが、こちらを前提に読み進めていただければと思います。
AWS | Google Cloud | 意味 |
VPC | VPCネットワーク | 仮想ネットワーク |
アベイラビリティゾーン | ゾーン | 地理的な距離を持つデータセンター群 |
セキュリティグループ & ネットワークACL | ファイアウォールルール | 通信制御を行う機能 |
Elastic Load Balancing | Cloud Load Balancing | 受信したトラフィックを複数のターゲットに対して分散する機能 |
ネットワーク構成
では、一番はじめに躓いたネットワーク構成の違いについて見ていきます。
AWS と Google Cloud では、ネットワークの構成が大きく異なります。
以下をご覧ください。
AWS のネットワーク構成
AWS ではリージョンの中にVPCが存在します。
また、IPアドレス範囲は VPC とサブネットにそれぞれに追加する必要があります。
サブネットの IP アドレス範囲は、VPC の IPアドレス範囲の中から切り出して割り当てます。
Google Cloud ネットワーク構成
Google Cloud では VPC ネットワークの中にリージョンが存在しています。
Google Cloud は VPC そのものがグローバルな存在で、その中にリージョンを指定するという構成によって違いが生まれています。
また、IPアドレス範囲はサブネットにのみ追加します。
Google Cloudの場合はサブネットを新規作成するだけでネットワークの拡張や設計変更が可能となります。
おまけ:データベースの配置
ちなみにですが、ネットワークの構成も違えば、データベースの配置方法にも違いがあります。
AWSはユーザーが作成した VPC 内に RDS を構築します。
しかし、Google Cloud ではユーザーの VPC 内ではなく、CloudSQL 専用の VPC に CloudSQL が構築されます。そのため、ユーザの VPC と CloudSQL を繋げるには VPC Peering が必要です。
AWS の要領で構築を行うと、データベースと VPC が関連付けられない!と困惑します。
通信制御方法の違い
攻撃的な IP からのアクセスをブロックしたい、開発環境なので特定の IP だけアクセスできるようにしたいなどなど…
サーバによって通信制御の仕方は異なります。
ここでは、AWS と Google Cloud それぞれの通信制御方法の違いについて比較していきます。
AWS のセキュリティグループとネットワークACL
AWS ではセキュリティグループでインスタンス単位、ネットワークACL でサブネット単位の通信制御を行うことができます。
セキュリティグループとは、EC2インスタンスなどの個別のリソースに対してアクセスを許可するルールを設定できるものです。
AWS のリソース同士、あるいはリソースとクライアントの間のインバウンド(受信)・アウトバウンド(送信)トラフィックを管理し、セキュリティを強化するための手段として用いることが可能です。
また、ネットワークACLとはサブネットに対してアクセスを拒否するルールを設定できるものです。
特定のIPやポートなどの拒否を行うことができるため、ネットワークのセキュリティポリシーを柔軟に設定することが可能です。
Google Cloud のファイアウォールルール
Google Cloud の通信制御については、ファイアウォールルールのみで設定することが可能です。
AWSのようにリソースやネットワーク単位によって扱うサービスに変化はありません。
インバウンド(受信)・アウトバウンド(送信)の設定、また許可・拒否の設定もファイアウォールルールで作成できます。
また、リソースにルールを適用したい場合は、タグを用いてルールを付与します。
インスタンスなどのリソースに対してファイアウォールを適用したい場合、ファイアウォールルール作成時にタグを設定し、対象のリソースにタグを付与することでルールを適用することができます。
研修中手探りで触っていた時は、タグの使い方がよくわからなくて大量にルールを作って大変なことになっていた思い出があります。
ロードバランサの種類
ロードバランサとは、複数のサーバに紐づけることで、サーバへの負荷を分散することができるサービスです。
AWSのロードバランサは4種類、対してGoogle Cloudはなんと10種類あります。
ちなみにですが、サービス名にも個性があって AWS では Elastic Load Balancing、 Google Cloud では Cloud Load Balancing というサービス名があります。
ここでは、AWS と Google Cloudのロードバランサを比較しながら、種類の多さが異なる理由について見ていきたいと思います。
以下の表がそれぞれのロードバランサの種類です。
AWS | Google Cloud |
Application Load Balancer (ALB) Network Load Balancer (NLB) Gateway Load Balancer (GLB) Classic Load Balancer (CLB) |
アプリケーション外部グローバルロードバランサ アプリケーション外部リージョナルロードバランサ アプリケーション内部グローバルロードバランサ アプリケーション内部リージョナルロードバランサ ネットワーク外部グローバルプロキシロードバランサ ネットワーク外部リージョナルプロキシロードバランサ ネットワーク内部グローバルプロキシロードバランサ ネットワーク内部リージョナルプロキシロードバランサ ネットワーク外部リージョナルパススルーロードバランサ ネットワーク内部リージョナルパススルーロードバランサ |
Elastic Load Balancing(AWS のロードバランサ)
まずAWSのロードバランサは、それぞれ以下のような種類があります。
Application Load Balancer (ALB) … HTTPやHTTPSのトラフィックに対応する
Network Load Balancer (NLB) … 低遅延で大量アクセスを分散する
Gateway Load Balancer (GLB) … サードパーティーの仮想ネットワークを拡張できる
Classic Load Balancer (CLB) … ALBとやNLBと同様複数のインスタンスに負荷分散を行うが、唯一 EC2-Classic ネットワークに対応する
AWS のロードバランサーは上記から用途に合わせて選ぶかたちになります。
Cloud Load Balancing(Google Cloud のロードバランサ)
次に、Google Cloudのロードバランサについて簡単に説明します。
実は、AWS のように4種類あるロードバランサから選ぶというかたちではなく、構築内容に合わせて自分で選択していくかたちになります。
以下から順を追って選択し、ロードバランサを設定することが可能です。
アプリケーション型かネットワーク型
アプリケーション型 … アプリケーション層での負荷分散を行う(OSI参照モデルのレイヤー7でリクエストを受け取る)
ネットワーク型 … ネットワーク層での負荷分散を行う(OSI参照モデルのレイヤー3や4でリクエストを受け取る)
外部向けか内部向け
外部向け … インターネットからの通信を受け取る
内部向け … VPC内でのみ通信を受け取る
グローバルかリージョナルか
グローバル … グローバル上に配置され、エッジPoP(インターネット側から Google Cloud 内のネットワークに接続するための拠点)に配置されているサーバリソースに対して設定が反映される
リージョナル … 特定のリージョン内に配置され、そのリージョン内のみに設定が反映される
プロキシ型かパススルー型か(ネットワーク型のみ)
プロキシ型… クライアントからの通信のリクエストを一旦受け取り、ヘッダーの書き換えやリダイレクトなどの処理が実行できる
パススルー型 … クライアントからの通信をそのまま通す
このように順を追って設定することで、「アプリケーション外部グローバルロードバランサ」や「ネットワーク内部リージョナルパススルーロードバランサ」といったロードバランサの設置することができ、数でいえば10種類のタイプから選ぶことが可能になります。
種類が多い分取っ付きにくく、研修中は理解できないし、数の多さに腹立っていましたが、
改めて見てみると詳細な条件下でロードバランサを選択することが可能なところは、Google Cloud ロードバランサの利点といえるのではないかと思います。
まとめ
記念すべきブログ初投稿は、IT 未経験者が AWS をかじった後に、Google Cloud を使ってサーバー構築を行った際に戸惑ったところについて紹介いたしました。
私自身も研修のおさらいをしつつ、AWS と Google Cloud について再度勉強する良い機会になりました✨
クラウド触りたての IT 初心者の方々にとって少しでも役立つブログになっていれば幸いです!
参考Webサイト:
AWSとAzureとGCPを比較してみる - IaaS編
AWS/Azure/GCPサービス比較 ネットワーク編
ゼロからわかる!GCPのネットワークセキュリティの全体像
AWS EC2 にある MySQL から GCP Cloud SQL へのレプリケーションを構成する
AWS側の目線から理解する、Google Cloud ロードバランサの世界
【AWS入門】AWSのELBとは?ロードバランサーの種類、特徴、料金を紹介
Google Compute Engineのファイヤーウォールを理解する #gcpja
AWS ACLとセキュリティグループの使い分け