GCP サービス一覧

はじめに

GCP(GoogleCloudPlatform)とは、Googleが提供するクラウドサービスです。アプリケーション開発やデータベース管理などを行なうことができます。また、サーバー運用・管理などの初期コストがかからず導入しやすいことや世界中で有名なGoogleが提供し信頼性があるサービスです。
GCPを導入することにより開発に集中することができ、業務効率化を図ることができます。この記事ではGCPが提供するサービスについて簡単に、より多くご紹介していきます。

GCPの主要サービス

GCP(GoogleCloudPlatform)には一通りのサービスが揃っており、データ分析や機械学習に優れたサービスも存在します。

コンピューティング

GoogleComputeEngine(GCE)

仮想マシン(IaaS:InfrastructureasaService)のことです。LinuxやWindowsサーバを立ち上げることができます。また、CPUのコア数やメモリを調整することも可能(カスタムマシンタイプ)で、「プリエンプティブVM」という最大80%引きのVM(バーチャルマシーン)もあります。
代償は、常に使えるとは限らないこと、突然落ちるかもしれないこと、SLAが無いこと、24時間経過すると必ず終了することです。
GCEに接続可能なディスクとして「永続ディスク」があります。

GoogleAppEngine(GAE)

GCPにおけるPaaS:PlatformasaServiceサービスです。
GoogleAppEngineを使用することで、Googleの安定したインフラ上で、Webアプリケーションの開発・運用をおこなうことができます。また、環境構築が不要で、オートスケールも簡単です。対応言語はGo、Java、.NET、Node.js、PHP、Python、Rubyです。

Google Kubernetes Engine(GKE)

Containers-as-a-Service(CaaS)と言われるサービスのことで、主に下記のような機能を搭載するコンテナマネージド環境のことです。

  • ステートフルアプリケーションのデプロイ(内部に情報を持つアプリケーション。処理によって状態が変化するアプリケーション。)
  • ステートレスアプリケーションのデプロイ(内部にあまり状態を示す情報を持たないアプリケーション。)
  • AIPlatformPipelinesの利用
  • ML(MLPipelinePlatformのこと。処理速度を高めるアクセラレータ)が利用可能
  • LinuxコンテナやWindowsServerコンテナの利用、共存
  • シンプルなウェブアプリの作成
  • API(コンテナベースのアプリケーションの構築・管理)
  • バックエンドサービスの構築

4方向自動スケーリングやストレスのない管理など、業界初の機能を活用できます。また、GPUとTPUのプロビジョニングの最適化を行い、統合されたデベロッパーツールを使用し、マルチクラスタに関してSREによるサポートを受けられます。
さらに、Kubernetes(複雑なタスクやワークフローをより簡単に管理することができるツール)を用いて、Docker(非常に軽量なコンテナ型のアプリケーションサービス)などと連携も可能です。

Google Cloud Functions(GCF)

Function as a Service(FaaS)のことです。GCFはクラウドインフラストラクチャやサービスから生成されるイベントに関連付けられたシンプルな単一目的の関数を作成できます。
対象のイベントが発生すると、Cloud Functionsの関数が実行されます。コードはフルマネージド(監視や障害対応まで代行して行うサービス)で実行されます。インフラストラクチャを準備する必要はなく、サーバーの管理に悩まされることもなくなります。

ストレージとデータベース

GoogleCloudStorage

GCPが提供する容量無制限のストレージサービスです。自動的にバックアップを生成します。
管理コンソール・専用SDK・専用APIにて操作します。ログファイルやデータファイル保存置き場とするのが一般的ですが、Cloud Storageに設置してWeb上に公開可能なため、画像ファイルやHTML・CSS等のディレクトリとして使うこともできます。その際、Cache-Control・Content-Typeなどのメタデータや、404のエラー表示時のHTMLも設置可能です。
GoogleCloudStorageには、Multi-RegionalStorage・RegionalStorage・Nearline Storage・Coldline Storageという4種類のストレージクラスがあり、先にあるものほど冗長性が高いですが、価格が安いです。サーバ側で自動的に暗号化されますが、ユーザ側で行う暗号をさらに追加することもできます。

CloudSQL

