GCPサービス一覧・3行解説 (説明網羅率84%)

  • このエントリーをはてなブックマークに追加

最終更新

Google Cloud Platform (GCP) のサービス一覧と、おおむね 3行の解説です。

目次

コンピューティング

Compute Engine とは

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

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (iaas)

Google App Engine (GAE) とは

GCPドキュメントへ: Google App Engine (GAE)
GCP における PaaS サービス。アプリをデプロイするだけで、インフラは GCP におまかせ。 環境構築が不要なので、オートスケールも簡単。 対応言語は Node.js、Java、Ruby、C#、Go、Python、PHP。 Standard Environment と Flexible Environment の2つがある。 Standard は純粋な PaaS で、ログイン不可、ローカルファイルアクセス不可等の制約はあるが、ミリ秒単位で起動可能。 Flexible は、Compute Engine 上で Docker イメージを動かしているもので、 ssh ログインが可能で、ミドルウェア等のインストールが可能であるが、分単位での起動。

AWS/Azure/GCP サービスマッピングへ (paas)

Kubernetes Engine (GKE) とは

GCPドキュメントへ: Kubernetes Engine (GKE)
Docker コンテナのマネージドサービス。Kubernetes というオーケストレーションツールを利用している。 旧名 Google Container Engine。

Docker は Linux 内で独立したコンテナというものを立ち上げて、 その中はプロセスも CPU もメモリも隔離されていますよというもの。 ある意味「それだけ」しかできないのが Docker。 例えば Web サービスを立ち上げるとして、複数マシンで同じコンテナを動かしたり、 複数コンテナにロードバランシングしたり、 リクエストが増えてきたらコンテナを増やしたり (オートスケール)、コンテナが死んだら再起動したり、 といった機能は Docker には一切ない。管理用プログラムを作り込めばできるけど、かなり大変。

そこで各社が、Docker に欠けている管理機能を開発した。これを「コンテナオーケストレーションサービス」と呼ぶ。 Amazon が開発したコンテナオーケストレーションサービスが Amazon ECS。 Google が開発したのが Kubernetes。Docker 社が開発したのが Docker Swarm。 いずれもできることは似ているが、コマンドや設定ファイルなどは全然違う。

2017年、AWS も、Azure も、Docker 社も Kubernetes に対応したので、 このままいくと Kubernetes がデファクトスタンダードになりそう。

AWS/Azure/GCP サービスマッピングへ (container)

Cloud Functions とは

GCPドキュメントへ: Cloud Functions
サーバレスでのプログラム実行。Compute Engine や App Engine を用意する必要がない。 正式な対応言語は Node.js・Python3・Go。HTTP や、Cloud Storage・Cloud Pub/Sub をトリガーとして起動させることができる。2018/7 GA。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (serverlesspaas)

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

Google Cloud Storage とは

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

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (storage)

Cloud Storage Transfer Service とは

GCPドキュメントへ: Cloud Storage Transfer Service

GCS から GCS、Amazon S3 から GCS、http/https から GCS、のいずれかでファイルを転送するサービス。転送先は GCS のみ。

1回限りの転送か、1日1回N時M分の定期転送のいずれかで実行する (毎時起動や、毎月N日起動はできない)。Stroage Transfer Service 自体は無料なので、Compute Engine を立ち上げて gsutil cp や gsutil rsync を実行するより経済的かつ高速。

2019/2 現在、gsutil 等のコマンドで投入することができず、超絶使いづらい GCP コンソール (管理画面) から投入するか、Cloud SDK ライブラリ経由で自作するしかない。また、2019/2 現在、タイムアウト・エラー通知機能がないため、ミッションクリティカルな用途で使うのは微妙。

Cloud SQL とは

GCPドキュメントへ: Cloud SQL
MySQL・PostgreSQL を簡単に立ち上げることができる。また、簡単に起動・終了したり、リプリケーションやリードレプリカ (読み取り専用の複製) を作成したり、定期的なバックアップや任意時点のデータ復旧も可能。Compute Engine を立ち上げてそこで DB を動かすことに比べると、インストール・設定・パッチ適用などの工数を削減できる。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (rdbms)

Cloud Bigtable とは

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

AWS/Azure/GCP サービスマッピングへ (nosql)

Cloud Spanner とは

GCPドキュメントへ: Cloud Spanner
これまで不可能とされていた大規模なデータ分散が可能なリレーショナルデータベース。 SQL でアクセス可能で、トランザクション処理も可能。 AWS にも Azure にも同類のサービスはないので、GCP の目玉機能の一つである。

AWS/Azure/GCP サービスマッピングへ (distributed-rdbms)

Cloud Datastore とは

GCPドキュメントへ: Cloud Datastore
永続的な Key-Value ストア。 NoSQL なデータベースのスケーラブル・低遅延という利点と、 リレーショナルデータベースの ACID 特性やトランザクションのよいとこどりをしたもの。 SQL 的な書き方ができるが、JOIN 不可などの不便な点はある。 内部的には Cloud Bigtable の基盤の上にのっかっているらしい。後継サービスとして Cloud Firestore がある。

AWS/Azure/GCP サービスマッピングへ (nosql)

永続ディスク とは

