受講前に
たくさん出てくるので知っておくべき用語
エフェメラル : 束の間の、儚い、短命な
GCPの使用
GCPのクライアントライブラリは2種類
- App API : サービスへのアクセス
- Admin API : リソース管理機能
管理にはモバイルアプリも使える。
Virtual Private Cloud
GCPのVPCを使用するとリソースのプロビジョニングと相互接続/分離が可能
GCP内やGCPとオンプレミスまたはたのクラウド間できめ細やかなネットワークポリシーの設定が可能
プロジェクト、ネットワーク、サブネットワーク
ネットワークには3タイプある
- デフォルト
- プロジェクトにあらかじめ設定されている
- 各リージョンに1つのサブネットが割り当てられている
- CIDRブロックは重複を許可しない
- ファイアウォールルールはあらゆる場所からのICMP,RDP,SSH上りトラフィックを許可
- 自動
- 各リージョンに1つのサブネットが自動的に作成される。一連の定義済みIP範囲が使用される
- カスタムモードに変換できる
- 本番向けではない。
- カスタム
- 自動的にサブネットは生成されない
- サブネットとIP範囲を完全に制御できる
- 自動モードに変換できない
ネットワークはサブネットの組み合わせにすぎない
IPアドレス
-
内部アドレス
- DHCPによって内部で割り当てられる
- VMとVMが依存するサービス全てに割り当てられる
- 同じネットワーク内のホストのURLとVM名は変換できる
- 違うネットワークの内部IPアドレスに接続するにはVPCピアリングやVPNなどのメカニズムが必要
-
外部アドレス
- 外部に対応する場合、割り当てることができる。オプション。
- プールから割り当てるとエフェメラルアドレスになる
- 予約済みのIPアドレスを割り当てると静的アドレスになる。予約済み外部IPアドレスは課金対象
一般的なネットワーク設計
- 可用性を高めるには2つのVMをそれぞれ別のゾーンに配置する。同じサブネット内のゾーン。
- 複数リージョンに配置すればさらに耐障害性を強化できる
- HTTPロードバランサを使えばユーザの近くのリージョンにトラフィックをルーティングできる
Compute Engine
- 事前定義とカスタムのマシンタイプどちらでもメモリ容量とCPUの数を選択できる
- カスタムマシンは通常費用が高め。カスタムマシンに近い仕様の標準マシンがある場合は標準マシンの仕様を検討すべし
- ディスクタイプ
- 標準ハードドライブ
- SSD
- ローカルSSD
- インスタンスを停止または削除するとデータは消える
- 通常スワップディスクとして使われる
- 混合
- 永続ディスクを選択すると同じディスクサイズ容量が提供される
VMアクセスとライフサイクル
- Windowsインスタンスでは作成者はGCPコンソールでユーザ名とパスワードを生成できる。そのユーザを使えば誰でもRDPクライアントでインスタンスに接続できる
- VMをリセットするとメモリデータが消去され、VMが初期状態にリセットされる。リセット中はインスタンスは起動したまま
- VMを終了するとメモリとCPUリソースの料金は発生しない。ただし接続済みディスクと予約済みIPアドレスの料金はかかる
ディスクオプション
- 永続ディスク
- マシンには物理的に接続されない。VMが停止しても存続できる
- VM実行中でも動的にサイズ変更できる(拡張のみ。縮小は不可。)
- 読み取り専用モードで複数のVMに接続できる
- 再起動とスナップショットの作成が可能
- 容量を重視する場合はHDDの永続ディスクがおすすめ
- ローカルSSD
- エフェメラル
- 高いパフォーマンスが必要な場合はローカルSSDがおすすめ
- RAMディスク
- エフェメラル
ディスクI/Oスループットを高くしようとするとネットワークの下りまたは上りのスループットとも競合する
VMに接続するドライブ数を増やす場合はこの点に注意
その他
Cloud Shell では .profileファイルに起動時のコマンドを書くと起動時に必ず実行されるので環境変数などを永続化したい場合に便利。