Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSとGCPのここが違う!【雲勉@オンライン 11/4】
Search
Shintaro Yamasaki
November 04, 2020
Technology
3
700
AWSとGCPのここが違う!【雲勉@オンライン 11/4】
11/4(水) 雲勉@オンライン【勉強会】AWSとGCPのここが違う!【開発・インフラエンジニア向け】 の発表スライド。
基本的なWebアプリケーションの構成を中心にAWSとGCPの比較をしてみた。
Shintaro Yamasaki
November 04, 2020
Tweet
Share
More Decks by Shintaro Yamasaki
See All by Shintaro Yamasaki
LINE WORKSのDevelopers機能紹介
mmclsntr
0
27
LINE WORKSとシステムを繋ぐ LINE WORKSのDevelopers機能紹介
mmclsntr
0
170
HL2024 LINE WORKSの紹介
mmclsntr
0
28
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
300
連携を加速させる「WOFF」の紹介 - LWUG勉強会240411
mmclsntr
0
410
LINE Developersの紹介
mmclsntr
0
130
HL2023 LINE WORKS の紹介
mmclsntr
0
100
WOFFの紹介
mmclsntr
0
970
LINE WORKS Developers の紹介
mmclsntr
1
640
Other Decks in Technology
See All in Technology
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
240
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
17
4.5k
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
130
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
37
14k
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
Featured
See All Featured
RailsConf 2023
tenderlove
29
940
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Thoughts on Productivity
jonyablonski
67
4.4k
Mobile First: as difficult as doing things right
swwweet
222
9k
Being A Developer After 40
akosma
87
590k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Transcript
ハッシュタグ #kumoben 2020/11/04 19:00 Start (20:00 End 予定)
山﨑 慎太郎 Shintaro Yamasaki アイレット株式会社 クラウドインテグレーション事業部 MSP開発セクション サーバーサイドエンジニア 大阪オフィス 2018/04
入社 AWSを中心とした設計・構築やバックエンド開発 社内 監視業務効率化・自動化に従事 2020 AWS APN Top Engineers 2 自己紹介
cloudpack主催 エンジニア向け勉強会 目的 、「エンジニア クラウド利用におけるスキルアップ」「企業 クラウド活用促進」とし ており、少しでもお役に立ちたいという想いから開催しております。 3 本日 ハッシュタグ
#kumoben
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 & クロージング
5 クラウド 導入設計から構築、監視、運用、 さらに システム開発やデザイン制作まで、 総合的なサービスをワンストップに提供。 https://cloudpack.jp/ ・クラウド導入実績 2,000 社以上
・年間プロジェクト 3,200 以上 ・ 8年連続 AWS APNプレミアコンサルティングパートナー ・2019年度 APN Consulting Partner of the Year 受賞 ・Google Cloud パートナープログラム プレミアサービスパートナー
ターゲット • AWS・GCP等を使ったことがある方 • クラウド初心者 方 注意 • 2020/11/04 現在
情報を元にした内容です。 • 網羅的なサービス比較 しません ◦ 特定 サービスに絞った内容になります。 • 料金・性能 比較 しません 視聴について • 質問・感想等、Youtube Liveにコメントください!! • 誤BAN等 配信トラブルによって途中終了した場合、再度配信 URLを発行しDoorkeeper経由等でお送りします。 • アーカイブ 残りません。スライド資料 後日共有します。 じめに 6 Webアプリケーション 基本的なアーキテクチャを (VPC, サーバー, データベース等) を構築 する際に、AWSとGCPで ど ような違いがある か理解する。 ゴール
AWSと 、GCPと 7
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 各サービスで使われてる技術・イン フラを利用できる ❏ オープンソースを中心としてオープンクラウドと いう考え方
• クラウドコンピューティングもいろいろと形が変わってきている ◦ サーバーレス, リフトアンドシフト, クラウドネイティブ, モダナイゼーション, etc… • 多種多様なサービスが各クラウドベンダーで登場している
◦ AWS, GCP, Azure, Oracle Cloud, IBM Cloud, Alibaba, etc... 9 なぜ複数 クラウドを学ぶ か 複数 クラウドを活用する = マルチクラウドにすることで、 ➔ 冗長化やリスク分散 ➔ ベンダーロックイン回避 ➔ それぞれ 強みを活かして価値 最大化
10 よくあるWebアプリ構成で比較
ロードバランサ 関係データベース (セカンダリ) 関係データベース (プライマリ) サーバー 仮想マシン サーバー 仮想マシン 内部ネットワーク
DMZ インターネット 11 基本的なWebアプリケーション構成
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アプリケーション構成
Region SubNetwork インターネット Virtual Private Cloud Google管理 (サービスプロ デューサー) VPC
SubNetwork Zone Cloud SQL Zone Cloud SQL Cloud Load Balancing Compute Engine Compute Engine 13 基本的なWebアプリケーション構成 プライマリ セカンダリ
リージョンとゾーン • 24 リージョン • 73 ゾーン https://cloud.google.com/about/locations/ • 24
リージョン • 77 アベイラビリティゾーン (AZ) https://infrastructure.aws/ 世界中にデータセンターが存在。ある物理的なレベルで分類された単位。 • 地理的に離れた領域 : リージョン (東京リージョン、オレゴンリージョン、ロンドンリージョン等 ) • 各リージョン内 複数 可用性領域 : アベイラビリティゾーン /AZ (AWS), ゾーン (GCP) ※ 2020/11/04 現在 14 グローバル リージョン リージョン リージョン ゾーン ゾーン ゾーン ゾーン ゾーン ゾーン ゾーン
VPC (Virtual Private Cloud) プライベートな仮想ネットワーク空間を提供するサービス VPC内にさらにサブネットで複数ネットワーク空間を作成 • VPC 「リージョンリソース」 •
サブネット 「AZリソース」 15 • VPC 「グローバルリソース」 • サブネット 「リージョンリソース」 VPC サブネット サブネット
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
VPC (Virtual Private Cloud) • サブネット 目的ごとに作成する (AZ単位) ◦ アプリケーション
種類・特性 ◦ ルーティング (対VPC外と アクセス制御 ) ◦ ネットワークセキュリティ制御 (ACL) • アドレス範囲 なるべく大きく指定する 17 • サブネット 少数にする ◦ ネットワークタグやサービスアカウントでルーティングやセキュ リティ制御を行う。 • アドレス範囲 なるべく大きく指定する https://cloud.google.com/solutions/best-practices-vpc-design?hl=ja#fewer-subnets VPC設計について
18 ルーティング設定について • ローカルネットワーク ルート設定 自動生成 ◦ 別途手動作成 & 編集可能
◦ サブネットに紐づく • インターネットへ ルーティング 、 VPCに「インターネットゲートウェイ」を アタッチし、手動でルートテーブルを作成 • ローカルネットワークおよびインターネットへ ルーティング 、自動生成 される ◦ コンポーネントにパブリック IPアドレスを付与することで、インター ネットへ アクセスが可能になる ◦ ルート設定 VPCに紐づく VPC (Virtual Private Cloud)
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) ファイアウォール設定について
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
仮想マシン 21 仮想マシン (仮想サーバー) を提供するコンピューティングサービス Amazon EC2 Compute Engine 主な機能
• オンデマンドでインスタンスを起動および終了 • 保存されたディスクイメージからインスタンスを作成 • 制限なくインスタンスを管理 • インスタンスにタグ付け • インスタンスで利用可能な各種オペレーティング システムをインストール
仮想マシン 22 Amazon EC2 Compute Engine デプロイレベル OS マシンイメージとス ナップショット
アベイラビリティゾーン ゾーン 主要な Linux・Windows 系 OS を選 択可能 加えて、Amazon Linux, Windows Server 2003等が使える 主要な Linux・Windows 系 OS を選 択可能 Amazon マシンイメージ(AMI) S3に保存 イメージを公開可能 特定 リージョン内 みに共有 イメージ Compute Engineに保存 Cloud Storageにエクスポート可能 グローバルに共有
仮想マシン ライブマイグレーション 仮想マシンを再起動することなく (動 作させたまま)、現在 ホストから新し いホストに透過的に移行する機能 ホスト故障やメンテナンス時等で Google側で実行される。 23
メンテナンス 料金体系 オンデマンド料金 (秒単位。最低1分) リザーブドインスタンス (最大 72%割引) スポットインスタンス (一時インスタン ス。入札価格) Amazon EC2 Compute Engine メンテナンス (リタイアメント) 通知が届 き、ユーザー側で停止 /開始 操作が要 求される。 期日までに対応しない場合、自動停止 or 削除される オンデマンド料金 (秒単位。最低1分) 継続利用割引 (最大30%割引) プリエンプティブル VM (一時インスタン ス。固定価格。最大80%割引)
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
ロードバランサ プロトコル : HTTP/HTTPS リージョンリソース CNAME が提供される オンプレも含めた負荷分散も可能 25 ロードバランサ
(負荷分散) を提供するサービス 大きく分けてレイヤ4、レイヤ7があるが、今回 レイヤ 7負荷分散 み解説 Elastic Load Balancing (Application Load Balancer) Cloud Load Balancing プロトコル : HTTP/HTTPS グローバルリソース (内部LB 場合 リージョンリソース) グローバル IP アドレスが提供される スパイクによるボトルネックがない
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
関係データベース 27 関係データベース マネージド型サービス Amazon RDS 主な機能 • OSやデータベース インストール不要
• 保守管理不要 (パッチ適用などが自動 ) • 容易にスケールアップ・スケールダウンを行える • バックアップ 自動化 • 冗長構成を容易に組める • ライセンス購入不要 • ストレージ拡張が容易 Cloud SQL
28 データベースエンジン Amazon RDS Cloud SQL • Aurora • MySQL
• MariaDB • PostgreSQL • SQL Server • Oracle 関係データベース • MySQL • PostgreSQL • SQL Server レプリケーション バックアップ/リストア • 日次 自動バックアップ • ポイントインタイムリカバリ • 日次 自動バックアップ • ポイントインタイムリカバリ • マルチゾーン構成 • リードレプリカ 作成 • マルチゾーン構成 • リードレプリカ 作成
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
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
具体的な要件に合わせて検討していく。 例え 、 • マルチリージョンにスケーラブルな構成を組みたい → GCP? • Google サービスと連携したい
→ GCP? • Oracle DBをマネージドなサービスで使いたい → AWS? • あるMarketplace AMIを使いたい → AWS? などといった機能面 違いであったり、 そ 他にも、柔軟性や拡張性、セキュリティ・コンプライアンス面やサポート体制なども含め、 複合的に考えていく。 また、どちらか一方で なく「 マルチクラウド」として、 お互い いいとこ取りをして構成することも考える。 31 じゃあ、結局どっち使え いい ? ちなみに、 今回 構成だと、Elastic BeanstalkやAppEngineなどPaaS サービスを使う方法もおすすめ
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初心者向け講座 スライド資料