跳至內容

我要如何在相同區域的帳戶之間轉移彈性 IP 位址?

2 分的閱讀內容
0

我在 Amazon Elastic Compute Cloud (Amazon EC2) 中使用彈性 IP 位址。我想將 IP 位址轉移到另一個 AWS 帳戶。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

若要在同一 AWS 區域中的帳戶之間轉移彈性 IP 位址,請使用 Amazon EC2 主控台或 AWS CLI。當您使用 AWS CLI 時,您一次只能轉移一個彈性 IP 位址。

轉移彈性 IP 位址時,來源帳戶和轉移帳戶之間會進行兩步驟的信號交換。來源帳戶可以是標準帳戶或 AWS Organizations 帳戶。當來源帳戶開始轉移時,轉移帳戶有 7 天的時間接受。否則,彈性 IP 位址會傳回至原始擁有者。

AWS 不會通知轉移帳戶有待處理的彈性 IP 位址轉移請求。來源帳戶擁有者必須將請求傳送給轉移帳戶擁有者。

Amazon EC2 主控台

使用 Amazon EC2 主控台轉移彈性 IP 位址。傳送轉移請求後,請確定轉移帳戶擁有者接受彈性 IP 位址

AWS CLI

**注意:**在下列命令中,請將 ELASTIC_IP 替換為您的彈性 IP 位址,將 us-east-1 替換為您的 AWS 區域。另外,將 eipalloc-source-account 替換為彈性 IP 位址 AllocationId,將 transfer-account 替換為轉移帳戶 ID。

若要使用 AWS CLI 轉移彈性 IP 位址,請完成下列步驟:

  1. 若要取得彈性 IP 位址 AllocationId,請執行下列 describe-addresses 命令:

    aws ec2 describe-addresses --filters "Name=public-ip,Values=ELASTIC_IP" --region us-east-1  

    輸出範例:

    {  
        "Addresses": [  
            {  
                "PublicIp": "ELASTIC_IP",  
                "AllocationId": "eipalloc-source-account",  
                "Domain": "vpc",  
                "PublicIpv4Pool": "amazon",  
                "NetworkBorderGroup": "us-east-1"  
            }  
        ]  
    }
  2. 若要檢查來源帳戶中彈性 IP 位址是否有現有或待處理的位址轉移,請執行下列 describe-address-transfers 命令:

    aws ec2 describe-address-transfers --query "AddressTransfers[?AllocationId=='eipalloc-source-account']" --region us-east-1  

    如果您收到以下輸出,則表示沒有任何現有或待處理的位址轉移,您可以繼續進行新的轉移:

    [ ]
  3. 若要將彈性 IP 位址轉移到轉移帳戶,請執行下列 enable-address-transfer 命令:

    aws ec2 enable-address-transfer --allocation-id eipalloc-source-account --transfer-account-id transfer-account --region us-east-1      

    輸出範例:

    "AddressTransfer": {  
            "PublicIp": "3.",  
            "AllocationId": "eipalloc-source-account",  
            "TransferAccountId": "transfer-account",  
            "TransferOfferExpirationTimestamp": "2022-10-28T08:44:41+00:00",  
            "AddressTransferStatus": "pending"  
        }  
    }
  4. 通知轉移帳戶擁有者彈性 IP 位址轉移處於待處理狀態。

  5. 若要接受轉移,轉移帳戶擁有者必須執行以下 accept-address-transfer 命令:

    aws ec2 accept-address-transfer --address ELASTIC_IP --region us-east-1      

    輸出範例:

    "AddressTransfer": {  
            "PublicIp": "ELASTIC_IP",  
            "AllocationId": "eipalloc-source-account",  
            "TransferAccountId": "transfer-account",  
            "TransferOfferExpirationTimestamp": "2022-10-28T08:44:41+00:00",  
            "AddressTransferStatus": "accepted"  
        }  
    }

    注意:轉移帳戶無法看到處於待處理狀態的彈性 IP 位址。這是安全性功能,以防您不小心將 IP 位址傳送給錯誤的帳戶。如果發生這種情況,那麼您可以在另一個帳戶看到該 IP 位址之前取消轉移。
    如果接受操作失敗,您將收到以下其中一個錯誤訊息:
    AddressLimitExceeded
    InvalidTransfer.AddressCustomPtrSet
    InvalidTransfer.AddressAssociated
    如要對上述錯誤進行疑難排解,請參閱接受轉移的彈性 IP 位址

  6. 若要確認 Elastic IP 位址是否已轉移,請根據帳戶擁有者執行下列命令。
    從轉帳帳戶執行以下 describe-addresses 命令:

    aws ec2 describe-addresses --filters "Name=public-ip,Values=ELASTIC_IP" --region us-east-1  

    輸出範例:

    {  
        "Addresses": [  
            {  
                "PublicIp": "ELASTIC_IP",  
                "AllocationId": "eipalloc-transfer-account22222",  
                "Domain": "vpc",  
                "PublicIpv4Pool": "amazon",  
                "NetworkBorderGroup": "us-east-1"  
            }  
        ]  
    }

    **重要:**成功的轉移可以為轉移擁有者帳戶的彈性 IP 位址產生新的 AllocationId
    從來源帳戶執行以下 describe-address-transfers 命令:

    aws ec2 describe-address-transfers --query

    輸出範例:

    "AddressTransfers[?AllocationId=='eipalloc-source-account']" --region us-east-1  [  
           {  
                "PublicIp": "ELASTIC_IP",  
                "AllocationId": "eipalloc-source-account",  
                "TransferAccountId": "transfer-account",  
                "TransferOfferExpirationTimestamp": "2022-10-28T10:44:41+00:00",  
                "AddressTransferStatus": "accepted"  
            }  
    ]  
AWS 官方已更新 1 年前