
この記事では、「GCPとは何か」から始まり、GCPを利用するメリット、AWSとの違いについて解説していきます。さらに後半では、GCP上で基幹系システムを構築する場合の可用性についても解説します。
GCPとは
GCPとは、Google Cloud Platformの略で、Google が提供するクラウドコンピューティングサービスの総称です。おなじみの検索サービスやYouTubeといったサービスも、GCPの上で動いています。
ここでは、GCPの歴史や概要について紹介します。
GCPの歴史
先述の通り、GCPとはGoogleが提供する様々なクラウドサービスの総称です。最初にリリースされたのが、プラットフォームをクラウドで提供するPaaSで、2008年に発表された「Google App Engine」です。これは、現在でもGCPの中心的なサービスとなっています。
その後、2011年にビッグデータ解析の「BigQuery」、2012年に仮想マシン提供サービスの「Google Compute Engine」などがリリースされました。しばらくは個別のサービスとして提供されていましたが、2013年にこれらのサービスをひとつに統合して「Google Cloud Platform」として提供されるようになり、GCPという名称で呼ばれるようになりました。
GCPの特徴
GCPは、Googleが自社サービスで利用している技術やインフラと同じものを利用できる点が大きな特徴です。Google検索やGoogle Map、YouTubeなどと同じ環境が利用できるのです。また、ネットワーク環境についても、Googleが提供する世界最大規模ともいえるネットワークを利用できます。ネットワークは負荷分散されているため通信障害が起こりにくく、高速通信も実現されています。
GCPは、Googleだからこそ提供できるデータ解析や機械学習などのサービスもあり、近年注目が高まっている分野の高度な技術も活用することができます。
GCPでできること
GCPを利用すると、マシンやネットワークなどのインフラや、開発環境となるプラットフォームを自社で用意する必要がなくなります。導入コストや運用コストを抑えながらGoogleの高い技術が備わった環境を利用できます。ここでは、GCPのサービスの一部と、それを使ってできることについて紹介します。
App Engine
App EngineはPaaSという形態のサービスで、アプリケーションを実行するためのプラットフォームをクラウドで提供しています。Googleが提供する安定した環境でアプリ開発などを進めることができます。また、GCPで提供されている機能はスケールアウトを前提としているものが多いという特徴があり、アクセスが増えてきたため環境を拡張したいというケースなどでも容易に対応が可能です。
BigQuery
BigQueryは、ビッグデータを高速処理できるサービスです。Googleはビッグデータ解析を得意としており、膨大なデータを高速で処理する技術を有しています。その技術をユーザー向けにも提供しており、BigQueryを使うことで2.5億件のトランザクションデータを約2分半で処理することが可能です。
Cloud Machine Learning
Cloud Machine Learningは、機械学習ツールです。Googleは機械学習の分野でも業界をリードしているため、機械学習に力を入れたい企業にとっては積極的に利用したいサービスでしょう。また、専門的な知識がなくても機械学習のモデル構築が可能であるという点も特徴です。
Compute Engine
Compute Engineは、GCPで提供されている仮想マシン(VM)です。GCPをIaaSとして利用したい場合に使います。マシンやネットワークなどのインフラ環境をクラウドで利用できるため、自社で一から環境を整えるよりも導入コストや運用コストを抑えることが可能になります。
Cloud Storage
Cloud Storageは、ストレージサービスです。容量無制限で、自動にバックアップを生成するという機能も備わっています。ファイルの保存場所として利用できるだけでなく、Web上に公開できるため、HTMLやCSSの置き場所としても活用できます。
Cloud Datastore
Cloud Datastoreは、ドキュメント指向のNoSQLデータベースです。NoSQLとはSQL言語を使用しないデータベースで、ビッグデータなどを扱うのに適しています。Cloud Datastoreを利用することで、高負荷になる処理も高速で行うことが可能です。
Cloud IAM
Cloud IAMは、権限管理を行う仕組みのことです。個別のアカウントに対して「参照者」や「管理者」といった権限設定が行えるだけでなく、複数のアカウントをまとめたGoogleグループに対しても、権限を付与することが可能です。より細かい権限管理が可能なカスタムロールという機能も用意されています。
これらのほかにも、デバイスの接続や管理ができる「Cloud IoT Core」やモニタリングサービスの「Cloud Monitoring」など、多彩なサービスがあります。
GCPを使うメリット
GCPに限らず、クラウドサービスを活用することにはたくさんのメリットがあります。クラウドサービスはIaaSやPaaSといったインフラやプラットフォームを提供してくれるサービスが多いため、システムの自社開発などを行うときに必要な開発環境を低コストで導入・運用することが可能です。SaaSを活用すれば、すでに用意されているアプリケーションをそのまま利用できるため、管理の手間も省けます。GCPのように様々なサービスが包括的に提供されるサービスを使えば、自社のシステム運用にかかる手間やコストを大幅に削減できます。
次のように、GCP独自のメリットも、多くあります。
信頼性の高いインフラ
まず、先述の通りGoogleの提供する信頼性の高いテクノロジーをクラウド上で使うことができる点です。例えば、安全で安定したインフラ環境が挙げられるでしょう。GCPは急激なアクセス増加などの負荷にも耐えられるように設計されています。GCPのデータセンター内では独自に開発されたネットワーク機器が使用されているため、ネットワークに関してもスピードと安定性は十分です。
高いセキュリティ
GCPは金融や政府機関などのセキュリティ基準にも準拠しています。第三者認証を受けるなど対策は万全です。クラウドサービスの利用についてはセキュリティ面を不安視する声も聞かれますが、データ管理において高度なセキュリティが保たれているため安心できる点もメリットといえます。
AI・機械学習サービス
インフラ環境だけでなく、提供されている様々なツールについても同様に高い品質である点もメリットです。Googleは検索エンジンが有名で、ビッグデータの解析に関しては十分な技術を有しています。
Googleは機械学習の分野でも業界をリードしているため、AIや機械学習サービスが充実しているというメリットもあります。今後AIなどに力を入れたいという場合は、GCPを選ぶ大きな理由になるでしょう。
必要なサービスを選択できる
GCPはインフラから各種ツールまで、YoutubeやGoogle検索などのサービスで使われているものと同等の技術が利用できます。自社でそこまでの環境やシステムを用意することは簡単ではないため、クラウドサービスでこれらを利用できることは大きなメリットです。GCPのサービスは多岐にわたるため、用途に応じてクラウドサービスの契約を分ける必要がなく、自社に必要なサービスを選んで利用できるというメリットもあります。
低コストで運用できる
GCPの利用には、コスト的なメリットも期待されます。GCPは前払いが必要なく、従量課金制で利用料金が計算されます。秒単位で使用した分だけ請求されるという仕組みです。そのため低コストで運用することが可能で、開発環境の整備などに多くの予算がかけられないというようなケースでも活用できます。
また、事前の契約なしで長期利用割引が適用され、最大30%の割引が受けられる点もメリットとして挙げられます。GCPはコストメリットが大きいため、開発体制が少人数であったり、スタートアップ企業だったりする場合にも適しているといえるでしょう。
GCPとAWSの違い
GCPとよく比較されるクラウドサービスに、AWSがあります。AWSとはAmazon Web Servicesの略で、その名の通りAmazonにより提供されているクラウドサービスのことです。GCPと同様に、安定した環境をスピーディに利用できるため、多くの企業で活用されています。ここでは、この2つのクラウドサービスの違いについて解説します。
AWSの特徴
AWSは他のクラウドサービスと比べても提供されているサービスの種類が多いため、ユーザーの目的に合わせて様々な機能を使い分けることができるのが特徴です。また、クラウドサービスで利用するデータセンター(リージョン)の数が多いという点も特徴です。そのため、災害やトラブル時の被害を抑えられる、ユーザーに近い場所のリージョンを利用することで通信遅延などを防ぐことができる、などのメリットがあります。
一方、サービスの種類の多さがデメリットになることもあります。ユーザー側がしっかり把握して管理しておかなければ、サービス選定や設計が複雑になってしまうのです。専門的な知識を持った人が適切に運用しなければ、いつの間にか管理しきれない状態になってしまったり、従量課金制では予想以上の請求がきてしまったりすることもあり、注意が必要です。
GCPとAWSの比較
GCPの強みは、Googleの最新技術が利用できるビッグデータ解析や機械学習機能が用意されている点です。GCPでデータ解析を行う場合、Googleのデータセンター内のリソースが自動で割り当てられるため、高負荷の処理も問題なく実行できます。他のクラウドサービスでは計算リソースの追加やチューニングが必要になる場合もあるため、データ解析に適した環境を自動で提供してくれるGCPのメリットは大きいでしょう。
一方、AWSの強みは、AWS特有の機能を使うことで、複雑なシステム構築も可能になる点です。また、AWSはSQL ServerやOracleといった商用ライセンスのサポート範囲が広いという特徴もあります。既存システムとの兼ね合いなどで商用の正式サポートを必要とする場合は、AWSの方が適しているケースも多いでしょう。
GCPとAWSにはそれぞれ違った強みがあるため、導入目的によってどちらが適しているか変わります。例えば、データ分析や機械学習を重視する場合はGCP、柔軟に開発したいという場合や、複雑なシステム構築を目的としている場合はAWSがそれぞれ適しているといえます。
GCPでの利用者の責任範囲
GCPの基盤には高い信頼性がありますが、IaaSについては他のクラウドサービスと同様で、利用者とクラウドベンダーとの間で責任を共有する必要があり、OSより上位は利用者側の責任となります。
<責任共有のイメージ>
ただし、基盤側が全く障害が起こらないことが保証されているわけではありません。2020年3月に米アトランタのデータセンターにて障害がありましたが、止められない基幹系システムを運用される場合、様々なケースを想定した障害対策の検討が必要となります。
近年、SAPやJP1といった基幹系システムを構成するソフトウェアをオンプレミス等からGCPなどのクラウドに移行(リフト)するケースが増えています。基幹系ソフトウェアをIaaSに移行(リフト)する場合は、障害対策の検討が必須です。当社でもGCP向けにシステムの可用性を高めるHAクラスターソリューションを提供していますのでご紹介いたします。
サイオステクノロジーがGCP上で実現できる冗長化の方式
サイオステクノロジーでは、Linux環境、Windows環境ともにGCP上のHAクラスター構成をサポートしています。当社が提供しているGCP向けのHAクラスターソリューションをパターン別に紹介します。
Linux環境の場合(LifeKeeper+DataKeeper)
Linux環境でHAクラスター構成をとる場合は、HAクラスターソフトの「LifeKeeper」を利用します。また、クラウド上では物理的な共有ストレージが使えない為、その代替としてデータレプリケーションソフトである「DataKeeper」を併用してクラスターノード間のデータを担保します。
これによりSAPやJP1をはじめとした、止められない基幹系システムにおける障害発生時にも、最小限の時間で復旧します。当社のHAクラスターソリューションは切り替え時間の短さとコストのバランスに優れた障害対策です。
当社ではWindows環境でGCP上のHAクラスター構成をサポートしています。HAクラスター機能はWindows Server標準のWSFC(Windows Server Failover Clustering)を使います。WSFCはクラスターノード間のデータ共有に共有ストレージが必要です。クラウド上では物理的な共有ストレージが使えません。当社のDKCE(DataKeeper for Windows Cluster Edition)はクラスターノード間のブロックレベルのリアルタイム同期を行うことで、ミラー領域がWSFCに論理的な共有ストレージとして認識されます。このDKCEを使うことでGCP上でWSFCを使ったHAクラスターを安価に構築できます。
<概念図>
GCP上でLifeKeeperとDataKeeperを組み合わせた構成でのHAクラスターの構築手順については、Step by Stepガイドを公開していますのでご参照ください。
Windows環境の場合(LifeKeeper+DataKeeper)
Windows環境におけるHAクラスター構成としては、2パターンの構成をサポートしています。まずはHAクラスターソフトの「LifeKeeper」とデータレプリケーションソフトの「DataKeeper」を併用する構成を紹介します。
この場合も、Linux環境と同様にHAクラスターの役割は「LifeKeeper」が担い、クラスターノード間の論理的な共有ディスクとして「DataKeeper」がデータを担保します。
<概念図>
Windows環境の場合(WSFC+DKCE(DataKeeper for Windows Cluster Edition))
GCP上のWindows環境でサポートしているもう一つの構成が、Windows Server標準のWSFC(Windows Server Failover Clustering)と当社の「DKCE(DataKeeper for Windows Cluster Edition)」を組み合わせた構成です。
この構成の場合、HAクラスター機能はWSFCを使います。WSFCはクラスターノード間のデータ共有に共有ストレージが必須です。しかしながら、前述の通りクラウド上では物理的な共有ストレージが使えません。
DKCEはクラスターノード間のブロックレベルのリアルタイム同期を行うことで、ミラー領域がWSFCに論理的な共有ストレージとして認識されます。このDKCEを使うことでGCP上でWSFCを使ったHAクラスターを安価に構築できます。
<概念図>
具体的な構築手順はGoogle Cloud様のWebサイト上で公開されていますのでご参照ください。
>>[Windows Server フェイルオーバー クラスタリングの実行]
まとめ
SAP・JP1・HULFTを始めとする基幹系のソフトウェアをGCPのIaaSに移行する案件は近年増加傾向にあり、今後も大幅に増えてくることが予想されます。当社では実績のあるHAクラスターソリューションでお客さまのビジネスを支援させていただきます。
GCP上でのHAクラスター構成のベストプラクティスを知りたい方はこちらをご覧ください。