3大クラウドAWS、Azure、GCPの機能を比較したら見えてきたサービスごとの違いと特徴とは?

企業が新システムを導入する際に、クラウドを考慮に入れることが一般的となってきています。しかし、各クラウドベンダーでは数多くの機能を提供している上にコモディティ化してきており、どのクラウドサービスを選択するか悩むことも少なくありません。

そこでこの記事では、3大クラウドと呼ばれている

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud Platform

の3つのクラウドが提供している機能を徹底的に比較し、その違いと選択の指針についてご紹介します。

目次

3つのクラウドサービス

まずは3つのクラウドサービスについて、その大まかな特徴を抑えておきましょう。

Amazon Web Services

AWSロゴ
AWS(Amazon Web Services)はAmazon.com社が提供するクラウドサービスです。2006年7月にEC2の公開が開始され、クラウドサービスの中では最も長い歴史を持っています。常に業界のトップシェアを誇り、そのシェアは3割を超えています。

サービスの種類も豊富で、常に新しいサービスや独創的な考え方のサービスを提供してくれています。歴史が長いこともあり、様々なクラウドサービス選択の基準となり、最初に検討される場合も多いと思います。

Microsoft Azure

Azureロゴ
AzureはMicrosoft社が提供しているクラウドサービスです。2010年にサービスを開始し、Windows ServerやMicrosoft Officeといった様々なMicrosoft社製品との親和性から、順調に売上を伸ばしています。

既存のオンプレミス環境に存在するActive Directoryとも容易に連携を行うことができ、ハイブリッドクラウド構成を実現する基盤として適している考えられます。

Google Cloud Platform

GCPロゴ
GCP(Google Cloud Platform)はGoogle社が提供するクラウドサービスです。GCPはGmailやYoutube、Google マップなど、Google社の提供するサービスを稼働させる基盤としても利用されており、確かなサービスの運用実績がある点がポイントです。

2008年にGAEの提供を開始してから様々なサービスが追加され、特にコンテナ技術に関してはデファクトスタンダードとなる様々な技術を世の中に提供しています。

コンピュートリソース

コンピュートリソース
ではここからは実際に各サービスを多角的な観点から比較し、評価していきます。まずはアプリケーションを稼働させるインフラ部分となるコンピュートリソースを比較します。

仮想サーバー

AWSAzureGCP
Amazon EC2Azure Virtual MachineCompute Engine

従量課金制の仮想サーバーサービスです。各社の機能にそれほど大きな違いはありません。課金体系、選べるコアやメモリ等のオプション、OSの種類、GPUへの対応、ネットワークの帯域、長期契約による割引などの観点から検討し、要件に合致することを確認してください。

ベアメタルサーバー

AWSAzureGCP
Amazon EC2 Bare Metal InstanceAzure Bare Metal ServersBare Metal Solution

エンタープライズユーザーの中で注目されているのがベアメタルサーバーです。堅牢なセキュリティとパフォーマンスが特徴で、自由にハイパーバイザを選択することができるサービスも存在します。自社のクラウド環境を最大限にカスタマイズしたい場合に考慮すべきサービスです。ベアメタルサーバーはIBM CloudによるBare Metal Serversが有名ですが、3大クラウド各社でも少しずつ提供が始まっています。

AzureはSAP HANA用途での利用のみ、GCPはコロケーションスペースに物理サーバーを配置するサービスとなっています。

コンテナ環境

AWSAzureGCP
Amazon Elastic Container Service
Amazon Elastic Kubernetes Service
AWS Fargate
Azure Container Instance
Azure Kubernetes Service
Kubernetes Engine
Cloud Run

各社ともマネージドのKubernetesサービスを提供しており、コンテナを運用する上での運用負荷を軽減することが可能です。また、AWS Fargate、Azure Container Instance、及びCloud Runに関してはサーバーレスで運用できるコンテナ基盤であり、より迅速に開発を行うことができます。3社の中で最もコンテナ技術に長けていると考えられるのはGoogleです。Googleは長年に渡って、自社のクラウド基盤としてコンテナ環境を活用しており、その運用管理ツールとしてBorgを作成しました。そのBorgがベースとなってOSS化されたものがKubernetesです。Borgは10年以上に渡ってGoogle社のコンテナ基盤の運用を支え、毎週10億以上のコンテナをデプロイした実績を持っています。サービスの機能自体は同等のものが提供されてきていますが、コンテナ技術の活用を考える場合、GCPの利用を検討すると良いでしょう。

