Google Cloud:ネットワーク関連の特徴【後編】
前回の内容
前回の内容では、Googleの全世界で大規模につながったネットワークケーブルや100箇所以上にあるPoP、グローバル単位で作成できるVPCの話をしました。
さらに、外部リソースとGoogleリソース間のネットワーク通信についてはサービスティアが存在していて、スタンダードとプレミアムがあります。
基本はプレミアムが推奨されていますが、コスト重視のアーキテクチャの場合、スタンダードを選択するという場面もあると説明しました。
詳細については前回の記事を拝見ください。
Google Cloud:ネットワーク関連の特徴【前編】
今回はその延長線上で、どのようにリソースに関するティアの構成方法に焦点を当てて記事にしていこうと思います。
Network Service Tiers の概要を参考に解説して行きます。(また、一部自作もありますが引用画像もこちらを参考にしています)
リソース階層(ティア)の選択
Network Service Tiersはプロジェクトごと、リソースごとに適応させることができます。
【プロジェクトレベルでティアを指定】
プロジェクトレベルで階層(ティア)を指定できます。
【リソースレベルでティアを指定】
以下のように3つあります。
- 負荷分散:転送ルールに対して有効化する
- インスタンス:VMまたはインスタンステンプレートに対して有効化する
- 他のリソースレベルで有効化する
【プロジェクトのティアとリソースのティアが相反する場合】
階層がプロジェクトとリソースの両方に対して構成されている場合、そのリソースについてはリソースレベルの階層が優先されます。
【実際にティアを確認する】
実際プロジェクト単位でNetwork Service Tiersを選択する画面も載せておきましょう。
コンソールの検索窓に、network service tiersと入力すると下記画面に移ります。
赤枠の階層を変更を押下すると、ティアの選択画面移ります。(プレミアムはデフォルトで設定されています)
ティアの変更後にそのプロジェクト内のリソースのティアはスタンダードになりますが、現時点で存在するリソースはプレミアムが適応されたままのようですね。
Cloud Storageでスタンダードティアを使用する
スタンダードティアでCloud Storageを使用するためには、バケットをロードバランサーのバックエンドとして構成する必要があり、バケットは転送ルールと同じリージョンで構成しなければなりません。(スタンダードティアで異なるリージョンで構成した場合、バケットに対するリクエストでエラーが発生します。)
マルチリージョンのStorageバケットをバックエンドとして使用するには、プレミアムティアを使用する必要があります。
Cloud Strage(スタンダードティア)構成イメージ図
Network Service Tiersの構成
スタンダードで構成したリソースまたはプロジェクトをプレミアムにアップグレードすることが可能です。
下記のように、それぞれのティアのバックエンドでの構成が説明されています。
・プレミアムティアとスタンダードティアの外部IPアドレスのプールは別々に存在する
・リソースに外部IPが付与されている場合、それぞれ有効化されているティアに基づき各プールから割り当てられる
・エフェメラルIPアドレスが設定されているインスタンスの階層を変更すると、そのインスタンスのIPアドレスが変更されてしまう
・それぞれのプールのIPを他方のプールに移動することはできない
・あるリージョンのスタンダードティアのIPアドレスは、階層(ティア)が同じままであっても、別のリージョンへの移動ができない
・スタンダードで構成したリソースまたはプロジェクトをプレミアムにアップグレードすることが可能です
あるリージョンのスタンダードティアのIPアドレスは、階層(ティア)が同じままであっても、別のリージョンへの移動ができない
↑こちらは、スタンダードティアは単一リージョンでのみサポートをしているため、外部IPのリージョン移動ができないということです。
アドレス構成のイメージ図
注意しなければいけないのが、スタンンダードティアの場合は各ロードバランサーやVMは同じリージョン外部IPアドレスプールから割り当てられますが、プレミアムティアの場合は分かれています。
下記に、プレミアムティアの場合の外部IPの割り当てプールについて、公式から引用します。
プレミアム ティアでは、外部 HTTP(S) ロードバランサ、外部 SSL プロキシ ロードバランサ、外部 TCP プロキシ ロードバランサはグローバル外部 IP アドレスを使用しますが、ネットワーク ロードバランサと VM インスタンスはリージョン外部 IP アドレスを使用します。各リージョンには、グローバル外部 IP アドレスのプールとは別に、プレミアム ティア用のリージョン外部 IP アドレスのプールがあります。
スタンダードティアでロードバランサーを構築する
デフォルトではない、スタンダードティアでのロードバランサーの構築について解説します。
TCP/UDPネットワークロードバランサーを構成する
【新規作成(TCP/UDP)】
ロードバランサーのIPアドレスと転送ルールを作成するときに、スタンダードティアを指定することで使用可能です。
(また考慮事項として、TCP/UDPロードバランサーはグローバルルーティングをサポートしていません)
【スタンダード→プレミアムに変更の場合(逆も同様)】
既存のロードバランサーをプレミアムティア(デフォルト)からスタンダードティアに変更する場合には、既存のロードバランサーの転送ルールを削除してから、既存のターゲットプールを新しい転送ルールで作成する必要があります。また、Network Service Tiersの構成で説明したように、この場合にも変更したスタンダードティアの転送ルールに、スタンダードティアのIPアドレスを使用する必要があります。
HTTP(S)やTCP/SSLプロキシロードバランサーを構成する
【プレミアムティアのグローバルルーティング】
その前に比較対象としてプレミアムティアのグローバルルーティングにも触れておきます。
HTTP(S)、TCP/SSLプロキシロードバランサーはグローバルルーティングをサポートしているため、1つの外部IPアドレスでそれぞれのバックエンドにルーティングすることが出来ます。
ただしプレミアムティアのみであり、スタンダードティアのバックエンドはリージョン単位になります。
グローバルルーティング構成のイメージ図
【新規作成(HTTP[S],TCP/SSL)】
単一のGoogleCloud リージョンを選択し、リージョン外部IPアドレスとリージョン転送ルールを使用する必要があります。
また先程も触れましたが、バックエンドは選択したリージョン内に配置する必要がありますが、ロードバランサーは外部IPアドレスを使用するので、クライアントはインターネット上のどこからでもそのロードバランサー宛てに通信を行えます。
【注意事項引用】
重要: スタンダード ティアでは、HTTP(S)、SSL プロキシ、外部 TCP プロキシのロードバランサーの動作を変更し、他のクラウド プロバイダと同様に動作するようにします。これらのタイプのロードバランサーは、スタンダード ティアでは、複数の Google Cloud リージョンで動作できません。
スタンダードティアを使用する条件についてまとめます。
・スタンダードティアのリージョンIPアドレスを使用する
・スタンダードティアのリージョン転送ルールを使用する
・転送ルールが存在するリージョン内にのみバックエンドを持つことができる
スタンダードティアの通信構成
個別リージョンでの構成の場合
個別リージョンでの構成についてまとめます。(LBはリードバランサーの略)
・個々のLBで独自のリージョン外部 IP アドレスを所持
・個々のIPアドレスと転送ルールに使用されるリージョンは、バックエンドVMが配置されたリージョンと同じ
・リージョン外部IPアドレスのネットワーク階層を「スタンダード」と指定する
まとめ
今回もNetwork Service Tiersについての内容をブログにしました。
スタンダードティアについてはリージョンごとに外部IPと単一ロージョン限定のバックエンドを必要とする、というのが特徴的だなと思いました。
グローバル配信ができないため、大規模なユーザー向けのサービスを提供するとなるとプレミアムティア(デフォルト)のネットワークが必須になるということですね?
最後に、プレミアム ティアとスタンダード ティアのまとめもご覧になってください。
また、ブログ記事では端折った情報も公式サイトでは書かれているので、興味ある方は拝見ください。
最後に
前職が元パーソナルトレーナーであったため、ダイエット情報や筋トレ情報を積極的に配信したいと思っています!!IT=脳=運動=体調管理⇒全ては繋がっています。
【タンパク質の選び方】
今回は環境や時間によるタンパク質の選び方について箇条書きにしたいと思います。
・運動後:ホエイプロテインor固形の食事でもOK(15分後〜あたりが理想)
・運動中:アミノ酸+糖質(吸収率とエネルギーの補給を考慮)
・寝る前:ソイ、カゼインプロテインまたは比較的消化の良いタンパク質(就寝中の筋分解を防ぐため)
ただし、寝る前のタンパク質摂取により睡眠の質が低下してしまう可能性もあるので、ご自身の体と相談して決めてください!!