Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSとGCPのここが違う!【雲勉@オンライン 11/4】

AWSとGCPのここが違う!【雲勉@オンライン 11/4】

11/4(水) 雲勉@オンライン【勉強会】AWSとGCPのここが違う!【開発・インフラエンジニア向け】 の発表スライド。
基本的なWebアプリケーションの構成を中心にAWSとGCPの比較をしてみた。

Shintaro Yamasaki

November 04, 2020
Tweet

More Decks by Shintaro Yamasaki

Other Decks in Technology

Transcript

  1. 山﨑 慎太郎 Shintaro Yamasaki アイレット株式会社 クラウドインテグレーション事業部 MSP開発セクション サーバーサイドエンジニア 大阪オフィス 2018/04

    入社 AWSを中心とした設計・構築やバックエンド開発 社内 監視業務効率化・自動化に従事 2020 AWS APN Top Engineers 2 自己紹介
  2. 4 アジェンダ & タイムスケジュール 時間 アジェンダ 19:00〜19:05 オープニング & cloudpack

    紹介 19:05〜19:10 AWSと 、GCPと 19:10〜19:50 よくあるWebアプリ構成で比較 19:50〜19:55 まとめ 19:55〜20:00 QA & クロージング
  3. 5 クラウド 導入設計から構築、監視、運用、 さらに システム開発やデザイン制作まで、 総合的なサービスをワンストップに提供。 https://cloudpack.jp/ ・クラウド導入実績 2,000 社以上

    ・年間プロジェクト 3,200 以上 ・ 8年連続 AWS APNプレミアコンサルティングパートナー ・2019年度 APN Consulting Partner of the Year 受賞 ・Google Cloud パートナープログラム プレミアサービスパートナー
  4. ターゲット • AWS・GCP等を使ったことがある方 • クラウド初心者 方 注意 • 2020/11/04 現在

    情報を元にした内容です。 • 網羅的なサービス比較 しません ◦ 特定 サービスに絞った内容になります。 • 料金・性能 比較 しません 視聴について • 質問・感想等、Youtube Liveにコメントください!! • 誤BAN等 配信トラブルによって途中終了した場合、再度配信 URLを発行しDoorkeeper経由等でお送りします。 • アーカイブ 残りません。スライド資料 後日共有します。 じめに 6 Webアプリケーション 基本的なアーキテクチャを (VPC, サーバー, データベース等) を構築 する際に、AWSとGCPで ど ような違いがある か理解する。 ゴール
  5. 8 Amazon Web Services Google Cloud Platform ❏ 2006年 サービス提供開始

    ❏ 元 Amazonが持つビジネス課題 解決に生 まれたも を誰でも利用できるように ❏ 最初 サービス S3, EC2, SQS ❏ 現在 175以上 サービスが存在する ❏ 2008年 AppEngine提供開始 ❏ 2010年 Cloud Storage, 2011年 CloudSQL, BigQuery, 2012年 Compute Engine ❏ 2013年 各クラウドサービスが統合され、 Google Cloud Platform という名称へ ❏ Google 各サービスで使われてる技術・イン フラを利用できる ❏ オープンソースを中心としてオープンクラウドと いう考え方
  6. • クラウドコンピューティングもいろいろと形が変わってきている ◦ サーバーレス, リフトアンドシフト, クラウドネイティブ, モダナイゼーション, etc… • 多種多様なサービスが各クラウドベンダーで登場している

    ◦ AWS, GCP, Azure, Oracle Cloud, IBM Cloud, Alibaba, etc... 9 なぜ複数 クラウドを学ぶ か 複数 クラウドを活用する = マルチクラウドにすることで、 ➔ 冗長化やリスク分散 ➔ ベンダーロックイン回避 ➔ それぞれ 強みを活かして価値 最大化
  7. AWS Cloud Region VPC Availability Zone Availability Zone Private subnet

    Public subnet Private subnet Public subnet Amazon EC2 Amazon RDS Elastic Load Balancing Internet gateway Amazon EC2 Amazon RDS インターネット プライマリ セカンダリ 12 基本的なWebアプリケーション構成
  8. Region SubNetwork インターネット Virtual Private Cloud Google管理 (サービスプロ デューサー) VPC

    SubNetwork Zone Cloud SQL Zone Cloud SQL Cloud Load Balancing Compute Engine Compute Engine 13 基本的なWebアプリケーション構成 プライマリ セカンダリ
  9. リージョンとゾーン • 24 リージョン • 73 ゾーン https://cloud.google.com/about/locations/ • 24

    リージョン • 77 アベイラビリティゾーン (AZ) https://infrastructure.aws/ 世界中にデータセンターが存在。ある物理的なレベルで分類された単位。 • 地理的に離れた領域 : リージョン (東京リージョン、オレゴンリージョン、ロンドンリージョン等 ) • 各リージョン内 複数 可用性領域 : アベイラビリティゾーン /AZ (AWS), ゾーン (GCP) ※ 2020/11/04 現在 14 グローバル リージョン リージョン リージョン ゾーン ゾーン ゾーン ゾーン ゾーン ゾーン ゾーン
  10. VPC (Virtual Private Cloud) プライベートな仮想ネットワーク空間を提供するサービス VPC内にさらにサブネットで複数ネットワーク空間を作成 • VPC 「リージョンリソース」 •

    サブネット 「AZリソース」 15 • VPC 「グローバルリソース」 • サブネット 「リージョンリソース」 VPC サブネット サブネット
  11. VPC (Virtual Private Cloud) AWS Cloud Region VPC Availability Zone

    Availability Zone Subnet Subnet 16 Region SubNetwork Virtual Private Cloud Zone 10.0.0.0/16 10.0.0.0/24 10.0.1.0/24 10.0.0.0/16 ※ CIDR 一例 Zone
  12. VPC (Virtual Private Cloud) • サブネット 目的ごとに作成する (AZ単位) ◦ アプリケーション

    種類・特性 ◦ ルーティング (対VPC外と アクセス制御 ) ◦ ネットワークセキュリティ制御 (ACL) • アドレス範囲 なるべく大きく指定する 17 • サブネット 少数にする ◦ ネットワークタグやサービスアカウントでルーティングやセキュ リティ制御を行う。 • アドレス範囲 なるべく大きく指定する https://cloud.google.com/solutions/best-practices-vpc-design?hl=ja#fewer-subnets VPC設計について
  13. 18 ルーティング設定について • ローカルネットワーク ルート設定 自動生成 ◦ 別途手動作成 & 編集可能

    ◦ サブネットに紐づく • インターネットへ ルーティング 、 VPCに「インターネットゲートウェイ」を アタッチし、手動でルートテーブルを作成 • ローカルネットワークおよびインターネットへ ルーティング 、自動生成 される ◦ コンポーネントにパブリック IPアドレスを付与することで、インター ネットへ アクセスが可能になる ◦ ルート設定 VPCに紐づく VPC (Virtual Private Cloud)
  14. 19 • セキュリティグループ ◦ インスタンス単位で設定 ◦ 許可リスト型 • ネットワークACL ◦

    サブネット単位で設定 ◦ 拒否リスト型 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Security.html#VPC_Security_Comparison • ファイアウォールルール ◦ VPC単位 ◦ 許可リスト型 ◦ ネットワークタグまた サービスアカウントで反映対象を指定 https://cloud.google.com/vpc/docs/firewalls VPC (Virtual Private Cloud) ファイアウォール設定について
  15. 20 AWS Cloud Region VPC Availability Zone Availability Zone Region

    SubNetwork Virtual Private Cloud Zone 10.0.0.0/16 10.0.0.0/16 【デモ】VPC (Virtual Private Cloud) 構築 Private subnet Public subnet Private subnet Public subnet 10.0.0.0/24 10.0.100.0/24 10.0.1.0/24 10.0.101.0/24 Internet gateway Zone
  16. 仮想マシン 21 仮想マシン (仮想サーバー) を提供するコンピューティングサービス Amazon EC2 Compute Engine 主な機能

    • オンデマンドでインスタンスを起動および終了 • 保存されたディスクイメージからインスタンスを作成 • 制限なくインスタンスを管理 • インスタンスにタグ付け • インスタンスで利用可能な各種オペレーティング システムをインストール
  17. 仮想マシン 22 Amazon EC2 Compute Engine デプロイレベル OS マシンイメージとス ナップショット

    アベイラビリティゾーン ゾーン 主要な Linux・Windows 系 OS を選 択可能 加えて、Amazon Linux, Windows Server 2003等が使える 主要な Linux・Windows 系 OS を選 択可能 Amazon マシンイメージ(AMI) S3に保存 イメージを公開可能 特定 リージョン内 みに共有 イメージ Compute Engineに保存 Cloud Storageにエクスポート可能 グローバルに共有
  18. 仮想マシン ライブマイグレーション 仮想マシンを再起動することなく (動 作させたまま)、現在 ホストから新し いホストに透過的に移行する機能 ホスト故障やメンテナンス時等で Google側で実行される。 23

    メンテナンス 料金体系 オンデマンド料金 (秒単位。最低1分) リザーブドインスタンス (最大 72%割引) スポットインスタンス (一時インスタン ス。入札価格) Amazon EC2 Compute Engine メンテナンス (リタイアメント) 通知が届 き、ユーザー側で停止 /開始 操作が要 求される。 期日までに対応しない場合、自動停止 or 削除される オンデマンド料金 (秒単位。最低1分) 継続利用割引 (最大30%割引) プリエンプティブル VM (一時インスタン ス。固定価格。最大80%割引)
  19. 24 AWS Cloud Region VPC Availability Zone Availability Zone 10.0.0.0/16

    【デモ】仮想マシン 構築 Private subnet Public subnet Private subnet Public subnet 10.0.0.0/24 10.0.100.0/24 10.0.1.0/24 10.0.101.0/24 Internet gateway Amazon EC2 Region SubNetwork Virtual Private Cloud Zone 10.0.0.0/16 Zone Compute Engine
  20. ロードバランサ プロトコル : HTTP/HTTPS リージョンリソース CNAME が提供される オンプレも含めた負荷分散も可能 25 ロードバランサ

    (負荷分散) を提供するサービス 大きく分けてレイヤ4、レイヤ7があるが、今回 レイヤ 7負荷分散 み解説 Elastic Load Balancing (Application Load Balancer) Cloud Load Balancing プロトコル : HTTP/HTTPS グローバルリソース (内部LB 場合 リージョンリソース) グローバル IP アドレスが提供される スパイクによるボトルネックがない
  21. 26 AWS Cloud Region VPC Availability Zone Availability Zone 10.0.0.0/16

    【デモ】ロードバランサ 構築 Private subnet Public subnet Private subnet Public subnet 10.0.0.0/24 10.0.100.0/24 10.0.1.0/24 10.0.101.0/24 Internet gateway Region SubNetwork Virtual Private Cloud Zone 10.0.0.0/16 Zone Cloud Load Balancing Compute Engine Compute Engine Amazon EC2 Elastic Load Balancing Amazon EC2
  22. 関係データベース 27 関係データベース マネージド型サービス Amazon RDS 主な機能 • OSやデータベース インストール不要

    • 保守管理不要 (パッチ適用などが自動 ) • 容易にスケールアップ・スケールダウンを行える • バックアップ 自動化 • 冗長構成を容易に組める • ライセンス購入不要 • ストレージ拡張が容易 Cloud SQL
  23. 28 データベースエンジン Amazon RDS Cloud SQL • Aurora • MySQL

    • MariaDB • PostgreSQL • SQL Server • Oracle 関係データベース • MySQL • PostgreSQL • SQL Server レプリケーション バックアップ/リストア • 日次 自動バックアップ • ポイントインタイムリカバリ • 日次 自動バックアップ • ポイントインタイムリカバリ • マルチゾーン構成 • リードレプリカ 作成 • マルチゾーン構成 • リードレプリカ 作成
  24. 29 Amazon RDS Cloud SQL 関係データベース ネットワーク SubNetwork ユーザー管理 VPC

    Google管理 (サービスプロ デューサー) VPC SubNetwork Cloud SQL Compute Engine VPC Subnet Amazon EC2 Google管理に専用 VPCが別で作成さ れ、そこに構築される。 VPC Peering で接続。 パブリックIPを付与し、インターネット経由 に接続することも可能 VPC Peering 基本的に 作成した VPC内に構築する。 他 オブジェクトと同一サブネットでも良いし、他 サブネットでも良い。 (AWSもVPC Peeringがあるため、GCP ように 別VPCに構築すること できる ) Subnet Amazon RDS
  25. 30 AWS Cloud Region VPC Availability Zone Availability Zone 10.0.0.0/16

    【デモ】関係データベース 構築 Private subnet Public subnet Private subnet Public subnet 10.0.0.0/24 10.0.100.0/24 10.0.1.0/24 10.0.101.0/24 Internet gateway Region SubNetwork Virtual Private Cloud 10.0.0.0/16 Amazon EC2 Elastic Load Balancing Amazon EC2 Amazon RDS Amazon RDS プライマリ セカンダリ SubNetwork Zone Zone Cloud Load Balancing Compute Engine Compute Engine Cloud SQL プライマリ セカンダリ Cloud SQL Google管理 VPC 10.113.176.0/20
  26. 具体的な要件に合わせて検討していく。 例え 、 • マルチリージョンにスケーラブルな構成を組みたい → GCP? • Google サービスと連携したい

    → GCP? • Oracle DBをマネージドなサービスで使いたい → AWS? • あるMarketplace AMIを使いたい → AWS? などといった機能面 違いであったり、 そ 他にも、柔軟性や拡張性、セキュリティ・コンプライアンス面やサポート体制なども含め、 複合的に考えていく。 また、どちらか一方で なく「 マルチクラウド」として、 お互い いいとこ取りをして構成することも考える。 31 じゃあ、結局どっち使え いい ? ちなみに、 今回 構成だと、Elastic BeanstalkやAppEngineなどPaaS サービスを使う方法もおすすめ
  27. 32 • AWS 歴史が長くサービスが豊富。GCP Google Webサービスで使われている技術を利用でき、 オープンクラウド 考え方が中心。 • VPC

    ◦ AWS リージョンリソース、GCP グローバルリソース • 仮想マシン ◦ AWS : EC2、GCP : Compute Engine (GCE) • ロードバランサ ◦ AWS : ELB、GCP : Cloud Load Balancing (CLB) • 関係データベース ◦ AWS: RDS、GCP : Cloud SQL • どちらか一方で なく、いいとこ取りをしてマルチクラウドに考えることも重要。 まとめ 参考 - AWS プロフェッショナル ため Google Cloud - https://cloud.google.com/docs/compare/aws - GoogleがまとめているAWSと 比較記事 - 雲勉 「GCP初心者向け講座 〜今更聞けないサーバ構築 基本 キ〜」 - https://www.slideshare.net/secret/BabeuToFItI4Gg - 以前 雲勉でお話しして、 GCP初心者向け講座 スライド資料