アプリケーション基盤

AWSAzureGCP
AWS Elastic BeanstalkAzure Web AppsApp Engine

アプリケーションを作成する際に必要となる環境を簡単に用意できるサービスです。各社ともマネージドの環境となっており、開発者はインフラ部分を気にせずに開発に専念することができます。

サーバーレス

AWSAzureGCP
Amazon LambdaAzure FunctionsCloud Functions

サーバーレスサービスでは、イベントをトリガーにしてコードを実行する、イベントドリブンなシステムを構築することができます。連携可能なサービスの種類や実行時間を確認して選択する必要があります。また、Azureでは言語のランタイムとしてPowerShellやTypeScriptを利用することができます。

ストレージ

ストレージ
次に、データを格納するストレージサービスです。

ブロックストレージ

AWSAzureGCP
Amazon Elastic Block StorageAzure Disk StoragePersistent Disk

ブロックストレージサービスでは、パフォーマンスや拡張性、可用性等が判断の基準となります。各社ともIOPSやスループット性能に応じていくつかのオプションを提供しているため、ユースケースに適したオプションを選択する必要があります。また、いずれのサービスもデータのレプリケーションを自動で行いますが、AWSやAzureはゾーン内でのレプリケーションであるのに対し、GCPではゾーンをまたがったレプリケーションを行うことが可能です。

ファイルストレージ

AWSAzureGCP
Amazon Elastic File SystemAzure FilesFileStore

ファイルストレージですが、AWSとGCPではNFS、AzureではSMBがプロトコルとして利用可能です。AzureにはAzure File Syncという機能があり、オンプレミスを含む外部のファイルサーバーをAzure Filesと同期することができます。これにより複数拠点で同一のファイルを扱うことができるようになり、災対用途としても利用することが可能です。

オブジェクトストレージ

AWSAzureGCP
Amazon S3
Amazon Glacier
Azure Blob Storage
Azure Archive Stroage
Cloud Storage

データ耐久性が非常に高く、柔軟にスケールすることができるオブジェクトストレージのサービスです。AWSやGCPではデータへのアクセス頻度に応じて価格体系が設定されているのに対して、Azureでは格納するオブジェクトの種類や用途毎にブロックBLOB、追加BLOB、ページBLOB等と細分化されており、より複雑な課金体系となっています。AWSのS3は99.999999999%の耐久性を実現するように設計されており、ストレージの中でも屈指の耐久性を誇っています。

大容量データ移行サービス

AWSAzureGCP
AWS Snowball
AWS Snowball Edge
AWS Snowmobile
Azure Data BoxTransfer Appliance

既存環境から非常に大きなデータを移行する際に、ネットワーク経由で転送すると時間が膨大にかかる場合があります。その場合に検討すべきなのが物理的なデバイスをクラウド環境に持ち込む事ができるデータ転送のサービスです。それぞれ最大容量に違いがあり、Azure Data Box HeavyやGCPのTransfer Applianceではデバイスごとに最大1 PB(ペタバイト)の転送が可能であるのに対し、AWSの Snowmobileではセミトレーラートラックを利用し、最大100 PBまで転送することが可能です。

データベースサービス

データベース
次はデータベースのサービスです。サーバー上に構築することもできますが、ここではDBaaSとして提供されているマネージドのサービスをご紹介します。

リレーショナルデータベース

AWSAzureGCP
Amazon RDS
Amazon Aurora
Azure SQL Database
Azure Database for MySQL/PostgreSQL
Cloud SQL
Cloud Spanner

