内容と見た目
@ito-yusaku 氏の
https://qiita.com/ito-yusaku/items/f5ece0b4aac11a0c8b52
素晴らしい先行記事をリスペクトしたものです。
※CloudArmorについて追記
GCP何から勉強したらいい?
誰向けの記事か?
- 新しく入った会社でGCPっての使ってるらしいぜ。
- 今度GCPっての触ることになったんだ。
- AWSはいじってたけどGCPは初めてなんだよなー。
的な人の役に立てたらな。という内容です。
タグを付けるにも、#AWSは8543件、#gcpは473件と、まさに桁違いの差があるのでみんなもっとGCP触ると良いよ!
解説
科目の内容はどちらかというと、個人でアプリをモリモリ書いてる人というよりは、既存データセンタでインフラ構築をしていたものをクラウドに持ってくる人寄りです。
- 必修科目 :最初にきっちり決めておくべきもの。後からの変更はかなりの労力を伴う。
- 重要科目 :サービスを構築する上でほぼ必須なもの。
- 選択科目 :単にサービス提供するだけでなく、プラスアルファで役に立つもの。
必修科目の内容説明
Stackdriver
・Monitoring (リソースの利用率などがグラフで可視化される。Datadogのような。
・Logging (プロジェクト内のあらゆるログが集約できる。fluentdのような。というか収集システムはほぼそのもの。
・Trace (アプリからデータを収集してリアルタイムで可視数値化。KibanaやNewrelicのような。
ポイントとしてGCP内のリソースだけではなく、AWSなどのデータも収集できる。
Cloud IAM
・IAM (メールアドレスをユーザー単位として、GCPリソースへの細かいアクセス制限ができる。
G Suiteと連携するとアカウント管理が一元化できて便利。GoogleGroupsも利用可能。
・Quotas (プロジェクト単位で利用可能なリソースを拡張できる。
デフォルトでは割と狭い設定になっている。事故でインスタンス1000個作って破産!とかを防ぐ。
オートスケールを使うようなサービス規模になる場合はCPU数やDisk容量上限に注意。申請すればすぐ上がります。
・Service accounts (外部アプリと連携するようなJSONキーやP12証明書発行ができる。
Cloud Network
・VPC networks (基本的なネットワーク構成を行う。
リージョン毎や必要な単位にローカルIPサブネットを細かく作成できる。旧来の第三層までの構築に近い。
Cloud Firewall Rules
・Firewall rules (その名の通り通信ルールを設定する。AWSと違い、内部→外部はデフォでフルオープン。
ハードウェアのFW機器を設定したことのある人にとっては直感的で解りやすい。
Compute Engine
・VM instances (仮想サーバを作成できる。
AWSと違い、サーバのスペックは決められた選択肢だけでなく、CPUコアやメモリ量を細かく変更可能。
・Storage (インスタンスにマウントされるディスクを作成。EBSの内容はこちらに含まれる。
HDDとSSDを選べるが、速度は容量に比例する(上限はある)のでHDD10GBとかにすると悲しいほど遅いので注意。
その他項目のピックアップ
Cloud Storage
読んだまま、いわゆるクラウドストレージ。ほぼそのまんまS3。バケット名は全世界で一意の物なので早い者勝ち。
※test とか infra とかのバケット名は誰かが作ってあるので作成できない
東京リージョンでもGB単価はS3よりわずかに安い。
個人でも消えては困るバックアップファイルを置いておくのに便利。#全世界オープンはしないように・・・
Cloud SQL
現時点ではMySQL互換のみ。5月からPostgreSQLに対応する模様。
使いやすく性能も十分だが、Google側の都合でアップデートによる通信断時間が発生する。時間は大まかに指定可能。
24時間稼働するサービスで利用する場合は、通信断が数分発生しても大丈夫な構造にする必要がある。
Cloud Load Balancing
そのまま、ロードバランサ。複数のWebサーバで構成されるようなサービスを作る際はほぼ必須。
ELBと違う点は、FWがLBの後ろにあるのでアクセス制限がFWで一切できないこと。
※追記
CloudArmorという機能が追加されており、LBでのアクセス制御ができるようになっています。利用例のリンクはこちら
※https://qiita.com/ikutaN/items/e29c07413b78ca8c2fb9
バランシングする必要があるが社内向けである、などクローズドなサービスを作るときは工夫が必要。
複数のリージョンに跨がるような構造を1つのLBで作成できるので、従来のオンプレでは考えられなかったような構築ができて楽しい。
Cloud Image
※Compute Engineの Images に含まれる
作成したインスタンスをテンプレートとして保存できる。
推奨ではないが起動中のインスタンスをそのままいきなりイメージ化する事も可能。
インスタンス自身のちょっとしたバックアップはスナップショットでよい。
ざっと駆け抜けましたが、お役に立てれば幸いです。
BigQueryは言うほど触ってなくて解説にはいたらず。もうちょい勉強が必要。。