$30 off During Our Annual Pro Sale. View Details »

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. ハッシュタグ #kumoben
    2020/11/04 19:00 Start (20:00 End 予定)

    View Slide

  2. 山﨑 慎太郎
    Shintaro Yamasaki
    アイレット株式会社
    クラウドインテグレーション事業部 MSP開発セクション
    サーバーサイドエンジニア
    大阪オフィス
    2018/04 入社
    AWSを中心とした設計・構築やバックエンド開発
    社内 監視業務効率化・自動化に従事
    2020 AWS APN Top Engineers
    2
    自己紹介

    View Slide

  3. cloudpack主催 エンジニア向け勉強会
    目的 、「エンジニア クラウド利用におけるスキルアップ」「企業 クラウド活用促進」とし
    ており、少しでもお役に立ちたいという想いから開催しております。
    3
    本日 ハッシュタグ
    #kumoben


    View Slide

  4. 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 & クロージング

    View Slide

  5. 5
    クラウド 導入設計から構築、監視、運用、
    さらに システム開発やデザイン制作まで、
    総合的なサービスをワンストップに提供。
    https://cloudpack.jp/
    ・クラウド導入実績
    2,000 社以上
    ・年間プロジェクト
    3,200 以上

    8年連続 AWS APNプレミアコンサルティングパートナー
    ・2019年度 APN Consulting Partner of the Year 受賞
    ・Google Cloud パートナープログラム プレミアサービスパートナー

    View Slide

  6. ターゲット
    ● AWS・GCP等を使ったことがある方
    ● クラウド初心者 方
    注意
    ● 2020/11/04 現在 情報を元にした内容です。
    ● 網羅的なサービス比較 しません
    ○ 特定 サービスに絞った内容になります。
    ● 料金・性能 比較 しません
    視聴について
    ● 質問・感想等、Youtube Liveにコメントください!!
    ● 誤BAN等 配信トラブルによって途中終了した場合、再度配信 URLを発行しDoorkeeper経由等でお送りします。
    ● アーカイブ 残りません。スライド資料 後日共有します。
    じめに
    6
    Webアプリケーション 基本的なアーキテクチャを (VPC, サーバー, データベース等) を構築
    する際に、AWSとGCPで ど ような違いがある か理解する。
    ゴール

    View Slide

  7. AWSと 、GCPと
    7

    View Slide

  8. 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 各サービスで使われてる技術・イン
    フラを利用できる
    ❏ オープンソースを中心としてオープンクラウドと
    いう考え方

    View Slide

  9. ● クラウドコンピューティングもいろいろと形が変わってきている
    ○ サーバーレス, リフトアンドシフト, クラウドネイティブ, モダナイゼーション, etc…
    ● 多種多様なサービスが各クラウドベンダーで登場している
    ○ AWS, GCP, Azure, Oracle Cloud, IBM Cloud, Alibaba, etc...
    9
    なぜ複数 クラウドを学ぶ か
    複数 クラウドを活用する = マルチクラウドにすることで、
    ➔ 冗長化やリスク分散
    ➔ ベンダーロックイン回避
    ➔ それぞれ 強みを活かして価値 最大化

    View Slide

  10. 10
    よくあるWebアプリ構成で比較

    View Slide

  11. ロードバランサ
    関係データベース
    (セカンダリ)
    関係データベース
    (プライマリ)
    サーバー
    仮想マシン
    サーバー
    仮想マシン
    内部ネットワーク
    DMZ
    インターネット
    11
    基本的なWebアプリケーション構成

    View Slide

  12. 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アプリケーション構成

    View Slide

  13. Region
    SubNetwork
    インターネット
    Virtual Private Cloud
    Google管理 (サービスプロ
    デューサー) VPC
    SubNetwork
    Zone
    Cloud
    SQL
    Zone
    Cloud
    SQL
    Cloud Load
    Balancing
    Compute
    Engine
    Compute
    Engine
    13
    基本的なWebアプリケーション構成
    プライマリ
    セカンダリ

    View Slide

  14. リージョンとゾーン
    ● 24 リージョン
    ● 73 ゾーン
    https://cloud.google.com/about/locations/
    ● 24 リージョン
    ● 77 アベイラビリティゾーン (AZ)
    https://infrastructure.aws/
    世界中にデータセンターが存在。ある物理的なレベルで分類された単位。
    ● 地理的に離れた領域 : リージョン (東京リージョン、オレゴンリージョン、ロンドンリージョン等 )
    ● 各リージョン内 複数 可用性領域 : アベイラビリティゾーン /AZ (AWS), ゾーン (GCP)
    ※ 2020/11/04 現在
    14
    グローバル リージョン
    リージョン リージョン
    ゾーン
    ゾーン
    ゾーン ゾーン
    ゾーン
    ゾーン
    ゾーン

    View Slide

  15. VPC (Virtual Private Cloud)
    プライベートな仮想ネットワーク空間を提供するサービス
    VPC内にさらにサブネットで複数ネットワーク空間を作成
    ● VPC 「リージョンリソース」
    ● サブネット 「AZリソース」
    15
    ● VPC 「グローバルリソース」
    ● サブネット 「リージョンリソース」
    VPC
    サブネット
    サブネット

    View Slide

  16. 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

    View Slide

  17. VPC (Virtual Private Cloud)
    ● サブネット 目的ごとに作成する (AZ単位)
    ○ アプリケーション 種類・特性
    ○ ルーティング (対VPC外と アクセス制御 )
    ○ ネットワークセキュリティ制御 (ACL)
    ● アドレス範囲 なるべく大きく指定する
    17
    ● サブネット 少数にする
    ○ ネットワークタグやサービスアカウントでルーティングやセキュ
    リティ制御を行う。
    ● アドレス範囲 なるべく大きく指定する
    https://cloud.google.com/solutions/best-practices-vpc-design?hl=ja#fewer-subnets
    VPC設計について

    View Slide

  18. 18
    ルーティング設定について
    ● ローカルネットワーク ルート設定 自動生成
    ○ 別途手動作成 & 編集可能
    ○ サブネットに紐づく
    ● インターネットへ ルーティング 、 VPCに「インターネットゲートウェイ」を
    アタッチし、手動でルートテーブルを作成
    ● ローカルネットワークおよびインターネットへ ルーティング 、自動生成
    される
    ○ コンポーネントにパブリック IPアドレスを付与することで、インター
    ネットへ アクセスが可能になる
    ○ ルート設定 VPCに紐づく
    VPC (Virtual Private Cloud)

    View Slide

  19. 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)
    ファイアウォール設定について

    View Slide

  20. 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

    View Slide

  21. 仮想マシン
    21
    仮想マシン (仮想サーバー) を提供するコンピューティングサービス
    Amazon EC2 Compute Engine
    主な機能
    ● オンデマンドでインスタンスを起動および終了
    ● 保存されたディスクイメージからインスタンスを作成
    ● 制限なくインスタンスを管理
    ● インスタンスにタグ付け
    ● インスタンスで利用可能な各種オペレーティング システムをインストール

    View Slide

  22. 仮想マシン
    22
    Amazon EC2 Compute Engine
    デプロイレベル
    OS
    マシンイメージとス
    ナップショット
    アベイラビリティゾーン ゾーン
    主要な Linux・Windows 系 OS を選
    択可能
    加えて、Amazon Linux, Windows
    Server 2003等が使える
    主要な Linux・Windows 系 OS を選
    択可能
    Amazon マシンイメージ(AMI)
    S3に保存
    イメージを公開可能
    特定 リージョン内 みに共有
    イメージ
    Compute Engineに保存
    Cloud Storageにエクスポート可能
    グローバルに共有

    View Slide

  23. 仮想マシン
    ライブマイグレーション
    仮想マシンを再起動することなく (動
    作させたまま)、現在 ホストから新し
    いホストに透過的に移行する機能
    ホスト故障やメンテナンス時等で
    Google側で実行される。
    23
    メンテナンス
    料金体系
    オンデマンド料金 (秒単位。最低1分)
    リザーブドインスタンス (最大 72%割引)
    スポットインスタンス (一時インスタン
    ス。入札価格)
    Amazon EC2 Compute Engine
    メンテナンス (リタイアメント) 通知が届
    き、ユーザー側で停止 /開始 操作が要
    求される。
    期日までに対応しない場合、自動停止
    or 削除される
    オンデマンド料金 (秒単位。最低1分)
    継続利用割引 (最大30%割引)
    プリエンプティブル VM (一時インスタン
    ス。固定価格。最大80%割引)

    View Slide

  24. 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

    View Slide

  25. ロードバランサ
    プロトコル : HTTP/HTTPS
    リージョンリソース
    CNAME が提供される
    オンプレも含めた負荷分散も可能
    25
    ロードバランサ (負荷分散) を提供するサービス
    大きく分けてレイヤ4、レイヤ7があるが、今回 レイヤ 7負荷分散 み解説
    Elastic Load Balancing
    (Application Load Balancer)
    Cloud Load Balancing
    プロトコル : HTTP/HTTPS
    グローバルリソース
    (内部LB 場合 リージョンリソース)
    グローバル IP アドレスが提供される
    スパイクによるボトルネックがない

    View Slide

  26. 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

    View Slide

  27. 関係データベース
    27
    関係データベース マネージド型サービス
    Amazon RDS
    主な機能
    ● OSやデータベース インストール不要
    ● 保守管理不要 (パッチ適用などが自動 )
    ● 容易にスケールアップ・スケールダウンを行える
    ● バックアップ 自動化
    ● 冗長構成を容易に組める
    ● ライセンス購入不要
    ● ストレージ拡張が容易
    Cloud SQL

    View Slide

  28. 28
    データベースエンジン
    Amazon RDS Cloud SQL
    ● Aurora
    ● MySQL
    ● MariaDB
    ● PostgreSQL
    ● SQL Server
    ● Oracle
    関係データベース
    ● MySQL
    ● PostgreSQL
    ● SQL Server
    レプリケーション
    バックアップ/リストア ● 日次 自動バックアップ
    ● ポイントインタイムリカバリ
    ● 日次 自動バックアップ
    ● ポイントインタイムリカバリ
    ● マルチゾーン構成
    ● リードレプリカ 作成
    ● マルチゾーン構成
    ● リードレプリカ 作成

    View Slide

  29. 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

    View Slide

  30. 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

    View Slide

  31. 具体的な要件に合わせて検討していく。
    例え 、
    ● マルチリージョンにスケーラブルな構成を組みたい → GCP?
    ● Google サービスと連携したい → GCP?
    ● Oracle DBをマネージドなサービスで使いたい → AWS?
    ● あるMarketplace AMIを使いたい → AWS?
    などといった機能面 違いであったり、
    そ 他にも、柔軟性や拡張性、セキュリティ・コンプライアンス面やサポート体制なども含め、
    複合的に考えていく。
    また、どちらか一方で なく「 マルチクラウド」として、
    お互い いいとこ取りをして構成することも考える。
    31
    じゃあ、結局どっち使え いい ?
    ちなみに、
    今回 構成だと、Elastic BeanstalkやAppEngineなどPaaS サービスを使う方法もおすすめ

    View Slide

  32. 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初心者向け講座 スライド資料

    View Slide