GCPドキュメントへ: 永続ディスク
「永続ディスク」は Compute Engine に接続して使用するディスクのこと。AWS では EBS に相当する。 英語名は “Persistent Disk”。”PD” と略することもある。

HDD・SSD 選択可能。最大容量 64TB。 実体としてはネットワーク経由のストレージ。 基本的には AWS の EBS と同様に 1つの GCE・GKE に接続して使うものであるが、 EBS と異なり、リードオンリーの場合は複数インスタンスに接続するとでデータ共有が簡単に行える (ただし全インスタンスからリードオンリーであるため、更新はできない。使い所は限定されるだろう)。

永続ディスクに対し、スナップショットやイメージの作成が行える。

GCP・GKE に接続可能なストレージで、永続ディスク以外のものに「ローカル SSD」がある。 これは冗長性や永続性が保証されていないが、NVMe 接続ができるので超高速である。

AWS/Azure/GCP サービスマッピングへ (iaasstorage)

Cloud Memorystore とは

GCPドキュメントへ: Cloud Memorystore
オンメモリなキャッシュサービスである Redis を、GCP 上で利用可能にしたマネージドサービス。 課金は秒単位。2018/9 GA (一般利用可能)。

AWS/Azure/GCP サービスマッピングへ (cache)

Cloud Filestore とは

GCPドキュメントへ: Cloud Filestore

複数の GCE や GKE から NFS でマウントできるファイルサーバ。最大63TB。

なお、Cloud FiRestore とは別物である。

AWS/Azure/GCP サービスマッピングへ (filestorage)

Cloud Firestore とは

GCPドキュメントへ: Cloud Firestore

Cloud FiLestore とは別物である。Cloud Datastore の後継となる NoSQL 系データベース。2019/01/31 GA。

ネットワーキング

Virtual Private Cloud (VPC) とは

AWS/Azure/GCP サービスマッピングへ (network)

Google Cloud Load Balancing とは

AWS/Azure/GCP サービスマッピングへ (lb)

Cloud Armor とは

GCPドキュメントへ: Cloud Armor
Cloud Armor (クラウドアーマー) は、Global HTTP(S) Load Balancer にセキュリティ防御機能を追加する形のサービスである。 DDoS 対策機能は Global HTTP(S) Load Balancer を設定するだけで有効になる。 また、IP アドレスによる制限をかけることもでき、ホワイトリスト・ブラックリスト方式が使える。 IP アドレス制限も Global HTTP(S) Load Balancer に紐づくサービスである。 上記の DDoS と IP アドレス制限は 2018/4 現在ベータである。 さらにプライベートアルファとして WAF 機能があり、XSS や SQL インジェクションを防御できるとのこと。

AWS/Azure/GCP サービスマッピングへ (ddos)

Cloud CDN とは

GCPドキュメントへ: Cloud CDN
GCP の CDN サービス。主に画像等の静的なファイルを配置することで、 レスポンスタイム向上・サーバ負荷軽減が実現できる。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (cdn)

Cloud Interconnect とは

Cloud DNS とは

GCPドキュメントへ: Cloud DNS
DNS サービス。ドメインの Aレコードや PTR レコードなどを設定する。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (dns)

ビッグデータ

Google BigQuery とは

GCPドキュメントへ: Google BigQuery
データウェアハウス (DWH) エンジン。DWH とは「データ倉庫」の意味で、数千万件や数億万件の売上データをどーんと突っ込んで、 年齢層や地域層ごとの分析ができたりする。その場その場で切り口を変えても動作するよう、いちいちインデックスなどを張ったりしなくても、 それなりに高速に動くようになっている。 BigQuery は単なるエンジンなので、エンジニアであればブラウザ上のツールや bq コマンドで SQL を書いて分析すればよいし、 非エンジニア向けであれば Google Data Studio・PowerBI・Qlik などの一般的な BI ツールを使う。 システム連携するなら Apache Spark、Hadoop から連携できる。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (dwh)
AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)

BigQuery Data Transfer Service とは

Cloud Dataflow とは

GCPドキュメントへ: Cloud Dataflow

ある入力を元に、何かの処理をして、出力するというデータ処理を定義しておくことで、 GCE インスタンスを自動的に複数立ち上げ、分散処理をして、処理が終われば終了してくれるサービス。

「無限にデータが発生し、データ遅延・欠損がありうるストリーミングデータ」と 「範囲が限定されて確定しているバッチデータ」の両方を (ほぼ) 同じソースコードで処理できるのが特徴。 入力は Cloud Pub/SubCloud DataStore、出力は Cloud BigQueryCloud Bigtable など。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (stream)

Cloud Dataproc とは

GCPドキュメントへ: Cloud Dataproc
GCP 上で Hadoop や、Hive や、Apache Spark を簡単に使う仕組み。 何ができるかと言うと、Hadoop や Spark を使って、ビッグデータの分散処理が行える。 Hadoop は、複数マシンにデータを分散させて MapReduce ができる仕組み。 Hive は Hadoop を SQL で操作可能にする仕組み・ Spark は MapReduce 部分の代替品でオンメモリにより高速化するのが狙い。

AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)

Cloud Composer とは