いずれのサービスも複数拠点へのレプリケーションはデフォルトで実装されており、高い可用性が担保されています。もちろんマネージドサービスなのでバックアップやパッチ適用は考慮する必要はありません。Amazon Auroaはクラウド環境に最適化するように再設計した新しいデータベースです。耐障害性と自己修復機能を有しており、インスタンスごとに最大 64TBまで自動でスケールされます。AzureのSQL Server Stretch Databaseではオンプレミス環境のSQL ServerをAzureに拡張できるユニークなサービスです。また、Cloud Spannerはトランザクションへの強整合性を持ちながら水平方向のスケールを可能としたサーバーレスRDMSです。RDBMSの構造とNoSQLデータベースのスケーラビリティを両立させている点で、今までにない設計のデータベースであると言えます。

NoSQL

AWSAzureGCP
Amazon DynamoDBAzure Cosmos DBCloud Datastore

NoSQLのサービスでは、一貫性のあるトランザクションを提供できることが重要となります。上記にあげた各サービスはACIDへ完全準拠しており、データの整合性が確保されていると言えます。

データウェアハウス

AWSAzureGCP
Amazon RedshiftAzure Synapse AnalyticsBigQuery

データウェアハウスは、ペタバイト級の大規模なデータを分析するためのシステムです。分析計のシステムであるため、パフォーマンスが気になるところですが、各社とも高速分析を謳っており正確な値は環境ごとに検証を行う必要があると思います。AWSではS3にデータを格納していることも多いと思いますが、Amazon Redshift Spectrumを利用することでS3のデータに直接SQLクエリを実行することも可能です。また、AzureのSynapse AnalyticsではSQLだけでなく、Sparkによる分析を行うことができます。GCPのBigQueryはサーバーレス方式で提供しており、他社に比べて運用が比較的容易です。また、BigQueryでは組み込みの機械学習の機能を利用することができます。

ネットワーク

ネットワーク
ネットワークのサービスを比較していきます。

仮想ネットワーク

AWSAzureGCP
Amazon VPCVirtual NetworkVirtual Private Cloud

各社とも仮想的なプライベートネットワーク環境を提供しています。IPアドレスの持ち込みやオンプレミス環境との接続など、それぞれのサービスに大きな違いはありません。GCPでは複数のリージョンにまたがって1つのVPCをデプロイする設計となっています。

ロードバランサー

AWSAzureGCP
Elastic Load BalancingAzure Load Balancer
Azure Application Gateway
Cloud Load Balancing

各サービスともL4/L7における負荷分散機能を提供しています。また、複数のゾーンにまたがって負荷を分散することが可能です。AWSのELBではオンプレミスのリソースを配下にし、ハイブリッド構成での負荷分散を実現することもできます。

DNS

AWSAzureGCP
Amazon Route53Azure DNSCloud DNS

各社とも権威DNSのサービスを提供しています。いずれのサービスも信頼性が高く、パブリック側と、プライベート側のそれぞれのネットワークに対して名前解決を行うことが可能です。

CDN

AWSAzureGCP
Amazon CloudFrontAzure CDNCloud CDN

静的コンテンツを配置することで容易に高速化を実現することができるサービスです。いずれのサービスでも各仮想サーバーやコンテナ基盤をオリジンとして設定し、アクセス負荷を軽減させることが可能です。また、証明書を追加費用無しで利用することもできます。AWSではAWS ShieldやAWS WAF、IAMとシームレスに統合されており、データをセキュアに保護することができます。また、GCPではLoggingやMonitoringと統合されており、リクエストのログを分析することが可能です。

VPN

AWSAzureGCP
Amazon VPNAzure VPN GatewayCloud VPN

インターネット経由での安全なアクセスを保証するVPNのサービスです。Amazon VPNとAzure VPN Gatewayはサイト間だけでなく、サーバー – クライアント間のVPNも提供しています。GCPではサイト間のIPsec VPNのみを提供しているため、グローバルIPアドレスを持たないサーバーにアクセスする場合にはCloud VPN経由でアクセスするか、踏み台サーバーを利用するなどの方法を取る必要があります。また、AzureではActive Directoryを利用した認証を行うことが可能です。

専用線接続

AWSAzureGCP
Amazon Direct ConnectAzure Express RouteCloud InterConnect

