VM の名前を変更する


仮想マシン(VM)インスタンスを作成する場合は、名前を指定する必要があります。VM の作成後、必要に応じて名前を変更できます。VM 名の変更は、次のシナリオで役に立つ場合があります。

  • VM で実行されているワークロードをより適切に表す。
  • VM で実行されているオペレーティング システムを参照する。
  • 組織で求められる命名規則を遵守する。

VM ユニフォーム リソース識別子(URI)

VM の名前を変更すると、プロジェクトに影響する可能性があります。インスタンス リソースを名前で参照するのではなく、永続的な URI で参照できます。URI の形式は次のとおりです。

projects/PROJECT_ID/zones/ZONE/instances/VM_ID

URI には次の値が含まれます。

  • PROJECT_ID: VM が配置されているプロジェクトのプロジェクト ID。

  • ZONE: VM が配置されているゾーン。

  • VM_ID: 既存の VM の ID。既存の VM の ID を表示するには、VM の詳細を表示し、id フィールドの値を確認します。

料金

VM の名前を変更しても、請求額は変わりません。また、請求書には、VM の名前ではなく在庫管理単位(SKU)で表示されるため、VM の名前は請求書上で確認できません。

制限事項

VM の名前の変更には、次の制限事項が適用されます。

  • 自動的に命名されたリソース:

    • VM の名前を変更しても、元の VM 名に基づくリソース名は更新されません。たとえば VM の作成時に、ブートディスクの名前は VM の名前と同じになります。VM の名前を変更しても、ブートディスクの名前は変更されません。
  • DHCP サーバー:

    • インスタンスの名前を変更すると、DHCP サーバーは更新されたホスト名で DHCP リクエストに応答します。グローバル DNS の場合は HOSTNAME.c.PROJECT_ID.internal の形式を使用し、ゾーン DNS には HOSTNAME.ZONE.c.PROJECT_ID.internal の形式を使用します。詳細については、内部 DNS 名のタイプをご覧ください。
  • Google Cloud コンソール:

    • VM の名前を更新するには、Google Cloud コンソールでブラウザを更新する必要があります。
  • ホスト名:

    • ホスト名は、インスタンスの名前を変更すると変更されます。Windows では、ホスト名の更新時に再起動が必要になる場合があります。

    • カスタムホスト名を持つインスタンスは更新されません。

    • ホストで直接ホスト名を変更しても、VM リソースの名前には影響しません。

  • マネージド インスタンス グループ:

    • マネージド インスタンス グループ(MIG)内のインスタンスの名前は、ステートレスの MIG の base instance name プロパティから自動的に継承され元に戻すことができないため、変更できません。
  • 命名規則:

    • VM の名前を、プロジェクト内の別の VM ですでに使用されている名前に変更することはできません。

    • インスタンス名は、リソースの命名規則に従う必要があります。

  • VM の状態:

    • 名前を変更する前にインスタンスを停止します。名前を変更できるのは TERMINATED 状態の VM のみです。たとえば、SUSPENDED 状態の VM の名前を変更することはできません。