GCPドキュメントへ: Cloud Composer
ジョブ・ワークフロー管理ツール。「処理 A が終わったら処理 B、それが終わったら処理 C と処理 D を平行実行して、両方の終了を待って処理 E を行う」 といったフローを定義した上で、それを手動実行したり、毎時N分や毎日N時などに定期実行することができる。

フロー定義は画面上で操作するのではなく、DAG ファイルという Python スクリプトをゴリゴリ書いて作る。 Pub/Sub・BigQuery・Dataflow・sh スクリプトなど、基本的な操作ライブラリは準備されているので、 (比較的) 簡単に書ける。エラー通知・リトライ回数・リトライインターバル等、基本的な機能は実装されている。

Cloud Composer は Apache Airflow というフリーのワークフローエンジンを GCP のマネージドサービスとして取り込んだもの。

月間 $350 程度のコストがかかることに注意。

さらなる情報は下記を参照。

AWS/Azure/GCP サービスマッピングへ (job-flow)

Cloud Datalab とは

GCPドキュメントへ: Cloud Datalab
データ分析のためのフリーのツール Jupyter Notebook を、 GCP 上で手軽に利用しやすいよう Google が改造したもの。 起動が簡単・他のユーザと情報を共有しやすい・BigQuery など Google サービスとの連携が簡単という利点がある。 Datalab には Web ブラウザでアクセスし、SQL・Python 等でコードを記述し、結果をグラフで見たりする。 Cloud Datalab 自体は無料だが、Cloud Datalab は Compute Engine 上で動作するため、 GCE の費用はかかる。また、ストレージ・BigQuery 等と連携する部分も、それらの費用はかかる。

AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)

Cloud Dataprep とは

GCPドキュメントへ: Cloud Dataprep
データの前処理を行うツール。”prep” とは「準備」という意味の英単語。 データの欠損や外れ値を探したり、 空白削除・単位変換・重複削除・不要カラム削除・列名変更・クォート削除などの細々とした変換を行ったり、 ヘッダ行追加・主キー追加などの追加作業について、 GUI の画面を操作しながら (比較的) 簡単に作業することができる。 入力は Cloud Storage や BigQuery やブラウザアップロードなど。 出力は Cloud Storage や BigQuery など。

AWS/Azure/GCP サービスマッピングへ (data-cleansing)

Cloud Pub/Sub とは

GCPドキュメントへ: Cloud Pub/Sub
フルマネージドなメッセージサービス。 あるプログラムがキューにメッセージを送信し、それを別のプログラムで受信することができる。 使い所として、処理Aの後に処理Bを実行する場合、 もちろんそのまま実行してもよいのだが、このつながりを疎結合にしたい場合、 処理Bが時間がかかるなどの理由で非同期にしたい場合、処理Bを多重処理したい場合、などに使用するとよい。

よくあるケースとしては、 ある処理の後にメール送信・PDF等のファイル生成・集計処理・データ削除・後続バッチ起動などを行いたい場合などなど。

メッセージの順序性は保証なし。 「トピック」に対する Pub (パブリッシュ) と、「サブスクリプション」に対する Sub (サブスクライブ) という 2段階からなり、「トピックA → サブスクリプション X, Y」「トピックA, B → サブスクリプション X」などと 設定することで、1対他・他対1 といったこともできる。 メッセージ取得には Pull と Push の 2通りの方法がある。

詳細は こちら

類似サービスとして Cloud Tasks がある。機能としては似ているが、
方向性としては Pub/Sub は大量のイベントデータ処理に向いている。Cloud Tasks はジョブの連携に向いている。ただし 2019/4 現在では Cloud Tasks は GAE へのキューしかないなど機能が不十分なため、しばらくは Pub/Sub をジョブ連携用に使うのがよいかもしれない。

AWS/Azure/GCP サービスマッピングへ (messaging)

Google Genomics とは

Google Data Studio とは

GCPドキュメントへ: Google Data Studio
Google が提供する BI ツール。 溜め込んだデータを分析して、画面にグラフ等でわかりやすく表示するレポートツール。 BigQueryCloud SQL・MySQL 等に対応。

競合は Tableau (タブロー) やマイクロソフトの Power BI。2019/2 現在、無料。

2018/11、「日本では DataStudio はデータポータルという名前に変わります」という謎のアナウンスがあった。おそらく商標問題と思われるが、一部地域だけ名前が変わるってアリ?

AWS/Azure/GCP サービスマッピングへ (bi-tool)

モノのインターネット (IoT)

Cloud IoT Core とは

機械学習

AWS/Azure/GCP サービスマッピングへ (iot-base)

Cloud AutoML とは

GCPドキュメントへ: Cloud AutoML
Cloud AutoML は、機械学習を簡単に扱うための仕組みである。 機械学習の知識がなくてもモデル構築ができる、というのが触れ込み。 以下、ありがちなユースケースを考えてみた。

  • あなたが料理投稿サイトを運営しているとして、 「食材や料理などの写真をアップロードするのは構わないが、いたずらでそれ以外の写真をアップロードされるのは困る。とはいえ人力ですべてチェックするわけにもいかない」 という悩みがあるとする。食材・料理の写真と、それ以外の写真を適当に集め、画面上で「これは OK」「これは NG」という結果を指定すると、 よい感じに OK/NG 判定を行ってくれる機械学習モデルを作成できる。
  • 監視カメラから画像を定期的に取得し、不審者がいる場合に通知させたいとする。ただし、車が通っただけであれば通知しないとする。 人がいる画像と、車が写っている画像、人と車が写っている画像などを準備し、それぞれ通知対象か否かを分類すると、監視通知の機械学習モデルが構築できる。