各社とも専用線の接続サービスを提供しています。AzureのExpressRoute DirectやGCPのDedicated Interconnectでは1本あたり100 Gbpsの帯域を利用することが可能です。

アプリケーション開発

アプリケーション
アプリケーションを開発する際に必要となる各種開発者ツールについて比較していきます。

コード管理

AWSAzureGCP
AWS CodeCommitAzure ReposCloud Source Repositories

プライベートのマネージドリポジトリサービスです。いずれのサービスも無制限でレポジトリを作成することが可能で、5ユーザーまでは無料で利用することができます。

CI/CD

AWSAzureGCP
AWS CodeBuild
AWS CodeDeploy
AWS Code Pipeline
Azure PipelinesCloud Build

アプリケーション開発の要となる開発サイクルの自動化ツールです。いずれのパイプラインサービスも各プロセスにおいて自社のサービスはもちろん、サードパーティー製のツールも組み込むことが可能です。GCPはネイティブのDocker環境もサポートしており、既存のDockerfileをインポートして利用することもできます。

IDE

AWSAzureGCP
AWS Cloud9Visual StudioCloud Code

Cloud9はブラウザのみで完結するクラウドベースのIDEであり、リッチエディタやデバッグ、AWS CLIがあらかじめプリインストールされています。環境構築が不要なため、非常に迅速に利用を開始することができます。また、Visual StudioにはAzureへの拡張機能が含まれており、もともとVisual Studioを利用してアプリケーションを構築していた方は構築環境をそのまま利用することが可能です。Cloud CodeではKubernetes環境の構築に最適なIDEを提供しており、アプリケーションの開発サイクル全体をサポートします。

SDK

AWSAzureGCP
AWS SDKAzure SDK Visual StudioCloud SDK

各社とも様々な言語に対応したSDKを用意しています。

運用管理

運用管理
運用管理サービスを比較します。クラウド上のサービスを利用して運用管理が完結できることは重要な要因となります。

サービス管理

AWSAzureGCP
AWS Management Console
AWS Command Line Interface
Azure Portal
Azure Command Line Interface
Azure PowerShell
Azure Cloud Shell
Cloud Console
Cloud Shell
Cloud APIs

各クラウドサービスの管理ツールです。コンソールだけでなく各社ともCLIによるコマンド経由の制御が可能です。AzureではPowerShellでの操作、GCPではAPIによる自動化が行えることが特徴です。

監視、ロギング

AWSAzureGCP
Amazon CloudWatchAzure Monitor
Log Analytics
Cloud Monitoring
Cloud Logging
Cloud Trace
Error Reporting
Cloud Debugger

AWSのCloudWatchは統合的な監視ソリューションです。インフラストラクチャ全体におけるリソースやパフォーマンス、ログを分析することが可能です。また、Push型で監視を行うため、監視対象が増えても安心です。Azure Monitorではパフォーマンスやリソース監視はもちろん、ネットワークの監視を行うことができるのが特徴です。また、GCPのCloud Monitoringは複数の監視サービスと統合されており、インシデント、グラフ、トレース、エラー、ログを一元的に管理し、迅速に問題解決を行うことができます。また、BigQueryとの連携によりすぐに分析を行うことが可能です。

環境構築自動化

AWSAzureGCP
AWS CloudFormationAzure Building BlocksCloud Deployment Manager

テンプレートを元に、リソースの環境構築を自動化するサービスであり、Infrastructure as Codeとも呼ばれる領域です。GCPではYAML、JSON形式に加えてJinjaやPythonによりテンプレートを記述することが可能です。

構成管理

AWSAzureGCP
AWS ConfigAzure PortalCloud Security Scanner
Cloud IAM

セキュリティ

セキュリティ
セキュリティ機能は本番環境をデプロイする上で非常に重要となります。様々なレイヤーがあるセキュリティですが、いくつかのカテゴリーに分類して考慮していきます。

権限管理

AWSAzureGCP
AWS Identity and Access ManagementAzure Active DirectoryCloud IAM

クラウドの権限管理ではIAMがよく利用されます。サービスやAPIごとにアクセス権限の設定を行い、各リソースに対しての認証や認可を行います。AzureはAzure Active Directoryにより同等の機能を提供しており、オンプレミスのADとの連携を実現することができます。