準備

  • 以下を確認し、必要に応じて更新します。
    • Cloud Monitoring のグループ、グラフ、アラート: Monitoring は文字列と一致します。VM の名前を変更しても、これらの文字列は更新されません。VM の名前を変更する場合は、Monitoring ルールを更新して、名前が変更された VM をレポートに含めるようにします。
    • コンソール URL: VM の名前を変更すると、コンソール URL が変更されます。VM の名前を変更する場合は、VM のコンソール URL を参照するリンク(ブラウザのブックマークなど)を更新します。
    • Identity and Access Management(IAM)の条件付きロール バインディング: 条件付きロール バインディングでは、リソースの名前に関する権限を付与できます。たとえば、VM の名前が特定の文字列で始まる場合、IAM がユーザーにロールを付与する可能性があります。VM の名前を変更しても、これらのバインディングは更新されません。接頭辞付きの名前が適用されている一連の VM を変更するため、VM リソースに対するユーザーのアクセス権に影響する可能性があります。VM の名前を変更する場合は、これらのバインディングを更新します。
    • 内部 DNS サービス キャッシュ: 内部 DNS サービスは、内部 DNS 名を VM に割り当てます。ホスト名は、グローバル DNS の場合は HOSTNAME.c.PROJECT_ID.internal、ゾーン DNS の場合は HOSTNAME.ZONE.c.PROJECT_ID.internal の形式です。VM の名前を変更すると、これらのホスト名が変更されます。その後、内部 DNS サービスが新しいホスト名への解決を開始し、以前の DNS 名へのリクエストは失敗します。VM の名前を変更する場合は、DNS キャッシュを更新してホスト名を更新する必要があります。グローバル DNS ホスト名とゾーン DNS ホスト名の詳細については、内部 DNS 名のタイプをご覧ください。
    • メタデータ クエリ: VM の名前を変更した後、メタデータ サーバーは新しい名前を報告します。VM の名前を変更する場合は、メタデータ サーバーにクエリを行うスクリプトまたはプログラムを更新して、VM の新しい名前をクエリするようにします。
    • 外部 IP アドレスを制限する組織のポリシー: 外部 IP アドレスを持つ VM への制約は、VM 名を参照します。VM の名前を変更しても、この制約は更新されません。VM の名前を変更する場合は、外部 IP 組織ポリシーを VM の新しい名前で更新します。
    • SQL Server のホスト名: SQL Server をホストする VM の名前を変更する場合は、SQL Server の VM 名を更新する必要があります。詳細については、SQL Server のスタンドアロン インスタンスをホストするコンピュータの名前変更をご覧ください。
  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

必要なロール

VM の名前の変更に必要な権限を取得するには、Compute インスタンス管理者(v1) roles/compute.instanceAdmin.v1)プロジェクトに対する IAM ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理に関する記事をご覧ください。

この事前定義ロールには、VM の名前を変更するために必要な compute.instances.setName 権限が含まれています。

カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。

VM の名前を変更する

名前を変更できるのは、TERMINATED 状態の停止した VM のみです。

コンソール

VM の名前を変更するには、次の操作を行います。

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [名前] 列で、VM の名前をクリックします。

  3. まだ停止していない場合は、次の手順で VM を停止します。

    1. [停止] をクリックします。

    2. [停止] をクリックして確定します。

      VM の停止が完了するまでに、最大で 90 秒かかることがあります。

  4. [ 編集] をクリックします。

  5. [VM インスタンス名] フィールドに、VM の新しい名前を入力します。

  6. [保存] をクリックします。

    VM の名前の変更が完了するまでに 1 分ほどかかることがあります。VM の名前を変更した後に、Google Cloud が VM を検出できないというエラーが表示された場合は、ブラウザを更新します。

  7. 必要に応じて、 [開始 / 再開] をクリックして VM を再起動します。

gcloud

VM の名前を変更するには、次の操作を行います。

  1. まだ停止していない場合は、VM を停止します。

  2. VM の名前を変更するには、gcloud compute instances set-name コマンドを使用します。

    gcloud compute instances set-name VM_NAME \
        --new-name=NEW_VM_NAME \
        --project=PROJECT_ID \
        --zone=ZONE
    

    次のように置き換えます。

    • VM_NAME: 既存の VM の名前。

    • NEW_VM_NAME: 指定した VM の新しい名前。

    • PROJECT_ID: VM が配置されているプロジェクトのプロジェクト ID。

    • ZONE: VM が配置されているゾーン。

    VM の名前の変更が完了するまでに 1 分ほどかかることがあります。

  3. 必要に応じて、VM を再起動します。

REST

VM の名前を変更するには、次の操作を行います。

  1. まだ停止していない場合は、VM を停止します。

  2. VM の名前を変更するには、instances.setName メソッドPOST リクエストを送信します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setName
    
    {
      "currentName": "VM_NAME",
      "name": "NEW_VM_NAME"
    }
    

    次のように置き換えます。

    • PROJECT_ID: VM が配置されているプロジェクトのプロジェクト ID。

    • ZONE: VM が配置されているゾーン。

    • VM_NAME: 既存の VM の名前。

    • NEW_VM_NAME: 指定した VM の新しい名前。

    VM の名前の変更が完了するまでに 1 分ほどかかることがあります。名前の変更のステータスをモニタリングするには、rename API から返されたオペレーション ID をポーリングします。詳細については、API レスポンスの処理をご覧ください。

  3. 必要に応じて、VM を再起動します。

次のステップ