【GCP・AWS・Azure】３大クラウドの仮想マシンの比較をしてみた

ネットを探すと、関連した記事がたくさん見つかりますが、備忘録的にまとめました。
※表の作成に慣れておらず。。見づらくてすみません。

| |名前|課金体系|仮想マシンの起動速度|マシンタイプ|スポットVMの有無|作成時のステップ数|ブラウザから仮想マシンのOSログインの不可|停止時のインスタンスタイプ変更|起動時のインスタンスタイプ変更|リージョン変更・移動|ゾーン変更・移動|ライブマイグレーション|シリアルコンソール|自動シャットダウン|CPU|メモリ|CPU/メモリカスタマイズ|性能指標値|GPU|FPGAAWS|
|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|
AWS|Amazon EC2|従量課金制、秒 (最低1分) と時間単位が混在|3分〜4分20秒|コア数、メモリ、ディスクのセットから選択する方法をとっているため、あらかじめ用意されたマシンタイプの種類から選ぶ|有|6ステップ|可|○|×|×|×|×|×|×|vCPU: 1〜128(論理プロセッサ448というのもある)|0.5GB〜12TB|×|ECU|あり (EC2: P3/P2/G3, Elastic GPU)|あり (f1 インスタンス)|
|Azure|Azure Virtual Machine|従量課金制、 分単位 (秒切り捨て)|3〜4分|コア数、メモリ、ディスクのセットから選択する方法をとっているため、あらかじめ用意されたマシンタイプの種類から選ぶ|無|16ステップ |可|○|×|×|×|×|○|○|vCPU: 1〜128|0.75〜27TB|×|ACU|あり (VM: NC/NCv2/ND/NV)|無|
|GCP|Compute Engine|従量課金制、秒 (最低1分)|約40秒|カスタムマシンにより設定できるようになっているため、コア数、メモリ、ディスクを別々に設定することが可能|有|2ステップ|可|○|×|×|○（インスタンスにローカル SSD がつながっていると NG 、コマンドラインまたは API からしかできないといった制限あり）|○|○|×|仮想CPU: 0.2〜160 (2019/04/03 early access ながら vCPU 208・416が登場)|0.6〜11TB|○ (カスタムタイプ, 拡張メモリ)|GCEU|あり (GCE, Dataproc, GKE)|無|


＝＝＝＝
説明
・スポットインスタンス
「常に使えるとは限らない、突然落ちるかもしれないけど、安い」という仮想マシン

・ライブマイグレーション
「仮想マシンを再起動することなく (動作させたまま)、現在のホストから新しいホストに移動する」

・シリアルコンソール
/etc/fstab の修正をミスしたり iptables の設定をしくじって接続できなくなった場合、 OS の起動が失敗してしまいます。Azure・GCP ではブラウザ上でシリアル接続が可能

・自動シャットダウン
お試しで仮想マシンを起動したいときがあります。 そしてもう不要なのに削除し忘れて余分な請求が来てしまう

・拡張メモリ
GCP には「拡張メモリ」という仕組みがあり、 「メモリは vCPU あたり 0.9GB〜6.5GB の範囲」を超えて追加が可能

・性能指標値
CPU 速度の指標値
AWSのCPUが一番高性能。料金も加えて考えたとき、コストパフォーマンスがいいのはGCPというお話もある。

・FPGA
Field Programmable Gate Array の略で、 プログラミング可能なハードウェア回路。GPU と同じく、簡単な計算を複数並列で行うような用途に向いています

＝＝＝＝


ネットワーク

|グローバルIPアドレス固定化|内部IPアドレス固定化|複数 NIC|
|:----|:----|:----|
|○|○ (VPC の場合)|○|
|○|○|○|
|○|○|○|

ディスク・ストレージ

|ストレージ|HDD/SSD 選択可否|ストレージ冗長化の有無|ストレージ共有 |ストレージ動的拡張|ストレージ最大数|1ストレージの最大容量|ストレージバックアップ|ストレージ自動バックアップ|ストレージストライピング|一時ストレージ|
|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|:----|
|EBS|可|◯|×|◯|Linux: 40、Windows: 17〜26|16TB|◯|◯|◯|○ インスタンスストア|
|Managed Disk, Azure Disk Storage|可|◯|×|× (インスタンス停止が必要)| |4TB|◯| | |○ 一時ディスク|
|永続ディスク|可|◯|永続ディスクを読み取り専用で利用すれば〇|◯|4〜16|64TB（共有したときの最大容量も64TB）|◯|◯|△ (できるが、推奨ではない)|◯ ローカル SSD (375GB×8本)|

その他

|Iaasの監視|オートスケーリング|
|:----|:----|
|EC2 Systems Manager|Amazon EC2 Auto Scaling|
|Azure Monitor| |
| オペレーション スイート|マネージドインスタンスグループ|