2019/3 現在では下記サービスが展開されている。

  • AutoML Vision (ベータ):画像認識サービス。Cloud Vision API の機械学習版。
  • AutoML Translation (ベータ):テキストの翻訳サービス。Cloud Translation API の機械学習版。
  • AutoML Natural Language (ベータ):テキスト分析サービス。Cloud Natural Language API の機械学習版。

それぞれ似通った既存サービスがあるが、例えば「Cloud Vision API は入力画像が同じであれば誰が使っても同じ結果を返すもの」「AutoML Vision」は機械学習結果に応じてカスタマイズできるもの、と考えるとよいだろう。

AWS/Azure/GCP サービスマッピングへ (ml)
AWS/Azure/GCP サービスマッピングへ (text-analysis)
AWS/Azure/GCP サービスマッピングへ (translation)
AWS/Azure/GCP サービスマッピングへ (image-analysis)

Cloud Machine Learning Engine とは

AWS/Azure/GCP サービスマッピングへ (ml)

Cloud TPU とは

GCPドキュメントへ: Cloud TPU
TensorFlow (テンソルフロー) という機械学習のソフトウェアライブラリがある。これは Google が開発し、オープンソースで公開しているものである。 TPU とは、”Tensor Processing Unit” の略で、Google が開発している TensorFlow を高速に実行するためのハードウェアである。 この TPU を GCP 上で使えるようにするサービスが Cloud TPU。 Compute Engine から利用するイメージと思われる。 Google 曰く、1日かかっていたトレーニング時間が Cloud TPU を使うと30分未満に短縮される、らしい。 2018/4 現在ベータであるが、1時間あたり $6.5 となっている。

AWS/Azure/GCP サービスマッピングへ (fast-ml)

Cloud Jobs API とは

GCPドキュメントへ: Cloud Jobs API
機械学習を活用し、仕事探しを自動化・高精度化するための API。 この API は転職サイト・職業マッチングサイトなどが利用する想定とのこと。 業界固有の略称などを適切に解釈 (例: “BD” を検索すると “Business Development” にマッチする)。 求職者の居住地域と希望通勤時間から適切な職場をリストアップ。 求人内容より、住所・雇用形態・福利厚生などの関連情報を自動で取り込み。 2018/1 現在、Jobs API は限定アルファ。

Cloud Natural Language API とは

翻訳結果を機械学習によりカスタマイズできるサービス。類似サービスとして AutoML Natural Language がある。

カスタマイズできない翻訳サービスは Cloud Translation API

AWS/Azure/GCP サービスマッピングへ (text-analysis)

Cloud Speech-To-Text とは

GCPドキュメントへ: Cloud Speech-To-Text
音声ファイルを元にテキストを生成する。 120 の言語に対応しており、日本語も OK。 mp3 などのファイルから分析もできるが、ストリーミングにも対応。

2018/05/05 に当ページ管理人が実施した、http://www.voice-pro.jp/announce/ にある「G-01 CM原稿(せっけん)」の音声ファイルを解析して自動生成されたテキストは下記のとおり。

“無添加のシャボン玉石鹸ならもう安心天然の保湿成分が含まれるため肌に潤いを与え健やかに保ちますお肌のことでお悩みの方はぜひ一度無添加シャボン玉石鹸をお試しください” “おまとめは012000559合まで”

⇒ 句読点がない。「お求めは」が「おまとめは」になっている。電話番号の「5595」が「559合」になっている。

続いて、「G-22 医療WEBドラマ  医師役」の結果。

“血管収縮には血管平滑筋細胞内のカルシウム濃度が関与しており血管平滑筋細胞内へのカルシウム流入をブロックすれば血管収縮を抑制できますしかし近年カルシウム流入とは独立した経路としてロックが見出され血管収縮に深く関与していることが明らかになりました”

⇒ 句読点がない以外は問題なし。

AWS/Azure/GCP サービスマッピングへ (speech-to-text)

Cloud Text-To-Speech とは

GCPドキュメントへ: Cloud Text-To-Speech
テキストを元に音声を生成する。 12言語に対応し、日本語の読み上げも OK。30種類の声 (男性・女性など) に対応。 テキストは単なる文字列でも構わないが、 SSML (音声合成マークアップ言語) で話すスピード・ピッチ (音の高低)・音量・休止などを設定可能。 出力形式は mp3・16bit PCM・Ogg Opus など。

AWS/Azure/GCP サービスマッピングへ (text-to-speech)

Cloud Translation API とは

GCPドキュメントへ: Cloud Translation API
他言語への翻訳サービス。日本語対応。 100言語程度をサポートし、どの言語からどの言語への翻訳も可能。 テキスト翻訳と HTML 翻訳が可能で、HTML の場合、特定のタグ記述により、 「ここからここまで翻訳不要」といった指定ができる。 料金は 100万文字あたり 20USD。 翻訳元の言語を指定することが望ましいが、わからない場合でも推測してくれる (ただしお金がかかる)。