CloudSQLは、MySQL・PostgreSQLなどのデータベースを容易に立ち上げることができます。
また、容易に起動・終了したり、レプリケーション(複製し常に更新・同期させる)やリードレプリカ(参照・読み取り複製)を作成したり、定期的なバックアップや任意時点のデータ復旧も可能です。
Compute Engineを立ち上げてそこでDB(データベース)を稼働させることよりも、インストール・設定・バッチなどの工数削減が可能です。

Cloud Big table

高速・かつ規模が大きい列指向DBサービスです。Googleの検索サービスやGmailで使っているBig table(ビッグテーブル)をGCPから利用できるもので容量は無制限です。
データアクセスにはSDK・HBaseシェル・cbtコマンドラインツールを使用し、データはKey-Value形式で保持します。そしてSQLではなく、GET・PUT・SCANといった概念でアクセスします。
Cloud Big tableの機能は極めて限定されています。キーでの検索・範囲検索はできますが、値での検索は一切できず、トランザクションは行単位のみです。これよりももう少し使いやすいKVS(Key-ValueStore)として、CloudDatastoreというものがあります。

CloudDatastore

CloudDatastoreはGoogleが提供するNoSQLデータベースです。NoSQLとはSQL言語を使用しないデータベースを指します。CloudDatastoreを使用することで、プロビジョニングや高負荷を気にすることなく作業をおこなうことが可能となります。
NoSQLなデータベースの拡張性が高い・遅延が少ないという利点と、リレーショナルデータベースのACID特性やトランザクションの良いとこ取りをしたものです。SQLのような書き方ができますが、JOINができないなどの不便な点はあります。

ネットワーキング

GoogleCloudLoadBalancing

リージョンをまたいだロードバランシングが可能なサービスです。
HTTP(S)、TCP、SSL(TLS)、UDPといったプロトコルそれぞれに対応したロードバランサー(負荷分散)を提供します。

CloudDNS

GoogleCloudDNSは拡張性が高い、かつ信頼性の高いDNSサービスで、Googleと同じ基盤で動作します。遅延が少なくアベイラビリティ(可用性)が高く、アプリケーションやサービスをユーザーに効率よく提供できます。CloudDNSは、ドメイン名(www.google.comなど)のリクエストを74.125.29.101のようなIPアドレスに変換します。
また、CloudDNSはプログラムによる操作が可能です。GoogleのシンプルなUI(ユーザーインターフェース)、CLI(コマンドラインインタフェース)、APIを駆使して、数百万ものDNSゾーンやレコードを公開し、管理できます。

ビッグデータ

GoogleBigQuery

BigQueryとはビッグデータ解析サービスのことであり、元々Google社内で使用されていたDremel(ドレメル)という大規模クエリを実行するシステムをユーザー向けに提供したものです。
大量データでも高速処理が可能であります。例えば、数千万件や数億万件の売上データを一気に読み込ませ、年齢層や地域層ごとの分析が短時間で可能とします。

CloudDataflow

CloudDataflowとは、ある入力を元に何かの処理をして出力する、というデータ処理を設定しておくことで、GCEインスタンスを複数立ち上げ、分散処理後に終了までを自動的にしてくれるサービスです。
「データが永遠に発生し続け、遅延や破損の可能性があるストリーミングデータ」と「限定範囲におけるバッチデータ」の両方を(ほぼ)同じソース内で実行できるのが特徴です。入力はCloudPub/Sub・CloudDataStore、出力はCloudBigQuery・CloudBigtableなどです。

CloudPub/Sub

フルマネージドなメッセージサービスです。あるプログラムがキューに対してメッセージを送信、それを別のプログラムで受信することができます。
使い所として、処理1の後に処理2を実行する場合、そのまま実行してもよいのですが、

  • このつながり自体を独立した処理にしたい場合
  • 処理2がなかなか時間を使うなどの理由で非同期にしたい場合
  • 処理2をマルチスレッド化したい場合

などに使用すると良いです。
よくあるケースとしては、ある処理の後にメール送信・ファイル生成・集計・データの破棄・後続バッチ処理などを行いたい場合などです。
また、メッセージはランダムとなります(順番処理を保証しているわけではない)。
「トピック」に対するPub(パブリッシュ)と、「サブスクリプション」に対するSub(サブスクライブ)という2段階からなり、トピックとサブスクリプションの組み合わせ設定によっては1対他・他対1というような使い方もできます。
メッセージ取得にはPullとPushの2通りの方法があります。

機械学習

CloudVisionAPI