検討するときのポイント
課金体系、選べるコアやメモリ等のオプション、OSの種類、GPUへの対応、ネットワークの帯域、長期契約による割引などの観点から検討し、要件に合致することを確認

||	Linux	|Windows	|FreeBSD	|その他|
|:----|:----|:----|:----|:----|
|AWS	Amazon Linux| Amazon Linux 2| Ubuntu| RHEL| SUSE	Windows Server 2003| 2008| 2012| 2016	FreeBSD 10/11/12 (ただしコミュニティサポート)	|
|Azure        	CentOS| Debian| Ubuntu| RHEL	Windows Server 2008| 2012| 2016| Windows 7|8|10	FreeBSD 10/11/12 (ただしコミュニティサポート)	|
|GCP	CentOS. Debian| Ubuntu| CoreOS| RHEL| SUSE	Windows Server 2008| 2012| 2016	FreeBSD 10/11/12 (ただしコミュニティサポート)	SQL Server| コンテナ特化OS|

特徴
AWS	インフラを提供するIaaS（Infrastructure as a Service）の種類が豊富で、OSやミドルウェアの制限が少ないのも特徴です。		


こんな時に使ったほうがいい


|AWS|日本語のナレッジをたくさん参照したい。商用ライセンスの正式サポートが必須。一定負荷のサーバーを長期にわたって利用する|
|:----|:----|:----|:----|:----|
|Azure        |細かい機能でたけている部分は見受けられませんが、OSとの互換性を考えれば、Azure一択になると思う。|
|GCP|サーバーを細かくカスタマイズしたい起動速度が圧倒的に早いライブマイグレーションもできる|
		

料金比較もしたいのですが、難しい・・
AWS：https://aws.amazon.com/jp/ec2/pricing/on-demand/
Azure：https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/
GCP：https://cloud.google.com/compute/vm-instance-pricing?hl=ja

【ソース一覧】
逐一、性能は変わると思いますので、ソースを張っておきます。

・料金
https://aws.amazon.com/jp/ec2/pricing/
https://cloud.google.com/compute/all-pricing?hl=ja

・マシンの起動速度
ソースがない

・インスタンスタイプ
https://aws.amazon.com/jp/ec2/instance-types/
https://cloud.google.com/compute/docs/machine-types?hl=ja

・スポットVMの有無
https://aws.amazon.com/jp/ec2/spot/?cards.sort-by=item.additionalFields.startDateTime&cards.sort-order=asc
https://cloud.google.com/compute/docs/instances/preemptible?hl=ja

・作成時のステップ数
作成画面をみるしかない

・ブラウザから仮想マシンのOSログインの不可
https://aws.amazon.com/jp/about-aws/whats-new/2020/12/introducing-aws-cloudshell/

・シリアルコンソール
https://cloud.google.com/compute/docs/instances/interacting-with-serial-console?hl=ja
AWSなし

・自動シャットダウン
GCP：https://qiita.com/tetsu_koba/items/e776adca55ac3dbcf836　公式ドキュメントがわからない
AWSない
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html

・メモリ
AWS：https://aws.amazon.com/jp/ec2/instance-types/
GCP:https://cloud.google.com/compute/docs/machine-types?hl=ja

・ドキュメント量
GCP：すごく細かく書いてある

AWS
概要のみ？
https://aws.amazon.com/jp/ec2/?ec2-whats-new.sort-by=item.additionalFields.postDateTime&ec2-whats-new.sort-order=desc
ホワイトペーパーをみる？
https://aws.amazon.com/jp/whitepapers/?whitepapers-main.sort-by=item.additionalFields.sortDate&whitepapers-main.sort-order=desc&whitepapers-main.q=EC2&whitepapers-main.q_operator=AND
コマンドの実行とかはどこ？→チュートリアル
https://aws.amazon.com/jp/getting-started/hands-on/?awsf.getting-started-category=category%23compute

・性能指標値
https://cloud-textbook.com/46/

AWS:
https://cloudpack.jp/service/aws/plan/ec2-instance-spec.html
https://hayashih.hatenablog.com/entry/20111201/p1
https://aws.amazon.com/jp/ec2/faqs/
https://xtech.nikkei.com/it/article/COLUMN/20100624/349545/

GCP:
https://cloud.google.com/spanner/docs/cpu-utilization?hl=ja
https://en.wikipedia.org/wiki/Google_Compute_Engine#Google_Compute_Engine_Unit

・Iaas監視
GCP：オペレーション スイート
https://cloud.google.com/products/operations?hl=ja

【コメント】
ライブマイグレーションがあるとpaasっぽい
でも、カスタマイズできるのはIaasっぽい
Azureはpaasだってかいてるサイトもあったので、よく読んでみる
自分の中で区別ついてないものを比較してみるとわかりやすくなる