SSL証明書

AWSAzureGCP
AWS Certificate ManagerApp ServiceCloud Load Balancing

証明書管理のソリューションです。AWSではACM(AWS Certificate Manager)と連携可能なサービスに対して無料でSSL証明書を払い出し、統合的に管理することができます。プライベートCAを利用する場合には別途料金が必要です。また、AzureではApp Service、GCPではCloud Load Blancingでマネージドの証明書サービスを利用することができますが、有効期限の監視や自動更新など管理機能が利用できるACMが機能的には優れていると言えます。

鍵管理

AWSAzureGCP
AWS Key Management Service
AWS CloudHSM
Azure Key VaultCloud Key Management Service

暗号鍵の一元的な管理ツールです。いずれのサービスもマネージドのHSMとの連携が可能であり、運用に手間をかけることなくセキュリティを向上させることが可能です。

ネットワークセキュリティ

AWSAzureGCP
Security Group
ネットワークACL
AWS Firewall Manager
AWS Shield
AWS WAF
Azure Firewall
Azure Firewall Manager
Azure DDoS Protection
Azure WAF
Firewall Rule
Cloud Armor

ネットワークセキュリティサービスです。各社ともVPC機能に付随したネイティブのファイアウォールを利用することができます。その上でDDoS防御や、WAFの機能が利用可能です。WAFに関してはどのサービスでもマネージドルールセットの利用だけでなく、ルールのカスタマイズも可能です。AWS ShieldにはStandardとAdvancedの2種類のオプションがあり、Advancedでは24×365で連絡可能なDDoS Response Teamによるサポートを利用することができます。

その他の主要なサービス

最後に、各クラウドベンダーが力を入れているサービスをまとめて比較します。

機械学習

AWSAzureGCP
Amazon Lex
Amazon Comprehend
Amazon Polly
Amazon Recognition
Amazon Recognition Video
Amazon Machine Learning
LUIS
Azure Bot Service
Azure Speech Recognition API
Bing Speech API
Emotion API
Face API
Computer Vision API
Azure Machine Learning
Natural Language API
Cloud Text-to-Speech
Translation API
Speech API
Vision API
Cloud Video Intelligence
Cloud Machine Learning Services

AIや機械学習の分野です。各クラウドサービスとも非常に力を入れており、自然言語処理や画像解析、翻訳など、多くのサービスを提供しています。

IoT

AWSAzureGCP
AWS IoT Platform
AWS IoT Button
Azure IoT Platform
Azure Sphere
Google Cloud IoT

IoTのサービスとして、各社ともデータを収集する基盤であるプラットフォームを提供しています。AWSに関してはAWS IoT Buttonという物理的なデバイスを提供しており、IoTデバイスとしてソリューションに組み込むことが可能です。また、Azure Sphereはハードウェア、OS、クラウドの面からセキュアなIoT環境を構築する事のできるソリューションです。チップやOSはパートナーと提携することで実現しています。

モバイル

AWSAzureGCP
AWS Mobile HubAzure Mobile AppsFirebase

各社ともモバイルアプリケーションを作成するサービスを提供しています。開発、テストから本番運用に至るまで一貫して管理することができ、迅速にアプリケーション環境を作成することが可能です。

まとめ

この記事では3大クラウドと呼ばれているAmazon Web Services、Microsoft Azure、Google Cloud Platformの3つのクラウドが提供している機能を分類し、その特徴をご紹介しました。上記に記載の通りいずれのクラウドベンダーでも同等の機能を提供していますが、連携するサービスや利用できる環境などに違いがあります。それぞれの違いを捉えて要件に合致するクラウドを選択するようにしましょう。

また、可用性やオープン性を考慮した場合、1つのクラウドだけを利用するのではなく、複数のクラウドを利用することでマルチクラウドとして活用することが最善の選択である場合もあります。既存環境にクラウドを適用する場合には、最適な構成の全体アーキテクチャをあらかじめ検討した上でサービスを選択することが必要となります。

ページの先頭へ
Google Cloud プレミアサービスパートナー

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中