外部 IPv4 アドレスを別のプロジェクトに移動する
静的外部 IPv4 アドレスは Google Cloud プロジェクトに関連付けられ、そのプロジェクト内でのみ使用できます。ただし、プロジェクト間で静的外部 IPv4 アドレスを移動することはできます。
IAM のロールと権限
リージョン IP アドレスを移動するには、次の権限が必要です。
- ソース プロジェクトの
compute.addresses.delete
- 宛先プロジェクトの
compute.addresses.create
グローバル IP アドレスを移動するには、次の権限が必要です。
- ソース プロジェクトの
compute.globalAddresses.delete
- 宛先プロジェクトの
compute.globalAddresses.create
これらの権限を含むロールの例:
- Compute 管理者(
roles/compute.admin
) - Compute ネットワーク管理者(
roles/compute.networkAdmin
) - Compute パブリック IP 管理者(
roles/compute.publicIpAdmin
)
始める前に
IP アドレスの移動先となるプロジェクトが存在することを確認します。そうでない場合は、プロジェクトを作成します。
ターゲット プロジェクトで Compute Engine API を有効にします。
ターゲット プロジェクトに、移行する IP アドレスの適切な割り当てに十分な容量があることを確認します。
- リージョン外部 IP アドレスの場合は、静的 IP アドレスの割り当てを確認します。
- グローバル外部 IP アドレスの場合は、静的 IP アドレスのグローバル割り当てを確認します。
移動する IP アドレスに次の属性があることを確認します。
- アクセスタイプが外部。
- IP バージョンは IPv4。
IP アドレスは予約済みであり、エフェメラルではない。
IP アドレスを予約するには、新しい静的外部 IP アドレスを予約するをご覧ください。
IP アドレスがリソース(VM インスタンスや転送ルールなど)によって使用されていない。
IP アドレスの割り当てを解除するには、静的外部 IP アドレスの割り当て解除をご覧ください。
制限事項
ロケーションごと、プロジェクトごとに 1 分あたり 1 つの IP アドレスを移動できます。
例:
- プロジェクトごとに 1 分あたり 1 つのグローバル IP アドレスを移行できます。
- 1 分あたり
us-central1
で 1 つのリージョン IP アドレスを移動できます。
IP アドレスの割り当てを解除した場合は、しばらく待ってから移動する必要があります。
- グローバル IP アドレスの場合は 10 分待ちます。
- リージョン IP アドレスの場合は、20 分待ちます。
外部 IPv4 アドレスを別のプロジェクトに移動する
リージョンまたはグローバルの外部 IPv4 アドレスをプロジェクト間で移動できます。IP アドレスを移動すると、デフォルトでリソースに同じ名前と説明が割り当てられます。ただし、新しい名前または説明を割り当てることは可能です。リージョン アドレスのリージョンは変更できません。
gcloud
コマンド オプションは、リージョン IP アドレスとグローバル IP アドレスのどちらを使用するか、またアドレス名や説明をそのまま保持するかどうかによって異なります。次の例では、これらの組み合わせの一部について説明します。
リージョン外部 IPv4 アドレスを別のプロジェクトに移動します。
gcloud alpha compute addresses move ADDRESS_NAME \ --target-project=TARGET_PROJECT \ --region=REGION
リージョン外部 IPv4 アドレスを別のプロジェクトに移動し、新しいプロジェクトに新しい名前と説明を割り当てます。
gcloud alpha compute addresses move ADDRESS_NAME \ --target-project=TARGET_PROJECT \ --new-name=NEW_NAME \ --description=NEW_DESCRIPTION \ --region=REGION
グローバル外部 IPv4 アドレスを別のプロジェクトに移動します。
gcloud alpha compute addresses move ADDRESS_NAME \ --target-project=TARGET_PROJECT \ --global
次のように置き換えます。
ADDRESS_NAME
: 移動する IP アドレス リソースの名前。TARGET_PROJECT
: IP アドレスの移動先となるプロジェクトの名前または ID。REGION
: IP アドレスのリージョン。NEW_NAME
: 新しいプロジェクトの IP アドレス リソースの新しい名前。NEW_DESCRIPTION
: 新しいプロジェクトの IP アドレス リソースの新しい名前。省略した場合は、既存の説明(存在する場合)がリソースに使用されます。
詳細については、gcloud compute addresses
move
リファレンス ドキュメントをご覧ください。
API
リクエストの詳細は、リージョン IP アドレスとグローバル IP アドレスのどちらを移動するのかと、アドレス名や説明を保持するかどうかによって異なります。次の例では、これらの組み合わせの一部について説明します。
リージョン外部 IPv4 アドレスを別のプロジェクトに移動します。
POST https://www.googleapis.com/compute/alpha/projects/SOURCE_PROJECT/regions/REGION/addresses/ADDRESS_NAME/move { "destination_address": "projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME", }
リージョン外部 IPv4 アドレスを別のプロジェクトに移動し、新しいプロジェクトに新しい名前と説明を割り当てます。
POST https://www.googleapis.com/compute/alpha/projects/SOURCE_PROJECT/regions/REGION/addresses/ADDRESS_NAME/move { "destination_address": "projects/TARGET_PROJECT/global/addresses/NEW_NAME", "description": "NEW_DESCRIPTION", }
グローバル外部 IPv4 アドレスを別のプロジェクトに移動します。
POST https://www.googleapis.com/compute/alpha/projects/SOURCE_PROJECT/global/addresses/ADDRESS_NAME/move { "destination_address": "projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME", }
次のように置き換えます。
ADDRESS_NAME
: 移動する IP アドレス リソースの名前。SOURCE_PROJECT
: IP アドレスの移動先となるプロジェクトの名前または ID。TARGET_PROJECT
: IP アドレスの移動先となるプロジェクトの名前または ID。REGION
: IP アドレスのリージョン。NEW_NAME
: 新しいプロジェクトの IP アドレス リソースの新しい名前。NEW_DESCRIPTION
: 新しいプロジェクトの IP アドレス リソースの新しい名前。省略した場合は、既存の説明(存在する場合)がリソースに使用されます。