機械学習によりカスタマイズできる類似サービスとして AutoML Translation がある。

AWS/Azure/GCP サービスマッピングへ (translation)

Cloud Vision API とは

GCPドキュメントへ: Cloud Vision API
GCP の画像解析サービス。与えられた画像を解析し、画像のラベル (車、女性、道路、ビルなど)、顔検出 (顔・目・鼻・口などのパーツのイチ、感情推測)、不適切画像の検出 (アダルト画像など)、テキスト検出 (OCR。日本語対応)、Web 上からの類似画像検索などの情報を提供する。

機械学習によりカスタマイズできる類似サービスとして AutoML Vision がある。

画像ではなく動画の解析サービスについては Cloud Video Intelligence API を参照。

AWS/Azure/GCP サービスマッピングへ (image-analysis)

Cloud Video Intelligence API とは

GCPドキュメントへ: Cloud Video Intelligence API

動画を解析して、シーンの切り分けを行う。例えば室内から屋外に映像が切り替わった場合、新しいシーンに移ったと判断する。そのシーンごとに「犬」「花」「ランニング」などのラベル付けを行う。また、アダルトコンテンツを含むかどうかの判定や、動画中の文字を抽出する OCR 機能などもある。

動画ではなく画像の解析サービスについては Cloud Vision API を参照。

AWS/Azure/GCP サービスマッピングへ (image-analysis)

ID とセキュリティ

Cloud IAM とは

GCPドキュメントへ: Cloud IAM

GCP の権限管理を行う仕組み。IAM は「アイアム」と発音することが多いようだ。 他のアカウントに対し、プロジェクト全体のオーナー権限・編集者権限・閲覧者権限などのロールを付与したり、 さらに細かく Compute Engine の管理者や、Compute Engine の OS ログインのみなどのロールを与えるなどの管理が可能。 さらにより詳細な権限管理ができるカスタムロールという仕組みもある。

「どのアカウント」に権限を付与するかについては、Google アカウントで特定するが、 おもしろいのは Google グループに対しても権限付与ができる。 もともと Google グループは、メーリングリストやネットニュースのようなもので、 複数人で議論などを行うサービスであるが、これを利用し、複数のアカウントをグルーピングして、 そのグループ名に対し、権限の付与が行える。

例えば

  • myproject-engenieer-production-admin … 本番環境管理者グループ
  • myproject-engenieer-production-monitor … 本番環境参照者グループ
  • myproject-engenieer-develop-admin … 開発環境管理者グループ

という Google グループを作成してそれぞれに適切なロールを付与しておき、 新規メンバ追加時は「本番環境参照者グループ」と「開発環境管理者グループ」にメンバを追加する。 本番環境のリリースやデータメンテ時のみ、「本番環境管理者グループ」に作業者を追加することで、 誤って平常時に本番環境を壊してしまうというリスクを回避できる。

また、アプリやバッチに対して権限コントロールをしたい場合、「サービスアカウント」 というものを利用する。これは「Google アカウント」のようなものであるが、 人間が使うものではなく、アプリやバッチが使うものである。 例えば DB からデータを読み取って適切な宛先にメール送信を行うというバッチがある場合、 myproject-send-mail-batch というサービスアカウントを作成し、 DB アクセスのロールは付与するが、Cloud Storage に関するロールは付与させないことで、 セキュリティを高めるといった使い方をする。

2018/1 現在、Google Cloud IAM の最大の欠点は「allow はできるが deny ができないこと」。 「このアカウントは全権限を付与するが、DB アクセスに関しては禁止」 という書き方ができず、「DB アクセス以外の全権限を付与する」という手間のかかる管理方法しか取れない。 改善を期待したい。

なお、IAM では、例えば Cloud Storage について 「管理者」「オブジェクト管理者」「オブジェクト作成者」「オブジェクト閲覧者」 といったロールの付与ができるが、 「このアカウントは、このバケットのみ閲覧可能」といった細かな制御はできない。 この場合、Cloud Storage の「アクセス制御リスト (ACL)」にて制御することになる。 Cloud Storage だけではなく、BigQuery などのストレージ系にアクセス制御リストが備わっている。

AWS/Azure/GCP サービスマッピングへ (iam)

Cloud Identity とは

Cloud Identity-Aware Proxy とは

GCPドキュメントへ: Cloud Identity-Aware Proxy

Cloud Identiy-Aware Proxy は、Compute EngineGAEGKE ・ロードバランサの前段に、認証のレイヤを挟み込むサービス。省略して Cloud IAP と書くことも多い。

下図は GAE の Web サービスについて Cloud IAP を有効化した状態で、ブラウザでアクセスしたときに表示される認証フォーム。アクセス者が Google アカウント等を持っており、Cloud IAP にてその Google アカウントが登録済みであれば、サイトにアクセスすることができる

通常の GCP の IAM と同様に、Google アカウント・Google グループ・G Suite の単位で許可登録が可能。逆に言うと、Google アカウント等を持っていないとアクセスできないので、一般向けサイトの認証などに使うものではない。管理画面などの用途にはちょうどよいのではなかろうか。

