概要
・ Google Cloud Platformの略
・ Googleのサービスで動いているインフラを使えるサービス
・ GCP上のコンピュータ資源をリソースという(仮想サーバーとか)
歴史
・2008年 GAE(Google App Engine)リリース
PaaS。簡単にdeployできるサービス。最初はPythonしかサポートしてなかったけど今はJava、PHP、Node.js、Python、C#、.Net、Ruby、Goが使える。
・2012年 BigQueryリリース
Googleのデータ分析基盤が使えるようになった。
・2013年 GCE(Google Compute Engine)リリース
・2014年 アジアリージョン誕生
・2016年 東京リージョン登場
プロジェクトと課金アカウント
プロジェクトという枠組みを作成し、その中にGCPの各サービスを入れて1つのサービスを作成する。
課金はプロジェクト単位で行われ、各プロジェクトに課金アカウントを登録する。1つの課金アカウントで複数のプロジェクトを登録できる。
リージョンとゾーン
リージョン : データセンターが大陸のどこにあるかを示す。(e.x. 東京リージョン, 東アメリカリージョン等)
ゾーン : リージョン内の具体的な場所を示す。各リージョンごとに3つゾーンがある。
日本向けサービスなら東京リージョンを選ぶ。レイテンシを気にしなくて良いなら東アメリカリージョンを使うと安い。
クォータ制限
大量課金で破産しないようにクォータという制限が最初からかかっている。
必要があれば解除申請をする。クォータはリージョンごとに申請が必要。
操作
Web管理画面, コマンド, APIから操作できる。
Google Cloud SDK
Google Cloud SDKを使ってコマンドからGCPを操作する。
Linux, macOS, Windowsで動作する。Python(3.5over or 2.7.9over)
現在はデフォルトでPython2系が使用されるが、まもなくPython3系に移行する。
Google Cloud SDKをインストールすると、gcloud, gsutil, bqコマンドが使用可能になる。
インストール
対話型インストールと非対話型インストールがある。
特定のバージョンをインストールしたい場合はバージョニングされたアーカイブを使うこと。
対話型インストール
$ curl https://sdk.cloud.google.com | bash
$ exec -l $SHELL
$ gcloud init
非対話型インストール
$ curl https://sdk.cloud.google.com > install.sh
$ bash install.sh --disable-prompts
バージョニングされたアーカイブからのインストール
Cloud SDK を CI(継続的インテグレーション)プロセスや本番環境システムの一部として使用しており、システムのパーツ間の互換性を確保するために依存関係を制御したい場合に使う。
参照。
https://cloud.google.com/sdk/docs/downloads-versioned-archives?hl=ja
アップデート
インストール済みの全コンポーネントを最新版にアップデートする。
バージョン指定することも可能。
$ gcloud components update
$ gcloud components update --version=1.2.3
コマンド形式
$ gcloud 操作カテゴリ 操作 ターゲット オプション
yesオプション
コマンドのオプションに-q (quit?)をつけるとコマンド対話時に全てデフォルトで回答してくれる。
Cloud IAM
Google Cloud Identity and Access Managment。
GCPのサービスごとに権限管理を行う。
管理者が特定のユーザーに対し権限を付与する。無料で使用可能。
メンバー
GCPリソースのアクセス権限を付与する対象
Googleアカウント : 個人
Googleグループ : 集団
G Suiteドメイン : 集団
サービスアカウント : GCPのサービスごとに用意されたアカウント
他にも全Userを表す特別アカウントがある。
役割
複数のアクセス権限をまとめたもの。
オーナー, 編集者, 参照者, 閲覧者等の役割やサービスごとに特殊な役割がある。
ポリシー
ユーザーがどのアクセス権限を持つかを表すポリシーを作成することでユーザーに役割を付与できる。
ポリシー追加
「IAMと管理」のIAMから追加/削除ができる。
最小限のポリシーのみを追加すること。
課金
利用した分だけ支払う従量課金型。
継続割引もある。
料金計算ツール
https://cloud.google.com/products/calculator/
・利用時間料金
1秒単位で課金される。
・ストレージ量料金
・データ通信量料金
通信先によっては料金がかからないものもある。データ受信, リージョン内通信(GCPサービス間通信)等は料金がかからない。ゾーン間通信をする場合は料金がかかる。
・データ処理料金
に分類される。
GCE(Google Compute Engine)
IaaS。数分で仮想マシンが立ち上がる。
・1秒単位で課金される。
・ストレージ量料金はなし。
・長期間(1ヵ月等)使用時に自動で値引き。
・高性能でスケールさせやすい。
LiveMigration
Live : 中継
Migration : 移行
再起動なしでハードウェアの移行ができる機能。
GCS(Google Cloud Storage)
Blob(Binary Large Object)用ストレージサービス
画像や動画といった静的ファイルだけでなくGCPサービスのアウトプットを保存することも可能。
プロジェクトに紐づくためプロジェクトを削除するとGCSのファイルも削除される。
バケット
データの入れ物のこと。バケットを作り、その中にデータを入れる。
バケット名は重複禁止。パケット名は一般公開される。
オブジェクト
ファイルやフォルダ等のGCS上にあるデータのこと。
1オブジェクトの最大サイズは5TB。
オブジェクト = オブジェクトデータ + メタデータ
ストレージクラス
保存するストレージの種類によって料金が異なる。
Multi-Regional : 頻繁に複数のregionからアクセスされるデータ向け。
Regional : 頻繁に単一regionからアクセスされるデータ向け。
Nearline : 月1程度にアクセスされるデータ向け。
Coldline : 年1程度にアクセスされるデータ向け。めっちゃ安い
料金
1GB/月の保存料金とダウンロード料金がかかる。
NearlineとColdlineは最低料金が設定されている(30日と90日)