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クラウド
お金がクレジットある状態だと不明瞭なのまじね。試しに使って見て、これくらいかーとなるもんじゃないの