GAE・GKE 側ではどのアカウントでアクセスしているかという情報は取れるので、さらにサイト内で権限分けが必要であればアプリ側で実装するか、IAM で権限設定して IAM に権限判定をさせるとよい。

GCPチュートリアル にて、GAE との連携を説明しているので参考にしてほしい。

Cloud Data Loss Prevention API とは

GCPドキュメントへ: Cloud Data Loss Prevention API
Data Loss Prevention (DLP) は一般的な用語で、情報漏洩防止と訳される。 権限で管理するのではなく、データに着目した考え方で、 「顧客情報っぽい文字列が含まれているファイルをブラウザでアップロードしようとするとエラーとする」 とかそんな感じ (GCP の話ではなく、あくまで一般論)。

一方 GCP の DLP API は、文字列を渡すと、 電話番号・氏名・メールアドレスなどまずそうに見えるものを *** などと置換した上で返却してくれる。 090-***-*** などと一部をマスキングしたり、元に戻せる形に変換したりもできます。 どのようなフォーマットの文字列を個人情報とみなすかは指定可能。

文字列だけではなく画像に対する処理も可能で、画像データを送ると、 下記のようにどの座標領域が個人情報と思われるかという判定結果を得られる。

"quote":"(206) 555-0890",
     "infoType":{
       "name":"PHONE_NUMBER"
     },
     "likelihood":"POSSIBLE",
     "location":{
       "imageBoxes":[
         {
           "top":3,
           "left":272,
           "width":5,
           "height":21
         }],
       } 
   

AWS/Azure/GCP サービスマッピングへ (dlp)

Security Key Enforcement とは

Cloud Key Management Service とは

GCPドキュメントへ: Cloud Key Management Service
AES 鍵の生成、ローテーションが行えるサービス。各種操作についてログを記録可能。 この鍵を使ってアプリレイヤにて暗号化・復号化を行うことができる。 鍵のインポートはできない模様 (AWS Key Management Service ではできる)

AWS/Azure/GCP サービスマッピングへ (key-manage)

Cloud Resource Manager とは

GCPドキュメントへ: Cloud Resource Manager
GCP の複数プロジェクトを、会社や部門などの階層構造の上でマッピングし、 権限や請求先などを一元管理する仕組み。 GCP においては複数のプロジェクトを作成し、ばらばらに運用することもできるが、 大規模な会社でプロジェクトが数百にも達するような場合、 管理部門は突然の高額な請求、権限の不徹底によるセキュリティリスク、 勝手に作成された野良プロジェクトなどと格闘することになる。 Cloud Resource Manager を使うと、複数のプロジェクトを一覧表示できたり、 フォルダを作成して部門やサービスごとにグルーピングしたり、 フォルダに対して一括して権限管理したり、 請求先を 1つのアカウントに集約したりすることができる。

AWS/Azure/GCP サービスマッピングへ (multi-account)

Cloud Security Scanner とは

GCPドキュメントへ: Cloud Security Scanner
Google App Engine のスタンダード環境を対象とした脆弱性自動検出ツール。 検出できるのは現時点では下記のみ。

  • XSS
  • Flash インジェクション
  • http/https 混合コンテンツ
  • 安全でない JavaScript ライブラリの使用

2018/1 現在、無料。

AWS/Azure/GCP サービスマッピングへ (vulnerability)

Cloud Security Command Center とは

AWS/Azure/GCP サービスマッピングへ (advisor)

AWS/Azure/GCP サービスマッピングへ (vulnerability)

●管理ツール

Stackdriver Monitoring とは

GCPドキュメントへ: Stackdriver Monitoring
Stackdriver Monitoring は、GCP に関するいろいろなメトリックス (指標値) を収集してグラフ等で可視化するサービス。 例えば GCE であれば、CPU 使用率やメモリ使用量など。 BigQuery であれば実行クエリ数・データセットごとのテーブル数・容量・レコード数など。 また、アラートを設定することでメールや Slack 等に通知を行うことができる。

AWS/Azure/GCP サービスマッピングへ (resource-watch)

Stackdriver Logging とは

GCPドキュメントへ: Stackdriver Logging
Stackdriver Logging は、GCP におけるログの保存・閲覧・検索が行えるサービス。 クラウドサービスにおけるログは、複数のサービスでログがばらけていたり、 複数のインスタンスに散らばっているログをかき集めないとログ全体を入手できなかったりして、 なかなかやっかいな存在である。 Stackdriver Logging は GCP の各種サービスにて出力したログを集約・管理するサービスである。 集まったログは Web 画面にて閲覧・検索が行える。 GCE や GAE など、標準で Stackdriver Logging に送信するサービスもあるし、 自作アプリケーション (シェルスクリプトなども含む) から Stackdriver Loggig に 送信することもできる。 ログは任意文字列での検索、日付・時刻で範囲指定、AND/OR 条件での複雑な検索が可能。 一番うれしいのが、tail -f 相当の最新ログの追っかけができること。 Stackdriver Logging で保持できるログは、無料だと 7日間、有料だと 30日である。

AWS/Azure/GCP サービスマッピングへ (log-watch)

Stackdriver Error Reporting とは