GCPの画像解析サービスです。与えられた画像を解析し、下記などの情報を提供します。

  • 画像のラベル(車、ネクタイ、人間の下半身、サッカーボールなど)
  • 顔検出(顔・耳・鼻などのパーツ、感情(表情)推測)
  • 不適切な画像の検出
  • テキスト検出(OCR(Optical Character Recognition)、日本語の対応)
  • Web上からの類似画像の検索

サービス一覧

参考までに、下記に一通りGCPが提供しているサービスを簡単にまとめてみました。

■コンピューティング
・Compute Engine拡張性が高く、高い性能を持つ仮想マシン。
・App Engineアプリとバックエンド用のサーバーを持たないアプリケーションプラットフォーム。
・Google Kubernetes Engineコンテナ化されたアプリケーションを実行します。
・GKEOn-Prem(アルファ版)アプリを「クラウド対応」にし、クラウド移行を自分自身のペースで進めることができます。
・Cloud Functionsイベント駆動型のサーバーレスコンピューティングプラットフォーム。
・Cloud Functions for Firebase即時のサーバー管理を必要とせず、モバイルのバックエンドコードを自動で実行します。
・Knative最新のKubernetesネイティブなクラウドベースソフトウェアを作成するためのコンポーネント。
・Shielded VMs(ベータ版)GCP上の強化された仮想マシン。
■コンテナセキュリティ
・GPU(グラフィックプロセッシングユニット)Google CloudのGPU(Graphics Processing Unit)を機械学習や科学技術の計算、3D表示に活用します。
■AIと機械学習
・AIHub(アルファ版)Google Cloud上でAIの探索、共有、デプロイを行います。
・Cloud AutoML(ベータ版)高品質なカスタムML(機械学習)モデルを簡単にトレーニングします。
・Cloud TPUMLモデルのトレーニングと実行の期間を短縮します。
・Cloud Machine Learning Engine優れたモデルを構築し、本番環境にデプロイします。
・CloudTalentSolution人材採用のニーズにAIを活用します。
・Dialogflow Enterprise Editionデバイスやプラットフォームを超えて会話ができる環境を構築します。
・Cloud Natural Language非構造化テキストから有用な情報を引き出します。
・CloudSpeech-to-TextMLによって音声をテキストに変換します。
・CloudText-to-SpeechMLによってテキストを音声に変換します。
・Cloud Translation言語間の翻訳を動的に行います。
・CloudVision MLによって画像から有用な情報を引き出します。
・Cloud Video Intelligence動画からメタデータを抽出します。
・Cloud Inference API(アルファ版)型付き時系列データセットの関係付けを、スピーディかつ大きな規模で実行します。
・Firebase Predictions予測される行動に基づいたスマートな顧客セグメンテーション。
・Cloud Deep Learning VMImageディープラーニングアプリケーション用の事前構成済み仮想マシン。
■API管理
・Apigee APIプラットフォームあらゆる場所からAPIを開発、保護(セキュリティ)、デプロイ、モニタリングします。
・APIアナリティクスAPIの運用指標と経営指標から分析情報を引き出します。
・API収益化柔軟で使いやすいソリューションによってAPIから新たな付加価値を創出します。
・Apigee SenseAPIを攻撃から守るインテリジェントな挙動検出。
・Cloud EndpointsGCP上のAPIを開発、デプロイ、管理します。
・デベロッパーポータルそのまますぐに使用できるセルフサービスを基盤としたプラットフォームを開発者やAPIチームに提供します。
・Apigee healthcare APIxFHIRAPIベースの新しいデジタルサービスの構築を加速させます。
・Apigee Open Banking APIxオープンバンキングとPSD2(Payment Service Directive 2)への対応を加速させます。
・Cloud Healthcare API医療に関する実用的な分析情報を引き出す安全で危険がないAPI。
■データ分析
・Big QueryMLが組み込まれた、フルマネージドで拡張性の高いデータウェアハウス。
・Cloud Dataflowバッチデータやストリーミングデータをリアルタイムに処理します。
・Cloud DataprocSparkとHadoopのマネージドサービス。
・Cloud Datalab大規模なデータセットを探索、分析、可視化します。
・Cloud Dataprep構造化および非構造化データを視覚的に探索、クリーニング、準備するためのインテリジェントなデータサービスです。
・Cloud Pub/Sub規模の大小を問わず、あらゆる場所からリアルタイムでイベントストリーム(Event Streams)を取り込みます。
・Cloud ComposerApache Airflowを基に構築された、フルマネージドの複雑なワークフローを簡単に管理可能なオーケストレーションサービスです。
■GCP総合ブローシャー
・Genomics科学研究に威力を発揮します。
・Googleマーケティングプラットフォームカスタマーエクスペリエンスを向上させるためのエンタープライズ分析。
・Googleデータポータルデータストーリーテリングによって、より優れた意思の決定を支援します。
・Firebase Performance Monitoringアプリの成果(パフォーマンス)に関する分析情報を取得します。

 

