TODO
概要  †
疑問  †
基本構成  †
- 物理的には、リージョン->ゾーン->物理サーバとなっている
- プロジェクトはリージョンに対して割り当てられている。
- プロジェクト
- 唯一の課金アカウントと結び付けられている
- プロジェクトには一般アカウントが複数ログインできる
- 逆に、それぞれの一般アカウントは、複数のプロジェクトにログインできる
- プロジェクトの権限管理はIAMとかいうものでなされる(なんの略?)
- 複数のインスタンス=サービス=VMみたいなものが、一つのプロジェクトの中で、ネットワークを構成して動いている。インスタンスそのものが別のリージョンで動いていたとしても、内部ネットワークとして利用できる
 
- プロジェクトのネットワーク
- Legacy Network = リージョンにまたがったsubnet
- Subnet Network = 単一のリージョンでのsubnet
 
- Cloud Shell
- f1-microクラス/debianのめちゃくちゃ弱いGCEの一時インスタンスの上で実行されるシェル
- 課金なし・永続5GB, ユーザごとに割り当てられていて、プロジェクトにまたがって共有される
 
用語  †
- Cloud Launcher
- 150個以上の事前ソフトパッケージをGCEにデプロイできる
 
- CAPの定理
- NoSQLで3つの性質を同時に満たすことが極めて難しいという定理
 
一般的なクラウドサービスの知識  †
- 仮想化技術
- ホスト型仮想化: 要するにVM, 手軽だがオーバーヘッドが高い
- ハイパーバイザー型仮想化: GCEではLinuxKVMが使用されている (GCEはこれが使われている)
- コンテナ型仮想化: 動作環境(ライブラリなど)を閉じ込めて、見た目独立したサーバのように動作するサービス
 
- ライフマイグレーション技術
- ハードウェアメンテンナンスのときに、「あるVM in サーバAを、in サーバBに無停止で移動する」
 
- ディスク
- 永続ディスク: ネットを介して接続されたNASみたいなもの。
- ローカルSSD: めちゃくちゃ早い(IOPSが高いという)
 
- Web三層アーキテクチャ
- Webフロントサーバ: HTTP reqを受け取って、HTTP resを返すためのサーバ
- Webアプリケーションサーバ: 本体の実行
- データベースサーバ: データの管理をする、ボトルネックになりがち
- 小規模システムでは上記をすべて兼ねることもできるし、WebフロントとWebアプリケーションを兼ねることもある(p55-58参照)
 
サービス  †
Google Computing Platform  †
Cloud Storage  †
- GAE, GCE, BQ, CDのBackend Storageとして使える
- 特徴
- ストレージタイプ
- Multi-Regional: 複数のリージョンにデータを分散
- Regional: 単一のリージョンの複数のゾーンにデータを分散
- Necling: 月一回程度のアクセス
- Cold Line: 年一回程度のアクセス
 
- GCP全体->バケット->オブジェクトの順に階層がある
- オブジェクトはたとえば画像イメージみたいなもの
- オブジェクトに対してそれを取得するためのHTTPリクエストを投げることができる
- オブジェクト自体にはディレクトリのような階層構造はないが、名前にスラッシュを入れることで擬似的にそう扱うことはできる
 
Google Cloud SQL  †
- GAE, GCEからアクセス可能
- Cloud SQL Proxyで通信経路の暗号化もできる
インスタンス設定  †
- インスタンスに"http-server"タグを付記するとHTTPにつなぐための通信許可が得られる
デプロイ  †
- 外部IPを設定して全世界に公開することもできる(!?)
初期設定  †
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud init # ちゃんとログインページに飛ばしてくれないので、リンクを手でコピペする
ssh  †
gcloud compute ssh instance-1 --zone us-central1-c
GCPでコマンドが無い時に自動終了するスクリプト  †
https://twitter.com/imos/status/923551881166602240
月2ドルとかで超安くサーバが使えるように鳴るらしい
Googleクラウド
お金がクレジットある状態だと不明瞭なのまじね。試しに使って見て、これくらいかーとなるもんじゃないの