GCPドキュメントへ: Stackdriver Error Reporting
Stackdriver Error Reporting は、Stackdriver Logging で収集したログなどを元に、 エラー情報の集計・表示を行うサービスである。 エラーを1件ずつ見るより、まずは全体を把握しましょうという方針 (と思う)。 どのエラーが何回発生したかをエラー種類ごとに集約してくれるので、 「おっ、今朝から見慣れないエラーが出ているぞ」「今日もこのエラーが出ているけれど、毎日発生しているものだから大丈夫」といったアクションが取れる。

AWS/Azure/GCP サービスマッピングへ (log-watch)

Stackdriver Trace とは

Stackdriver Debugger とは

Cloud Deployment Manager とは

GCPドキュメントへ: Cloud Deployment Manager
Cloud Deployment Manager は、JSON や Python テンプレートで記述されたテンプレートファイルを元に、 Compute Engine や App Engine 等のインスタンスを生成することができる仕組みである。 管理画面でマウスをポチポチしなくてもいいので、複数環境構築時の操作ミス防止であったり、 スケールアウトで台数を増やしたり、 サーバの設定変更を出来る限り避けるために毎回インスタンスを作り直したり (つまり Immutable Infrastructure)、 Infrastructure as Code が実現できるので git で履歴管理したり、等々がメリット。

AWS の CloudFormation と比べると、プレビュー機能があったり、複数ファイルへの分割が簡単にできたり、 少しだけ使い勝手がよいようだ。

AWS/Azure/GCP サービスマッピングへ (build-env)

Cloud Endpoints とは

AWS/Azure/GCP サービスマッピングへ (api)

Cloud Console とは

GCPドキュメントへ: Cloud Console
「Google Cloud Console」とは GCP の管理画面のこと。 GCP のサイト内では「Cloud Platform Console」という名称も見受けられるが、同じものを指しているようだ。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (admin-console)

Cloud Shell とは

GCPドキュメントへ: Cloud Shell
ブラウザ上で起動する管理用・作業用インスタンス。無料。 ボタンひとつで裏側で自動的に Compute Engine が起動し、ssh でログインした状態になる。gcloud や gsutil 等の管理用コマンドや、Java・Python・PHP・Ruby 等の実行環境、MySQL クライアントを使うことができる。 例えば、インスタンスの起動・停止・インスタンスサイズ変更や、Cloud Storage・Cloud SQL のデータ確認や更新が行える。

実体としては Ubuntu なので、vi・emacs・awk・sh スクリプト等も自由自在。 5GB の永続ストレージがある。残念ながら cron は使えない。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (shell)

Cloud Console モバイルアプリ とは

GCPドキュメントへ: Cloud Console モバイルアプリ
Android 端末や iOS 端末から、GCP の状態を確認・操作できるスマホアプリ。 アラートやログの確認、Compute Engine や Cloud SQL 等の再起動なども可能。 Compute Engine に ssh でログインもできる。

Cloud Billing API とは

Cloud API とは

GCPドキュメントへ: Cloud API
GCP の各サービスの情報取得や操作を行う API 群の総称。 実体は、Google Compute Engine API、BigQuery API など、各サービスごとの API が規定されている。 API は REST で設計されている。 最新の一部 API は、gRPC のインタフェースを持つ。 なお、API を直接叩くよりはライブラリの活用が推奨されている。 Java・.Net・Go・Javascript・Ruby・Node.js・Objective-C・PHP・Python ライブラリが用意されている。 Cloud API を叩くコマンド群については Cloud SDK を参照。

デベロッパーツール

Cloud SDK とは

GCPドキュメントへ: Cloud SDK
GCP サービスから情報取得・操作するための便利なコマンド群。 汎用的なのが gcloud コマンド。Compute Engine、 Cloud SQL、 Container Engine、 Cloud Dataproc、 Cloud DNS、 Cloud Endpoints など多くの GCP サービスの操作が可能。他に、 bq コマンド (BigQuery)、gsutil コマンド (Cloud Storage 用)、kubectl コマンドなどが Cloud SDK に含まれている。 また、Cloud API を呼ぶライブラリ群をインストールすることができる。

Google Cloud Shell では、最初から Cloud SDK がすぐに利用可能な状態になっている。 Compute Engine の主要 OS にも、すでにインストール済み (多分。要確認)。 GCP 以外の、手元の PC やオンプレミスマシンに Cloud SDK をインストールすることは可能 (Linux・Windows・MacOS 対応)。

Container Registry (GCR) とは

GCPドキュメントへ: Container Registry (GCR)
自分で作った Docker イメージを登録できる。 外部に公開することも、非公開とすることも可能。 Docker Hub などのサービスを、Google が GCP 上に持ってきたもの、と考えるとよい。 Cloud Buildや、 Jenkins・CircleCI などの継続的デリバリーツールと連動させて動かすことができる。 Docker イメージは実際は Cloud Storage に配置されるため、 利用料はその分のストレージやネットワーク料金のみである。

AWS/Azure/GCP サービスマッピングへ (docker-registry)

Cloud Build とは

GCPドキュメントへ: Cloud Build

旧名 Container Builder。フルマネージドなアプリケーションビルド・テストを担う CI/CD サービス。ビルドサーバを自前で構築する場合、EC2 インスタンスを作成し、Jenkins などをインストールすることになるが、OS などのメンテナンスの手間がかかる。Cloud Build だとビルドサーバの管理を GCP に全部おまかせできる。