■データベース
・CloudSQLMySQLおよびPostgreSQLデータベースサービス。
・Cloud BigtableNoSQLワイドカラムデータベースサービス。
・Cloud Spanner業務を行うにあたり最重要でかつ、拡張性が高いRDBサービス(リレーショナルデータベースサービス)。
・Cloud DatastoreNoSQLドキュメントデータベースサービス。
・Cloud Memorystoreフルマネージドのインメモリデータストアサービス。
・Cloud Firestoreモバイルアプリやウェブアプリのデータをグローバル規模で保存します。
・Firebase Realtime Databaseデータの保存や同期をリアルタイムで行います。
■デベロッパーツール
・Cloud SDKGCPのプロダクトやサービス用のCLI(コマンドラインインターフェース)。
・Container RegistryDockerコンテナイメージを保存、マネジメント、保護(protect)します。
・Cloud Build継続的なビルド、自動的にテスト・デプロイを実現します。
・CloudSourceRepositories所属しているチームが一元的にソースコードを保存、管理(マネジメント)、追跡(トラッキング)できる場所。
・CloudScheduler(ベータ版)フルマネージドcronジョブサービス。
・CloudTasks(ベータ版)非同期タスク実行。
・Cloud Tools for IntelliJIntelliJ内で本番環境クラウドアプリをデバッグします。
・CloudTools for PowerShellWindowsPowerShellからクラウドを完全に管理します。
・CloudTools for VisualStudioVisualStudioアプリケーションをGCPにデプロイします。
・CloudTools for EclipseEclipseプロジェクトをGCPにデプロイします。
・Gradle AppEngine PluginAppEngineプロジェクトでGradleを使用します。
・Maven App Engine PluginAppEngineプロジェクトでMavenを使用します。
・Cloud Test LabAndroidアプリ用のオンデマンドテスト基盤。
・Firebase Crashlytics安定性の問題に優先順位を付け、問題を速やかに修正します。アプリケーションに導入後、アプリがクラッシュした時点の問題を確認することができます。iOSアプリやAndroidアプリに導入することでWeb上でクラッシュした時点の情報を取得することができます。
■IoT(Internet of Things)
・Cloud IoT Coreデバイスの接続と管理のセキュリティを確保します。
・Edge TPU(早期アクセス)エッジで推論を行うために設計された専用ASIC(エーシック、Application Specific Integrated Circuit)。
・Cloud IoT Edge(アルファ版)GoogleAI機能をエッジで提供します。
■管理ツール
・Stackdriverサービス、コンテナ、アプリケーション、基盤のモニタリングと管理。
・MonitoringGCPやAWSで実行されるアプリケーションのモニタリング。
・Service Monitoring(早期アクセス)IstioサービスとGoogleAppEngineサービス用のStackdriverServiceのモニタリング。
・LoggingGCPやAWSで実行されるアプリケーションのロギング。
・Error Reportingアプリケーションのエラーを特定し、エラー究明の助けになります。
・Trace本番環境でのパフォーマンスのボトルネックを検出します。
・Debugger本番環境でコードの挙動を調査します。
・Profiler(ベータ版)負荷が軽くて遅延が少ない、CPUとヒープ(heap、ツリー構造)のプロファイリング。
・Transparent Service Level IndicatorGoogleCloudサービスと、それらのサービスがワークロードに及ぼす影響をモニタリングします。
・Cloud Deployment Managerよりシンプルなテンプレート((決まった型)を使ってクラウドへのリソースをマネジメントします。
・Cloud ConsoleGCPの総合管理コンソール。
・Cloud Shell任意のブラウザから使用できるコマンドライン管理ツール。
・Cloud Mobile AppモバイルデバイスからGCPサービスを管理します。
・コスト管理費用をモニタリング、管理、最適化するためのツール。
・Cloud API全GCPサービスで使えるプログラムのインターフェース。
■メディア
・Anvatoライブ動画やオンデマンド(ユーザーの要求に応じて提供する)動画をあらゆるデバイスに(インターネットに接続した状態で再生する)ストリーミングします。
・Zync Render3Dモデリングツールから直接、スピーディかつ経済的にレンダリングを実行します。
■移行
・Cloud Data Transferネットワーク経由でデータを転送する、開発者向けのコマンドラインツール。
・Transfer Appliance多くのデータをGoogle Cloudに転送するための収納が容易なラックマウント(rack mount)可能なストレージサーバー。
・Cloud Storage Transfer ServiceAWS S3とGoogle Cloud Storageの間など、クラウドストレージサービス間でデータ転送をします。
・BigQuery Data Transfer ServiceBig Query用のフルマネージドなデータインポートサービス。
・Migrate for Compute Engine(以前の名称は、”Velostrata”)Google Cloudへの目的に特化したエンタープライズクラスの移行。
・VMの移行VMの移行はGoogle Cloudをスピーディかつ効果的に使い始める方法です。
■ネットワーキング
・Virtual Private Cloud(VPC)GCPリソース用のVPCネットワーキング。
・Cloud Load Balancing高性能でスケーラブルな負荷分散。
・Cloud ArmorDoS攻撃やウェブ攻撃からサービスを守ります。
・Cloud CDNGoogleのグローバルネットワークでコンテンツを配信します。
・Cloud NATGCPのマネージド型高性能ネットワークアドレス変換。
・Cloud InterconnectGCPのネットワークエッジに直接接続します。
・Cloud VPNパブリックインターネット経由でGCPVPCに安全に接続します。
・Cloud DNS信頼性と復元性に優れ、遅延が少ないDNSサービス。
・Network ServiceTiersネットワークのパフォーマンスやコストを最適化します。
・Network Telemetryサービスの安全性を維持する徹底的なネットワークテレメトリー。
■セキュリティ
・Cloud IAMIDとアクセスをきめ細かく管理します。
・Cloud Identity for Customer sand Partners(ベータ版)GoogleレベルのIDとアクセスの管理をアプリに組み込みます。
・Firebase Authenticationシンプルかつ無料のマルチプラットフォームなログイン機能。
・Cloud Identity-AwareProxyIDとコンテクストを使用して、アプリケーションやVMへのアクセスを保護(protect)します。
・CloudData Loss Prevention機密データを検出して秘匿化します。
・セキュリティキーの適用セキュリティキーの使用を必須にして、フィッシングを防止します。
・Titan セキュリティキーフィッシング攻撃によるアカウントが乗っ取られることを防止します。
・Cloud HSMフルマネージドのハードウェアセキュリティモジュールサービスによって暗号鍵を保護します。
・VPC Service Controls(ベータ版)GoogleCloudPlatformサービスで機密データのセキュリティ境界を定義します。
・CloudKey Management ServiceGCP上の暗号鍵を管理します。
・Resource ManagerGCP上のリソースをレベルごと(階層的)に管理します。
・Cloud Security CommandCenter(ベータ版)GCP用の広範囲なセキュリティおよびデータリスクプラットフォーム。
・Cloud Security ScannerAppEngineアプリを自動的にスキャンします。
・アクセスの透明性ほぼ即時で取得するログを通じて、クラウドプロバイダによる操作情報を取得できます。
・Binary Authorization(ベータ版)信頼できるコンテナのみをKubernetesEngineにデプロイします。
■ストレージ
・Cloud Storageグローバルなエッジキャッシュを備えたオブジェクトストレージ。
・Persistent DiskVMインスタンス用ブロックストレージ。
・Cloud Storage for Firebaseコンテンツを簡単に保存して提供します。
・Cloud Filestore高性能なファイルストレージ。
・Drive Enterpriseクラウドベースのコンテンツコラボレーションおよびストレージ。

まとめ

いかがでしたでしょうか?この記事では多くのサービスを紹介してきました。GCPを利用することで、Google社内で使われているものと同じテクノロジーやインフラを使用しながらご自身のインフラ環境をクラウド化できます。
今回紹介したGCPは基本的な構成要素から機会学習など深いサービスまで用意されているため、上手く活用して開発に集中することができるでしょう。GCPが提供しているサービスを理解し、導入に向けた知識となれば嬉しいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です