クラスタの削除

このページでは、Game Servers クラスタを削除する方法について説明します。

始める前に

始める前に、Game Servers の概要の主なコンセプトを理解しておくことをおすすめします。次のタスクを完了していることも確認してください。

  • Game Services API が有効になっていることを確認します。
  • Game Services API を有効にする
  • Cloud SDK がインストールされたシェルを選択するか、API クライアントを使用します。
  • Cloud Shell

    Cloud Shell を起動するには、次の手順に従います。

    1. Google Cloud Console に移動します。

      Google Cloud Console

    2. コンソールの右上隅にある [Cloud Shell をアクティブにする] ボタン をクリックします。

    コンソールの下部にあるフレーム内で Cloud Shell セッションが開きます。このシェルを使用して、gcloud コマンドを実行します。

    ローカルシェル

    gcloud をインストールするには、Cloud SDK をインストールします。これには、gcloud コマンドライン ツールが含まれています。

    gcloud コマンドライン ツールに必要なデフォルトのプロジェクトが設定されていることを確認します(設定されていない場合、後でコマンドごとに --project フラグを明示的に指定する必要があります)。

    gcloud config list project
    

    デフォルト プロジェクトを設定していない場合は、次のコマンドを実行して、デフォルト プロジェクトを設定します。project-id は、設定するプロジェクト ID に置き換えてください。

    gcloud config set project project-id
    

    次のコマンドを実行して、Google Cloud SDK のバージョンを確認します。Game Servers では、バージョン 306.0.0 以降の SDK が必要です。

    gcloud version
    

    インストールを更新するには、次のコマンドを実行します。

    gcloud components update
    

    クライアント ライブラリ

    Google Cloud Game Servers は、クライアント ライブラリを使用して、プログラムで制御できます。ライブラリと認証の手順については、クライアント ライブラリの概要をご覧ください。

クラスタの削除

Game Servers クラスタを削除しても、クラスタ内のリソースは削除されません。

gcloud コマンド

Game Servers のグローバル クラスタまたはリージョン クラスタを削除するには、gcloud コマンドライン ツールを使用します。

グローバル クラスタを削除するには:

  1. 次のコマンドを実行します。clusterIDrealmID などのプレースホルダ値は、適切な値に置き換えます。

    gcloud game servers clusters delete clusterID --realm=realmID --dry-run
    

    クラスタを削除する前にオペレーションをプレビューできるように、出力では targetState が返されます。

  2. クラスタを削除するには、次のコマンドを実行します。

    gcloud game servers clusters delete clusterID --realm=realmID --no-dry-run
    

リージョン クラスタを削除するには:

  1. 次のコマンドを実行します。clusterID などのプレースホルダの値は、適切な値に置き換えます。

    gcloud game servers clusters delete clusterID --realm=realmID --location=region --dry-run
    

    クラスタを削除する前にオペレーションをプレビューできるように、出力では targetState が返されます。

  2. クラスタを削除するには、次のコマンドを実行します。

    gcloud game servers clusters delete clusterID --realm=realmID --location=region --no-dry-run
    

変数のプレースホルダは、次の説明のとおりです。

  • clusterID は、このクラスタに指定した一意の ID です。
  • realmID は、このクラスタの親レルムに指定した一意の ID です。
  • region は、クラスタのリージョンです(該当する場合)。親のレルムと同じロケーションを選択します。

Go


import (
	"context"
	"fmt"
	"io"

	gaming "cloud.google.com/go/gaming/apiv1"
	gamingpb "google.golang.org/genproto/googleapis/cloud/gaming/v1"
)

// deleteCluster unregisters a game server cluster.
func deleteCluster(w io.Writer, projectID, location, realmID, clusterID string) error {
	// projectID := "my-project"
	// location := "global"
	// realmID := "myrealm"
	// clusterID := "mycluster"
	ctx := context.Background()
	client, err := gaming.NewGameServerClustersClient(ctx)
	if err != nil {
		return fmt.Errorf("NewGameServerClustersClient: %v", err)
	}
	defer client.Close()

	req := &gamingpb.DeleteGameServerClusterRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/realms/%s/gameServerClusters/%s", projectID, location, realmID, clusterID),
	}

	op, err := client.DeleteGameServerCluster(ctx, req)
	if err != nil {
		return fmt.Errorf("DeleteGameServerCluster: %v", err)
	}
	err = op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("Wait: %v", err)
	}

	fmt.Fprintf(w, "Cluster deleted.")
	return nil
}

Node.js

const {
  GameServerClustersServiceClient,
} = require('@google-cloud/game-servers');

const client = new GameServerClustersServiceClient();

async function deleteGameServerCluster() {
  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  // const projectId = 'Your Google Cloud Project ID';
  // const location = 'A Compute Engine region, e.g. "us-central1"';
  // const realmId = 'The ID of the realm to locate this cluster in';
  // const gameClusterId = 'The unique ID for this Game Server Cluster';
  const request = {
    // Provide full resource name of a Game Server Realm
    name: client.gameServerClusterPath(
      projectId,
      location,
      realmId,
      gameClusterId
    ),
  };

  const [operation] = await client.deleteGameServerCluster(request);
  await operation.promise();

  console.log('Game Server cluster deleted');
}

deleteGameServerCluster();

Python

def delete_cluster(project_id, location, realm_id, cluster_id):
    """Deletes a game server cluster."""

    client = gaming.GameServerClustersServiceClient()

    request = game_server_clusters.DeleteGameServerClusterRequest(
        name=f"projects/{project_id}/locations/{location}/realms/{realm_id}/gameServerClusters/{cluster_id}",
    )

    operation = client.delete_game_server_cluster(request)
    print(f"Delete cluster operation: {operation.operation.name}")
    operation.result(timeout=120)

クラスタが削除されたことを確認する

gcloud コマンドライン ツールを使用して、グローバル クラスタまたはリージョン クラスタを一覧表示し、クラスタが正常に削除されたことを確認します。

すべてのクラスタを一覧表示するには、次のコマンドを実行します。

gcloud game servers clusters list

リージョン内のクラスタを一覧表示するには、次のコマンドを実行します。region は、クラスタを一覧表示するリージョンに置き換えます。

gcloud game servers clusters list --location=region

レルム内のすべてのクラスタを一覧表示するには、次のコマンドを実行します。realmID は親レルムに、region はクラスタのリージョンに置き換えます(該当する場合)。

gcloud game servers clusters list --realm=realmID --location=region

削除したクラスタは、コマンドの出力に表示されなくなります。

次のステップ

Game Servers の概要の主なコンセプトについて学習する。