Cloud Build の特徴は 1ステップ1コンテナであること。

Circle CI や Travis CI などの外部サービスを利用する手もあるが、プラベートリポジトリかつ同時ビルド数をある程度確保すると、結構なお金がかかる。

Cloud Build はインスタンスを 1コア・8コア・32コアから選択可能。1コアのインスタンスのみ、1日あたり120分までは無料 (8コア・32コアは無料枠はない)。コア数が多いインスタンスを選ぶと速くビルドが完了する (と思われる)。ソースは  GitHub などから取得できる。

AWS/Azure/GCP サービスマッピングへ (ci-cd)

Cloud Scheduler とは

GCPドキュメントへ: Cloud Scheduler
cron 的なサービス。定時実行をしたい場合、その起点となることができるサービスである。 実行タイミングは “*/5 * * * *” のように cron 書式で記述する。 対応している連携先は、Cloud Pub/SubGAE アプリケーション、一般的な HTTP/HTTPS で、 コマンドを実行することはできない。2019/3 GA (2018/11 ベータリリース)。

AWS/Azure/GCP サービスマッピングへ (scheduler)

Cloud Source Repositories とは

GCPドキュメントへ: Cloud Source Repositories
マネージドなソース管理サービス。一言でいうと「GitHub のようなもの」。 GitHub や BitBucket などの Git ホスティングサービスを利用していた人は、 使いたい機能が Cloud Source Repositories に存在するか確認したほうがよいと思う。 2018/1 現在、プルリクエストが未実装の模様。

AWS/Azure/GCP サービスマッピングへ (source)

Cloud Tasks とは

GCPドキュメントへ: Cloud Tasks

フルマネージドなメッセージサービス。 あるプログラムがキューにメッセージを送信し、それを別のプログラムで受信することができる。使い所として、処理Aの後に処理Bを実行する場合、もちろんそのまま実行してもよいのだが、このつながりを疎結合にしたい場合、処理Bが時間がかかるなどの理由で非同期にしたい場合、処理Bを多重処理したい場合、などに使用するとよい。

よくあるケースとしては、 ある処理の後にメール送信・PDF等のファイル生成・集計処理・データ削除・後続バッチ起動などを行いたい場合などなど。

メッセージの順序性は保証なし。

類似サービスとして Cloud Pub/Sub がある。機能としては似ているが、方向性としては Pub/Sub は大量のイベントデータ処理に向いている。Cloud Tasks はジョブの連携に向いている。

ただし、2019/4 現在では GAE 宛に送ることしかできないため、汎用サービスとしてはまだ不十分。そのうち Dataflow や Functions 等に送れるようになることを期待。

詳細は こちら

AWS/Azure/GCP サービスマッピングへ (messaging)

Cloud Tools for Eclipse/Visual Studio/Android Studio/IntelliJ とは

Cloud Tools for Powershell とは

Gradle App Engine Plugin とは

Maven App Engine Plugin とは

Cloud Test Lab とは

AWS/Azure/GCP サービスマッピングへ (device-test)

Transfer Appliance とは

GCPドキュメントへ: Transfer Appliance
データセンタなどに置いてある大量データを GCP に物理的に転送するためのもの。 2019/2 現在米国・カナダで利用可 (欧州も可だがベータ)。 Google から HDD (100TB または 480TB) が郵送で送られてくるので、 データセンタなどにあるオンプレミスからデータを HDD にコピーして、 Google へ HDD を送り返すと、Google が Cloud Storage にデータを上げてくれる感じ。AWS で言うところの AWS Snowball。 AWS Snowball はデスクトップ型 (と言うのだろうか) だが、Google Transfer Appliance は下記写真のようにサーバラックにマウントする形である。

AWS/Azure/GCP サービスマッピングへ (physical-storage-transfer)

その他

Cloud Launcher とは

GCPドキュメントへ: Cloud Launcher
ブラウザ数クリックで、インスタンスやサービスを立ち上げることができる。 WordPress・Redis のように、Compute Engine を立ち上げるタイプと、 SendGrid やトレンドマイクロの Deep Security のように、外部 API を使うタイプがある。 立ち上げ後は管理画面からインスタンスサイズやプラン等の変更を行える。 Compute Engine のタイプであれば、普通に ssh 等でログイン可能。 外部サービスの料金も GCP より一括して請求される。

Offline Media Import / Export とは

メモ

memo: search API, Network Service Tier Cloud Security Command Center, Access Transparency, Apigee Sence, VPC Service Controls, Regional Persistent Disk, GKE On-Prem, GKE Policy Management Knative ,Dialogflow, Shielded VMs, Container Security, Stackdriver Service Monitoring, Stackdriver Profiler, Cloud Talent Solution, Firebase Predictions, API Analytics, API Monetization, Istio on GKE, CSP Config Management, Knative, Cloud Vision Product Search, stackdriver logging sandbox

Serverless Containers on Cloud Functions → Cloud Run
GKE Serverless Add-on → Cloud Run on GKE

説明がないエントリは…
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

Leave a Reply

*

CAPTCHA