

# AWS CLI のみを使用した IPAM への自分のパブリック IPv4 CIDR の取り込み
<a name="tutorials-byoip-ipam-ipv4"></a>

AWS CLI のみを使用して、IPAM に IPv4 CIDR を取り込み、Elastic IP アドレス (EIP) を CIDR に割り当てる手順は次のとおりです。

**重要**  
このチュートリアルでは、次のセクションのステップがすでに完了していることを前提としています。  
[IPAM を AWS Organizations 内のアカウントと統合する](enable-integ-ipam.md).
[IPAM を作成する](create-ipam.md).
このチュートリアルの各ステップを、3 つの AWS Organizations アカウントのいずれかで実行する必要があります。  
管理アカウント。
[IPAM を AWS Organizations 内のアカウントと統合する](enable-integ-ipam.md) で IPAM 管理者として設定されるメンバーアカウント。このチュートリアルでは、このアカウントを IPAM アカウントと呼びます。
IPAM プールから CIDR を割り当てる組織内のメンバーアカウント。このチュートリアルでは、このアカウントをメンバーアカウントと呼びます。

**Topics**
+ [ステップ 1: AWS CLI の名前付きプロファイルと IAM ロールを作成する](#tutorials-create-profiles)
+ [ステップ 2: IPAM を作成する](#tutorials-byoip-ipam-ipv4-2)
+ [ステップ 3: 最上位の IPAM プールの作成する](#tutorials-byoip-ipam-ipv4-3)
+ [ステップ 4: CIDR を最上位プールにプロビジョニングする](#tutorials-byoip-ipam-ipv4-4)
+ [ステップ 5: 最上位プール内にリージョンプールを作成する](#tutorials-byoip-ipam-ipv4-5)
+ [ステップ 6: リージョンプールに CIDR をプロビジョニングする](#tutorials-byoip-ipam-ipv4-6)
+ [ステップ 7: CIDR をアドバタイズする](#tutorials-byoip-ipam-ipv4-11)
+ [ステップ 8: リージョンレベルのプールを共有する](#tutorials-byoip-ipam-ipv4-console-4-deux)
+ [ステップ 9: プールから Elastic IP アドレスを割り当てる](#tutorials-byoip-ipam-ipv4-console-cli-all-eip)
+ [ステップ 10: Elastic IP アドレスと EC2 インスタンスの関連付け](#tutorials-byoip-ipam-ipv4-console-cli-assoc-eip)
+ [ステップ 11: クリーンアップ](#tutorials-byoip-ipam-ipv4-cli-cleanup)
+ [ステップ 9 の代替方法](#tutorials-byoip-ipam-ipv4-cli-alt)

## ステップ 1: AWS CLI の名前付きプロファイルと IAM ロールを作成する
<a name="tutorials-create-profiles"></a>

このチュートリアルをシングル AWS ユーザーとして完了するには、AWS CLI の名前付きプロファイルを使用して、1 つの IAM ロールから別のアカウントへと切り替えることができます。[名前付きプロファイル](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles)は、AWS CLI を使用して `--profile` オプションを使用するときに参照する設定と認証情報の集まりです。AWS アカウントの IAM ロールと指定したプロファイルを作成する方法の詳細については、の「[AWS CLI での IAM ロールの使用](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)」を参照してください。

このチュートリアルで使用する 3 つの AWS アカウントごとに、1 つのロールと 1 つの名前付きプロファイルを作成します。
+ AWS Organizations 管理アカウント向けの `management-account` と呼ばれるプロファイル。
+ IPAM 管理者として設定された AWS Organizations メンバーアカウント向けの、`ipam-account` と呼ばれるプロファイル。
+ IPAM プールから CIDR を割り当てる自分の組織の AWS Organizations メンバーアカウント向けの、`member-account` と呼ばれるプロファイル。

IAM ロールと名前付きプロファイルを作成した後、このページに戻り次のステップに進みます。なお、このチュートリアルの残りの部分では、サンプルの AWS CLI コマンドで `--profile` オプションを名前付きプロファイルのうちの 1 つとともに使用することにより、どのアカウントでコマンドを実行する必要があるのかを示しています。

## ステップ 2: IPAM を作成する
<a name="tutorials-byoip-ipam-ipv4-2"></a>

この手順は省略可能です。`us-east-1` と `us-west-2` の運用リージョンで作成された IPAM が既にある場合は、このステップをスキップできます。IPAM を作成し、`us-east-1` と `us-west-2` の運用リージョンを指定します。運用リージョンを選択する必要があるのは、IPAM プールの作成時にロケールオプションを使用できるようにするためです。IPAM を BYOIP と統合するには、BYOIP CIDR に使用されるプールにロケールを設定する必要があります。

このステップは、IPAM アカウントで実行する必要があります。

次のコマンドを実行します。

```
aws ec2 create-ipam --description my-ipam --region us-east-1 --operating-regions RegionName=us-west-2 --profile ipam-account
```

出力に、作成した IPAM が示されます。`PublicDefaultScopeId` の値を書き留めます。パブリックスコープ ID は、次のステップで必要になります。BYOIP CIDR はパブリック IP アドレスであるため、パブリックスコープを使用しています。パブリックスコープはこのために存在します。

```
{
 "Ipam": {                                                                         
        "OwnerId": "123456789012",
        "IpamId": "ipam-090e48e75758de279",                                           
        "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",  
        "PublicDefaultScopeId": "ipam-scope-0087d83896280b594",                       
        "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d",                      
        "ScopeCount": 2,                                                              
        "Description": "my-ipam",                                                     
        "OperatingRegions": [                                                         
            {                                                                         
                "RegionName": "us-east-1"                                             
            },
            {
                "RegionName": "us-west-2"
            }
        ],                                                                            
        "Tags": []                                                                    
    }                                                                                 
}
```

## ステップ 3: 最上位の IPAM プールの作成する
<a name="tutorials-byoip-ipam-ipv4-3"></a>

このセクションのステップに従って、最上位の IPAM プールを作成します。

このステップは、IPAM アカウントで実行する必要があります。

**AWS を使用してすべての AWS CLI リソースの IPv4 アドレスプールを作成するには**

1. 次のコマンドを実行して、IPAM プールを作成します。前のステップで作成した IPAM のパブリックスコープの ID を使用します。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 create-ipam-pool --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --description "top-level-IPv4-pool" --address-family ipv4 --profile ipam-account
   ```

   出力に、`create-in-progress` と表示されます。これは、プールの作成が進行中であることを示します。

   ```
   {
       "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "None",
           "PoolDepth": 1,
           "State": "create-in-progress",
           "Description": "top-level-pool",
           "AutoImport": false,
           "AddressFamily": "ipv4",
           "Tags": []
       }
   }
   ```

1. 出力に `create-complete` という状態が表示されるまで、次のコマンドを実行します。

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   次の出力例は、プールの状態を示しています。

   ```
   {
       "IpamPools": [
           {
               "OwnerId": "123456789012",
               "IpamPoolId": "ipam-pool-0a03d430ca3f5c035",
               "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035",
               "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
               "IpamScopeType": "public",
               "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
               "Locale": "None",
               "PoolDepth": 1,
               "State": "create-complete",
               "Description": "top-level-IPV4-pool",
               "AutoImport": false,
               "AddressFamily": "ipv4",
               "Tags": []
           }
       ]
   }
   ```

## ステップ 4: CIDR を最上位プールにプロビジョニングする
<a name="tutorials-byoip-ipam-ipv4-4"></a>

最上位プールに CIDR ブロックをプロビジョンします。IPv4 CIDR を最上位のプール内のプールにプロビジョニングするとき、プロビジョンできる最小の IPv4 CIDR は `/24` です。より具体的な CIDR (`/25` など) は許可されません。

**注記**  
[X.509 証明書でドメインコントロールを検証した](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-cert)場合は、パブリックスペースがユーザーによって制御されていることを確認できるように、CIDR と BYOIP メッセージおよびそのステップで作成した証明書署名を含める必要があります。
[DNS TXT レコード でドメインコントロールを検証](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-dns-txt)した場合は、パブリックスペースがユーザーによって制御されていることを確認できるように、CIDR およびそのステップで作成した IPAM 検証トークンを含める必要があります。

BYOIP CIDR を最上位プールにプロビジョンする場合は、ドメインコントロールを検証するだけで済みます。最上位プール内のリージョンプールについては、ドメイン所有者検証オプションを省略できます。

このステップは、IPAM アカウントで実行する必要があります。

**重要**  
BYOIP CIDR を最上位プールにプロビジョンする場合は、ドメインコントロールを検証するだけで済みます。最上位プール内のリージョンプールについては、ドメインコントロールオプションを省略できます。BYOIP を IPAM にオンボードすると、リージョンとアカウントとの間で BYOIP を分割するときに、所有権の検証を実行する必要がなくなります。

**AWS CLI を使用して CIDR ブロックをプールにプロビジョニングするには**

1. 証明書情報を使用して CIDR をプロビジョニングするには、次のコマンド例を使用します。この例で必要に応じて値を置き換えるだけでなく、`Message` および `Signature` の値を、[X.509 証明書を使用してドメインを検証する](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-cert) で取得した `text_message` および `signed_message` の値に置き換えてください。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.245.0/24 --verification-method remarks-x509 --cidr-authorization-context Message="1|aws|470889052444|130.137.245.0/24|20250101|SHA256|RSAPSS",Signature="W3gdQ9PZHLjPmrnGM~cvGx~KCIsMaU0P7ENO7VRnfSuf9NuJU5RUveQzus~QmF~Nx42j3z7d65uyZZiDRX7KMdW4KadaLiClyRXN6ps9ArwiUWSp9yHM~U-hApR89Kt6GxRYOdRaNx8yt-uoZWzxct2yIhWngy-du9pnEHBOX6WhoGYjWszPw0iV4cmaAX9DuMs8ASR83K127VvcBcRXElT5URr3gWEB1CQe3rmuyQk~gAdbXiDN-94-oS9AZlafBbrFxRjFWRCTJhc7Cg3ASbRO-VWNci-C~bWAPczbX3wPQSjtWGV3k1bGuD26ohUc02o8oJZQyYXRpgqcWGVJdQ__" --profile ipam-account
   ```

   検証トークン情報を使用して CIDR をプロビジョニングするには、次のコマンド例を使用します。この例で必要に応じて値を置き換えるだけでなく、`ipam-ext-res-ver-token-0309ce7f67a768cf0` を [DNS TXT レコードを使用してドメインを検証する](tutorials-byoip-ipam-domain-verification-methods.md#tutorials-byoip-ipam-domain-verification-dns-txt) で取得した `IpamExternalResourceVerificationTokenId` トークン ID に置き換えてください。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.245.0/24 --verification-method dns-token --ipam-external-resource-verification-token-id ipam-ext-res-ver-token-0309ce7f67a768cf0 --profile ipam-account
   ```

   出力に、CIDR のプロビジョンが保留されていることが示されます。

   ```
   {
       "IpamPoolCidr": {                                                                                         
           "Cidr": "130.137.245.0/24",                                                                      
           "State": "pending-provision"                                                                          
       }                                                                                                         
   }
   ```

1. 続行する前に、この CIDR のプロビジョンが完了したことを確認してください。
**重要**  
ほとんどのプロビジョニングは 2 時間以内に完了しますが、パブリックにアドバタイズ可能な範囲のプロビジョニングプロセスが完了するまでに最大 1 週間かかる場合があります。

   出力に `provisioned` という状態が表示されるまで、次のコマンドを実行します。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --profile ipam-account
   ```

   次の出力例に、その状態が示されています。

   ```
   {
       "IpamPoolCidrs": [                     
           {                                  
               "Cidr": "130.137.245.0/24",     
               "State": "provisioned"         
           }                                  
       ]                                      
   }
   ```

## ステップ 5: 最上位プール内にリージョンプールを作成する
<a name="tutorials-byoip-ipam-ipv4-5"></a>

最上位プール内にリージョンプールを作成する 

プールのロケールは、以下のいずれかにする必要があります。
+ この IPAM プールを割り当て可能にする AWS リージョン。
+ この IPAM プールを割り当て可能にする AWS Local Zone のネットワーク境界グループ ([サポートされるローカルゾーン](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail))。このオプションを利用できるのは、パブリックスコープ内の IPAM IPv4 プールのみです。
+ [AWS Dedicated Local Zone](https://aws.amazon.com/dedicatedlocalzones/)。AWS Dedicated Local Zone 内にプールを作成するには、セレクタ入力に AWS Dedicated Local Zone を入力します。
+ `Global` CloudFront ロケーションなど、すべての AWS リージョンで IP アドレスをグローバルに使用する場合。`Global` ロケールはパブリック IPv4 プールでのみ使用できます。

例えば、VPC の CIDR は、VPC のリージョンとロケールを共有する IPAM プールからしか割り当てることができません。プールのロケールを選択したら、変更はできないことに注意してください。停止が原因で IPAM のホームリージョンが使用できなくなり、プールのロケールが IPAM のホームリージョンと異なる場合でも、プールを使用して IP アドレスを割り当てることができます。

このセクションのコマンドを実行するときは、BYOIP CIDR に使用されるプールの作成時に入力した `--locale` オプションが `--region` の値に含まれている必要があります。例えば、*us-east-1* のロケールで BYOIP プールを作成した場合、`--region` は *us-east-1* にする必要があります。*us-east-1-scl-1* (Local Zone に使用されるネットワーク境界グループ) のロケールで BYOIP プールを作成した場合は、`--region` を *us-east-1* にする必要があります。これは、このリージョンがロケール *us-east-1-scl-1* を管理するからです。

このステップは、IPAM アカウントで実行する必要があります。

ロケールを選択すると、プールとそのプールから割り当てられるリソースの間にクロスリージョン依存関係がないことが保証されます。使用可能なオプションは、IPAM を作成したときに選択した運用リージョンによって提供されます。このチュートリアルでは、`us-west-2` をリージョンプールのロケールとして使用します。

**重要**  
プールを作成するときは、`--aws-service ec2` を含める必要があります。選択したサービスによって、CIDR がアドバタイズ可能になる AWS サービスが決定します。現在、唯一の選択肢は `ec2` であり、このプールから割り当てられた CIDR は、Amazon EC2 サービス (Elastic IP アドレスの場合) と Amazon VPC サービス (VPC に関連付けられている CIDR の場合) に対してアドバタイズできるようになります。

**AWS CLI を使用してリージョンプールを作成するには**

1. 次のコマンドを実行して、プールを作成します。

   ```
   aws ec2 create-ipam-pool --description "Regional-IPv4-pool" --region us-east-1 --ipam-scope-id ipam-scope-0087d83896280b594 --source-ipam-pool-id ipam-pool-0a03d430ca3f5c035 --locale us-west-2 --address-family ipv4 --aws-service ec2 --profile ipam-account
   ```

   出力に、IPAM がプールを作成していることが表示されます。

   ```
   {
        "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0d8f3646b61ca5987",
           "SourceIpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0d8f3646b61ca5987",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-west-2",
           "PoolDepth": 2,
           "State": "create-in-progress",
           "Description": "Regional--pool",
           "AutoImport": false,
           "AddressFamily": "ipv4",
           "Tags": [],
           "ServiceType": "ec2"
       }
   }
   ```

1. 出力に `create-complete` という状態が表示されるまで、次のコマンドを実行します。

   ```
   aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account
   ```

   出力には、IPAM にあるプールが表示されます。このチュートリアルでは、最上位プールとリージョンプールを作成したので、両方が表示されます。

## ステップ 6: リージョンプールに CIDR をプロビジョニングする
<a name="tutorials-byoip-ipam-ipv4-6"></a>

リージョンプールに CIDR ブロックをプロビジョンします。

**注記**  
CIDR を最上位プール内のリージョンプールにプロビジョニングする場合、プロビジョニングできる最も具体的な IPv4 CIDR は `/24` です。より具体的な CIDR (`/25` など) は許可されません。リージョンプールを作成すると、リージョンプール内に小さなプール (`/25` など) を作成できます。リージョンプールまたはリージョンプール内のプールを共有する場合、これらのプールは同じリージョンプールで設定されたロケールでのみ使用できることに注意してください。

このステップは、IPAM アカウントで実行する必要があります。

**AWS CLI を使用して CIDR ブロックをリージョンプールに割り当てるには**

1. 以下のコマンドを実行して CIDR をプロビジョニングします。

   ```
   aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   出力に、CIDR のプロビジョンが保留されていることが示されます。

   ```
   {
       "IpamPoolCidr": {                                                                                         
           "Cidr": "130.137.245.0/24",                                                                      
           "State": "pending-provision"                                                                          
       }                                                                                                         
   }
   ```

1. 出力に、`provisioned` の状態が表示されるまで、次のコマンドを実行します。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   次の出力例に、正しい状態が示されています。

   ```
   {
       "IpamPoolCidrs": [
           {
               "Cidr": "130.137.245.0/24",
               "State": "provisioned"
           }
       ]
   }
   ```

## ステップ 7: CIDR をアドバタイズする
<a name="tutorials-byoip-ipam-ipv4-11"></a>

このセクションのステップは、IPAM アカウントで実行する必要があります。Elastic IP アドレス (EIP) をインスタンスまたは Elastic Load Balancer に関連付けると、`--aws-service ec2` が定義されているプール内にある、AWS に取り込んだ CIDR のアドバタイズを開始できます。このチュートリアルでは、これはリージョンプールです。デフォルトでは、CIDR はアドバタイズされません。つまり、インターネット経由でパブリックにアクセスできません。このセクションのコマンドを実行するときは、BYOIP CIDR に使用されるプールを作成したときに入力した `--locale` オプションと `--region` の値が一致する必要があります。

このステップは、IPAM アカウントで実行する必要があります。

**注記**  
アドバタイズメントステータスによって Elastic IP アドレスを割り当てる機能が制限されることはありません。BYOIPv4 CIDR がアドバタイズされていなくても、IPAM プールから EIP を作成できます。

**AWS CLI を使用して CIDR のアドバタイズを開始するには**
+ 次のコマンドを実行して、CIDR をアドバタイズします。

  ```
  aws ec2 advertise-byoip-cidr --region us-west-2 --cidr 130.137.245.0/24 --profile ipam-account
  ```

  出力に、CIDR がアドバタイズされたことが示されます。

  ```
  {
      "ByoipCidr": {
          "Cidr": "130.137.245.0/24",
          "State": "advertised"
      }
  }
  ```

## ステップ 8: リージョンレベルのプールを共有する
<a name="tutorials-byoip-ipam-ipv4-console-4-deux"></a>

 このセクションのステップに従い、AWS Resource Access Manager (RAM) を使用して IPAM プールを共有します。

### AWS RAM 内でリソース共有を有効にする
<a name="61-enable-resource-sharing-in-aws-ram-deux"></a>

 IPAM を作成したら、リージョンプールを組織内の他のアカウントと共有する必要があります。IPAM プールを共有する前に、このセクションのステップを完了し、AWS RAM とのリソース共有を有効にします。AWS CLI を使用してリソース共有を有効にする場合は、`--profile management-account` オプションを使用します。

**リソース共有を有効にするには**

1. AWS Organizations 管理アカウントを使って AWS RAM コンソール ([https://console.aws.amazon.com/ram/](https://console.aws.amazon.com/ram/)) を開きます。

1. ナビゲーションペインで **[設定]** を選択し、**[AWS Organizations との共有を有効にする]** を選択し、**[設定の保存]** を選択します。

 これで、IPAM プールを組織の他のメンバーと共有できるようになりました。

### AWS RAM を使用して IPAM プールを共有する
<a name="62-share-an-ipam-pool-using-aws-ram-deux"></a>

 このセクションでは、リージョンプールを他の AWS Organizations メンバーアカウントと共有します。必要な IAM アクセス許可に関する情報を含め、IPAM プールの共有に関する詳細な手順については、「[AWS RAM を使用して IPAM プールを共有する](share-pool-ipam.md)」を参照してください。AWS CLI を使用してリソース共有を有効にする場合は、`--profile ipam-account` オプションを使用します。

**AWS RAM を使用して IPAM プールを共有するには**

1. IPAM の管理者アカウントを使って IPAM コンソール ([https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/)) を開きます。

1. ナビゲーションペインで、**[プール]** を選択します。

1. プライベートスコープを選択し、IPAM プールを選択して、**[アクション]** > **[詳細を表示]** の順に選択します。

1. **[Resource sharing]** (リソース共有) で **[Create resource share]** (リソース共有の作成) を選択します。AWS RAM コンソールが開きます。AWS RAM を使用してプールを共有します。

1. **[リソースの共有の作成]** を選択します。

1. AWS RAM コンソールで、**[リソースの共有を作成]** を再度選択します。

1. 共有リソースの **[名前]** を追加します。

1. **[リソースタイプを選択]** で **[IPAM プール]** を選択し、次に共有したいプールの ARN を選択します。

1. [**次へ**] を選択します。

1. **AWSRAMPermissionIpamPoolByoipCidrImport** 許可を選択します。アクセス許可オプションの詳細は本チュートリアルの対象外ですが、このオプションの詳細は「[AWS RAM を使用して IPAM プールを共有する](share-pool-ipam.md)」にてご覧いただけます。

1. [**次へ**] を選択します。

1. **[プリンシパル]** > **[プリンシパルタイプを選択]** で、**[AWS アカウント]** を選択し、IPAM に IP アドレス範囲を取り込むアカウントのアカウント ID を入力して、**[追加]** を選択します。

1. [**次へ**] を選択します。

1. リソース共有オプションと共有先のプリンシパルを確認し、**[作成]** を選択します。

1. IPAM プールからの IP アドレス CIDR の割り当てを **member-account** アカウントに許可するには、`AWSRAMDefaultPermissionsIpamPool` を使用して 2 つ目のリソース共有を作成します。`--resource-arns` の値は、前のセクションで作成した IPAM プールの ARN です。`--principals` の値は、**member-account** のアカウント ID です。`--permission-arns` の値は、`AWSRAMDefaultPermissionsIpamPool` アクセス許可の ARN です。

## ステップ 9: プールから Elastic IP アドレスを割り当てる
<a name="tutorials-byoip-ipam-ipv4-console-cli-all-eip"></a>

プールから Elastic IP アドレスを割り当てるには、このセクションのステップを実行します。パブリック IPv4 プールを使用して Elastic IP アドレスを割り当てる場合は、このセクションのステップではなく、[ステップ 9 の代替方法](#tutorials-byoip-ipam-ipv4-cli-alt) の代替ステップを使用できます。

**重要**  
ec2:AllocateAddress を呼び出す許可がないことに関するエラーが表示される場合は、共有された IPAM プールに現在割り当てられているマネージド許可を更新する必要があります。リソース共有の作成者に連絡して、マネージド許可 `AWSRAMPermissionIpamResourceDiscovery` をデフォルトバージョンに更新するよう依頼してください。詳細については、*AWS RAM ユーザーガイド*の「[リソース共有の更新](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)」を参照してください。

------
#### [ AWS Management Console ]

「*Amazon EC2 ユーザーガイド*」の「[Elastic IP アドレスを割り当てる](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-allocating)」のステップに従ってアドレスを割り当てます。ただし、次の点に注意してください。
+ このステップは、メンバーアカウントで実行する必要があります。
+ EC2 コンソールで使用している AWS リージョンが、リージョンレベルのプールの作成時に選択したロケールオプションと一致しているようにします。
+ アドレスプールを選択する際には、**[IPv4 IPAM プールを使用して割り当てる]** オプションを選択し、作成したリージョンレベルのプールを選択します。

------
#### [ Command line ]

[allocate-address](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/allocate-address.html) コマンドを使用して、プールからアドレスを割り当てます。使用する `--region` は、ステップ 2 でプールを作成した際に選択した `-locale` オプションと一致する必要があります。`--ipam-pool-id` のステップ 2 で作成した IPAM プールの ID を含めます。オプションで、`--address` オプションを使用して IPAM プール内の特定の `/32` を選択することもできます。

```
aws ec2 allocate-address --region us-east-1 --ipam-pool-id ipam-pool-07ccc86aa41bef7ce
```

レスポンスの例:

```
{                                                    
    "PublicIp": "18.97.0.41",                        
    "AllocationId": "eipalloc-056cdd6019c0f4b46",    
    "PublicIpv4Pool": "ipam-pool-07ccc86aa41bef7ce", 
    "NetworkBorderGroup": "us-east-1",               
    "Domain": "vpc"                                  
}
```

詳細については、「*Amazon EC2 ユーザーガイド*」の「[Elastic IP アドレスを割り当てる](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-allocating)」を参照してください。

------

## ステップ 10: Elastic IP アドレスと EC2 インスタンスの関連付け
<a name="tutorials-byoip-ipam-ipv4-console-cli-assoc-eip"></a>

Elastic IP アドレスを EC2 インスタンスに関連付けるには、このセクションのステップを実行します。

------
#### [ AWS Management Console ]

「*Amazon EC2 ユーザーガイド*」の「[Elastic IP アドレスを関連付ける](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html#using-instance-addressing-eips-associating)」のステップに従って、IPAM プールから Elastic IP アドレスを割り当てます。ただし、次に注意してください: AWS マネジメントコンソールオプションを使用する場合、Elastic IP アドレスを関連付ける AWS リージョンは、リージョンレベルのプールの作成時に選択したロケールオプションと一致する必要があります。

このステップは、メンバーアカウントで実行する必要があります。

------
#### [ Command line ]

このステップは、メンバーアカウントで実行する必要があります。`--profile member-account` オプションを使用する

[associate-address](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/allocate-address.html) コマンドを使用して、Elastic IP アドレスをインスタンスに関連付けます。Elastic IP アドレスを関連付ける `--region` は、リージョンレベルのプールを作成した際に選択した `--locale` オプションと一致する必要があります。

```
aws ec2 associate-address --region us-east-1 --instance-id i-07459a6fca5b35823 --public-ip 18.97.0.41
```

レスポンスの例:

```
{                                                
    "AssociationId": "eipassoc-06aa85073d3936e0e"
}
```

詳細については、「*Amazon EC2 ユーザーガイド*」の「[Elastic IP アドレスをインスタンスまたはネットワークインターフェイスに関連付ける](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating)」を参照してください。

------

## ステップ 11: クリーンアップ
<a name="tutorials-byoip-ipam-ipv4-cli-cleanup"></a>

このセクションのステップに従って、このチュートリアルでプロビジョンし、作成したリソースをクリーンアップします。このセクションのコマンドを実行するときは、BYOIP CIDR に使用されるプールの作成時に入力した `--locale` オプションが `--region` の値に含まれている必要があります。

**AWS CLI を使用したクリーンアップ**

1. IPAM で管理されている EIP 割り当てを表示します。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   出力に、IPAM での割り当てが示されます。

   ```
   {
       "IpamPoolAllocations": [
           {
               "Cidr": "130.137.245.0/24",
               "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc45",
               "ResourceId": "ipv4pool-ec2-0019eed22a684e0b2",
               "ResourceType": "ec2-public-ipv4-pool",
               "ResourceOwner": "123456789012"
           }
       ]
   }
   ```

1. IPv4 CIDR のアドバタイズを停止します。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 withdraw-byoip-cidr --region us-west-2 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   出力に、CIDR の状態が **[advertised]** (アドバタイズ済) から **[provisioned]** (プロビジョン済) に変更されていることが示されます。

   ```
   {
       "ByoipCidr": {
           "Cidr": "130.137.245.0/24",
           "State": "provisioned"
       }
   }
   ```

1. Elastic IP アドレスを解放します。

   このステップは、メンバーアカウントで実行する必要があります。

   ```
   aws ec2 release-address --region us-west-2 --allocation-id eipalloc-0db3405026756dbf6 --profile member-account
   ```

   このコマンドの実行では出力は表示されません。

1. IPAM で管理されていない EIP 割り当てを表示します。IPAM が Elastic IP アドレスが削除されたことを検出するには、しばらく時間がかかる場合があります。割り当てが IPAM から削除されたことが表示されるまでは、IPAM プール CIDR のクリーンアップとプロビジョン解除を続行できません。このセクションのコマンドを実行するときは、BYOIP CIDR に使用されるプールの作成時に入力した `--locale` オプションが `--region` の値に含まれている必要があります。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   出力に、IPAM での割り当てが示されます。

   ```
   {
       "IpamPoolAllocations": []
   }
   ```

1. リージョンプール CIDR のプロビジョンを解除します。このステップのコマンドを実行するときは、IPAM のリージョンと `--region` の値が一致する必要があります。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 deprovision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   出力に、CIDR のプロビジョン解除が保留されていることが示されます。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "pending-deprovision"                                                                           
       }                                                                                                            
   }
   ```

   プロビジョン解除の完了には、しばらく時間がかかります。プロビジョニング解除のステータスをチェックします。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   **[deprovisioned]** (プロビジョン解除済) が表示されるまで待ってから、次のステップに進みます。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "deprovisioned"                                                                           
       }                                                                                                            
   }
   ```

1. RAM 共有を削除し、AWS Organizations との RAM 統合を無効にします。「AWS RAM ユーザーガイド」内にある「[AWS RAM のリソース共有を削除](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-delete.html)」と「[AWS Organizations とのリソース共有を無効化](https://docs.aws.amazon.com/ram/latest/userguide/security-disable-sharing-with-orgs.html)」に記載されているステップをこの順序で行い、RAM 共有を削除して、AWS Organizations との RAM 統合を無効にします。

   このステップは、IPAM アカウントと管理アカウントのそれぞれで実行する必要があります。AWS CLI を使用して RAM 共有を削除し、RAM 統合を無効にする場合は、` --profile ipam-account` および ` --profile management-account` オプションを使用します。

1. リージョンプールを削除します。このステップのコマンドを実行するときは、IPAM のリージョンと `--region` の値が一致する必要があります。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 delete-ipam-pool --region us-east-1 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   出力に、削除状態が表示されます。

   ```
   {
      "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0d8f3646b61ca5987",
           "SourceIpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0d8f3646b61ca5987",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-east-1",
           "PoolDepth": 2,
           "State": "delete-in-progress",
           "Description": "reg-ipv4-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv4"
       }
   }
   ```

1. 最上位プール CIDR のプロビジョンを解除します。このステップのコマンドを実行するときは、IPAM のリージョンと `--region` の値が一致する必要があります。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 deprovision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --cidr 130.137.245.0/24 --profile ipam-account
   ```

   出力に、CIDR のプロビジョン解除が保留されていることが示されます。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "pending-deprovision"                                                                           
       }                                                                                                            
   }
   ```

   プロビジョン解除の完了には、しばらく時間がかかります。次のコマンドを実行して、プロビジョン解除のステータスを確認します。

   ```
   aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --profile ipam-account
   ```

   **[deprovisioned]** (プロビジョン解除済) が表示されるまで待ってから、次のステップに進みます。

   ```
   {
       "IpamPoolCidr": {                                                                                            
           "Cidr": "130.137.245.0/24",                                                                         
           "State": "deprovisioned"                                                                           
       }                                                                                                            
   }
   ```

1. 最上位プールを削除します。このステップのコマンドを実行するときは、IPAM のリージョンと `--region` の値が一致する必要があります。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 delete-ipam-pool --region us-east-1 --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --profile ipam-account
   ```

   出力に、削除状態が表示されます。

   ```
   {
     "IpamPool": {
           "OwnerId": "123456789012",
           "IpamPoolId": "ipam-pool-0a03d430ca3f5c035",
           "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035",
           "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594",
           "IpamScopeType": "public",
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",
           "Locale": "us-east-1",
           "PoolDepth": 2,
           "State": "delete-in-progress",
           "Description": "top-level-pool",
           "AutoImport": false,
           "Advertisable": true,
           "AddressFamily": "ipv4"
       }
   }
   ```

1. IPAM を削除します。このステップのコマンドを実行するときは、IPAM のリージョンと `--region` の値が一致する必要があります。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 delete-ipam --region us-east-1 --ipam-id ipam-090e48e75758de279 --profile ipam-account
   ```

   出力に、IPAM 応答が示されます。これは、IPAM が削除されたことを示します。

   ```
   {
       "Ipam": {
           "OwnerId": "123456789012",
           "IpamId": "ipam-090e48e75758de279",                                           
           "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279",  
           "PublicDefaultScopeId": "ipam-scope-0087d83896280b594",                       
           "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d",                      
           "ScopeCount": 2,                                                                                                                  
           "OperatingRegions": [                                                         
               {                                                                         
                   "RegionName": "us-east-1"                                             
               },
               {
                   "RegionName": "us-west-2"
               }
           ],          
       }
   }
   ```

## ステップ 9 の代替方法
<a name="tutorials-byoip-ipam-ipv4-cli-alt"></a>

パブリック IPv4 プールを使用して Elastic IP アドレスを割り当てる場合は、[ステップ 9: プールから Elastic IP アドレスを割り当てる](#tutorials-byoip-ipam-ipv4-console-cli-all-eip) のステップではなく、このセクションのステップを使用できます。

**Topics**
+ [ステップ 1: パブリック IPv4 プールの作成](#tutorials-byoip-ipam-ipv4-9)
+ [ステップ 2: パブリック IPv4 CIDR のパブリック IPv4 プールへのプロビジョン](#tutorials-byoip-ipam-ipv4-9)
+ [ステップ 3: パブリック IPv4 プールからの Elastic IP アドレスの作成](#tutorials-byoip-ipam-ipv4-10)
+ [ステップ 9 の代替方法 クリーンアップ](#tutorials-byoip-ipam-ipv4-cli-alt-cleanup)

### ステップ 1: パブリック IPv4 プールの作成
<a name="tutorials-byoip-ipam-ipv4-9"></a>

このステップは通常、Elastic IP アドレスをプロビジョンしようとする別の AWS アカウントで行います (メンバーアカウントなど)。

**重要**  
パブリック IPv4 プールと IPAM プールは、別個の AWS リソースによって管理されます。パブリック IPv4 プールは、パブリック所有の CIDR を Elastic IP アドレスに変換できるようにする単一のアカウントリソースです。IPAM プールは、パブリック空間をパブリック IPv4 プールに割り当てるために使用できます。

**AWS CLI を使用してパブリック IPv4 プールを作成するには**
+ 以下のコマンドを実行して CIDR をプロビジョニングします。このセクションのコマンドを実行するときは、BYOIP CIDR に使用されるプールを作成したときに入力した `--locale` オプションと `--region` の値が一致する必要があります。

  ```
  aws ec2 create-public-ipv4-pool --region us-west-2 --profile member-account
  ```

  出力に、パブリック IPv4 プール ID が示されます。この ID は次のステップで必要になります。

  ```
  {
      "PoolId": "ipv4pool-ec2-0019eed22a684e0b2"
  }
  ```

### ステップ 2: パブリック IPv4 CIDR のパブリック IPv4 プールへのプロビジョン
<a name="tutorials-byoip-ipam-ipv4-9"></a>

パブリック IPv4 CIDR をパブリック IPv4 プールにプロビジョンします。BYOIP CIDR に使用されるプールを作成したときに入力した `--locale` 値と `--region` の値が一致する必要があります。定義できる最も具体的でない `--netmask-length` は `24` です。

このステップは、メンバーアカウントで実行する必要があります。

**AWS CLI を使用してパブリック IPv4 プールを作成するには**

1. 以下のコマンドを実行して CIDR をプロビジョニングします。

   ```
   aws ec2 provision-public-ipv4-pool-cidr --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --pool-id ipv4pool-ec2-0019eed22a684e0b2 --netmask-length 24 --profile member-account
   ```

   出力に、プロビジョンされた CIDR が示されます。

   ```
   {
       "PoolId": "ipv4pool-ec2-0019eed22a684e0b2",
       "PoolAddressRange": {
           "FirstAddress": "130.137.245.0",
           "LastAddress": "130.137.245.255",
           "AddressCount": 256,
           "AvailableAddressCount": 256
       }
   }
   ```

1. 次のコマンドを実行して、パブリック IPv4 プールにプロビジョンされた CIDR を表示します。

   ```
   aws ec2 describe-byoip-cidrs --region us-west-2 --max-results 10 --profile member-account
   ```

   出力に、プロビジョンされた CIDR が示されます。デフォルトでは、CIDR はアドバタイズされません。つまり、インターネット経由でパブリックにアクセスできません。このチュートリアルの最後のステップで、この CIDR をアドバタイズするように設定できます。

   ```
   {
       "ByoipCidrs": [
           {
               "Cidr": "130.137.245.0/24",
               "StatusMessage": "Cidr successfully provisioned",
               "State": "provisioned"
           }
       ]
   }
   ```

### ステップ 3: パブリック IPv4 プールからの Elastic IP アドレスの作成
<a name="tutorials-byoip-ipam-ipv4-10"></a>

パブリック IPv4 プールから Elastic IP アドレス (EIP) を作成します。このセクションのコマンドを実行するときは、BYOIP CIDR に使用されるプールを作成したときに入力した `--locale` オプションと `--region` の値が一致する必要があります。

このステップは、メンバーアカウントで実行する必要があります。

**AWS CLI を使用してパブリック IPv4 プールから EIP を作成する**

1. 次のコマンドを実行して、EIP を作成します。

   ```
   aws ec2 allocate-address  --region us-west-2 --public-ipv4-pool ipv4pool-ec2-0019eed22a684e0b2 --profile member-account
   ```

   出力に、割り当てが示されます。

   ```
   {
       "PublicIp": "130.137.245.100",
       "AllocationId": "eipalloc-0db3405026756dbf6",
       "PublicIpv4Pool": "ipv4pool-ec2-0019eed22a684e0b2",
       "NetworkBorderGroup": "us-east-1",
       "Domain": "vpc"
   }
   ```

1. 次のコマンドを実行して、IPAM の EIP 割り当てを表示します。

   このステップは、IPAM アカウントで実行する必要があります。

   ```
   aws ec2 get-ipam-pool-allocations --region us-west-2 --ipam-pool-id ipam-pool-0d8f3646b61ca5987 --profile ipam-account
   ```

   出力に、IPAM での割り当てが示されます。

   ```
   {
       "IpamPoolAllocations": [
           {
               "Cidr": "130.137.245.0/24",
               "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc45",
               "ResourceId": "ipv4pool-ec2-0019eed22a684e0b2",
               "ResourceType": "ec2-public-ipv4-pool",
               "ResourceOwner": "123456789012"
           }
       ]
   }
   ```

### ステップ 9 の代替方法 クリーンアップ
<a name="tutorials-byoip-ipam-ipv4-cli-alt-cleanup"></a>

ステップ 9 の代替方法を使用して作成されたパブリック IPv4 プールをクリーンアップするには、次のステップを実行します。これらのステップは、[ステップ 10: クリーンアップ](tutorials-byoip-ipam-ipv6.md#tutorials-byoip-ipam-ipv4-cleanup) の標準クリーンアッププロセス中に Elastic IP アドレスを解放した後に実行する必要があります。

1. BYOIP CIDR を表示します。

   このステップは、メンバーアカウントで実行する必要があります。

   ```
   aws ec2 describe-public-ipv4-pools --region us-west-2 --profile member-account
   ```

   出力に、BYOIP CIDR の IP アドレスが示されます。

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-0019eed22a684e0b2",
               "Description": "",
               "PoolAddressRanges": [
                   {
                       "FirstAddress": "130.137.245.0",
                       "LastAddress": "130.137.245.255",
                       "AddressCount": 256,
                       "AvailableAddressCount": 256
                   }
               ],
               "TotalAddressCount": 256,
               "TotalAvailableAddressCount": 256,
               "NetworkBorderGroup": "us-east-1",
               "Tags": []
           }
       ]
   }
   ```

1. パブリック IPv4 プールから CIDR を解放します。このセクションのコマンドを実行するときは、`--region` の値が IPAM のリージョンと一致する必要があります。

   このステップは、メンバーアカウントで実行する必要があります。

   ```
   aws ec2 deprovision-public-ipv4-pool-cidr --region us-east-1 --pool-id ipv4pool-ec2-0019eed22a684e0b2 --cidr 130.137.245.0/24 --profile member-account
   ```

1. BYOIP CIDR を再度表示して、プロビジョンされたアドレスがないことを確認します。このセクションのコマンドを実行するときは、`--region` の値が IPAM のリージョンと一致する必要があります。

   このステップは、メンバーアカウントで実行する必要があります。

   ```
   aws ec2 describe-public-ipv4-pools --region us-east-1 --profile member-account
   ```

   出力に、パブリック IPv4 プール内の IP アドレス数が示されます。

   ```
   {
       "PublicIpv4Pools": [
           {
               "PoolId": "ipv4pool-ec2-0019eed22a684e0b2",
               "Description": "",
               "PoolAddressRanges": [],
               "TotalAddressCount": 0,
               "TotalAvailableAddressCount": 0,
               "NetworkBorderGroup": "us-east-1",
               "Tags": []
           }
       ]
   }
   ```