Google Cloud で Windows ワークロードの処理クラスタを構成する
このトピックでは、Windows IIS アプリケーションを移行するために Google Cloud で Google Kubernetes Engine(GKE)または GKE Enterprise クラスタを設定する方法について説明します。処理クラスタを使用して移行コンテナ アーティファクトを生成し、移行の操作とモニタリングを行います。
始める前に
処理クラスタを作成する前に、以下が必要です。
- GKE 管理者権限を持つユーザー。これらの権限は、セットアップでのみ必要です。
移行の前提条件。詳細については、Google Cloud 処理クラスタを使用した Windows IIS アプリケーションの移行の前提条件をご覧ください。
Google サービスの有効化とサービス アカウントの構成に従って環境が構成されました。
プロジェクトのデフォルトを設定する
作業を始める前に、次のことを確認してください。
- Google Kubernetes Engine API を有効にします。 Google Kubernetes Engine API の有効化
- このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化します。すでに gcloud CLI をインストールしている場合は、
gcloud components update
を実行して最新のバージョンを取得します。
Windows ワークロード用のクラスタを作成する
gcloud container コマンドを使用して、クラスタと必要なノードプールを作成します。他のフラグを使用することもできます。コマンドのドキュメントをご覧ください。
クラスタは以下の条件を満たしている必要があります。
- Google Cloud に配置されている。Google Distributed Cloud Virtual for Bare Metal は、Windows の移行ではサポートされていません。
- 1.18.10-gke.2100 または 1.19.3-gke.2100 より前の GKE バージョンを使用している場合、Google では、Compute Engine 永続ディスクの CSI ドライバを有効にして、
standard-rwo
をクラスタのデフォルトの StorageClass に設定することをおすすめします。
- 1.18.10-gke.2100 または 1.19.3-gke.2100 より前の GKE バージョンを使用している場合、Google では、Compute Engine 永続ディスクの CSI ドライバを有効にして、
--scopes
値にcloud-platform
を指定する。--enable-ip-alias
を指定してクラスタを VPC ネイティブにする。- Container-Optimized OS、Ubuntu などのオペレーティング システムを使用する。
image-type
をWINDOWS_LTSC
に設定して、移行の処理に使用する Windows ノードプールを含める。
Windows Server ノードプールを実行するクラスタを作成する場合は、Windows Server ノードプールを使用したクラスタの作成をご覧ください。作業に役立つ追加情報が記載されています。
Compute Engine ソースのクラスタについて
移行元は、移行元のプラットフォームで表します。たとえば、VMware や Compute Engine はすべて移行元のプラットフォームの種類を表します。移行処理の中で、Migrate to Containers は移行元のプラットフォームで実行されている VM からディスク イメージのスナップショットを作成します。
移行元のプラットフォームが Compute Engine の場合、特定のディスクのスナップショットは 10 分に 1 回、または 1 時間に 6 回しか作成できません。この上限を超えないようにするため、Compute Engine VM と同じゾーンにクラスタを作成することをおすすめします。クラスタが VM と同じゾーンにある場合、Migrate to Containers は、スナップショットを作成せずにディスクのクローンを作成できます。これは効率的なプロセスで、スナップショットの上限も回避できます。
上限の詳細については、こまめなスナップショットを効率的に作成するをご覧ください。
クラスタの作成
次の例では、Migrate to Containers の使用を開始するためのシンプルな処理クラスタを作成します。クラスタを構成するさまざまな方法については、クラスタ構成の選択についてをご覧ください。
より高度なネットワーク構成オプションについては、以下をご覧ください。
gcloud
コマンドには、設定可能な多くの構成オプションがあります。たとえば、ノードのマシンタイプの選択、--network
と --subnetwork
の指定、エイリアス IP アドレスの有効化などがあります。詳細については、gcloud container clusters create
をご覧ください。
クラスタを作成します。
gcloud container clusters create cluster-name \ --project project-name \ --zone=gcp-zone \ --enable-ip-alias \ --num-nodes=1 \ --machine-type=e2-standard-4 \ --cluster-version=version-number \ --network network \ --subnetwork subnetwork
必要に応じて、サンプル コマンドのパラメータを編集します。たとえば、
project
に Google Cloud プロジェクトの名前を設定し、zone
にコンピューティング ゾーンを設定します。e2-standard-2 以上の
machine-type
が必要です。移行処理で使用される Windows ノードプールを作成します。
gcloud container node-pools create node-pool-name \ --cluster=cluster-name \ --image-type=WINDOWS_LTSC_CONTAINERD \ --zone=gcp-zone \ --num-nodes=1 \ --scopes "cloud-platform" \ --machine-type=e2-standard-4
クラスタに接続します。
gcloud container clusters get-credentials cluster-name \ --zone gcp-zone --project project-name
共有 VPC でのクラスタの作成
一般的な環境では、共有 VPC を使用してクラスタを作成します。共有 VPC を使用する場合は、1 つのプロジェクトをホスト プロジェクトとして指定します。ホスト プロジェクトには他のプロジェクト(サービス プロジェクト)を接続できます。
共有 VPC 上にクラスタを作成する方法については、共有 VPC を使用したクラスタの設定をご覧ください。
限定公開クラスタの作成
限定公開クラスタを使用すると、公共のインターネットとの送受信接続からノードを隔離できます。この隔離は、ノードが内部 IP アドレスのみを持つことで実現します。
Migrate to Containers では、限定公開クラスタの使用がサポートされます。ただし、限定公開クラスタを使用する場合は、コントロール プレーン ノードがポート 9443 で Migrate to Containers インフラストラクチャ Pod に到達できる必要があります。
したがって、コントロール プレーン ノードのファイアウォール ルールにポート 9443 を追加する必要があります。詳細については、限定公開クラスタの作成をご覧ください。
次のステップ
- Migrate to Containers のインストールについて学習する。