チュートリアル: BYOIP IPv4 CIDR を IPAM に転送する
既存の IPv4 CIDR を IPAM に転送するには、次のステップに従います。AWS を使用した IPv4 BYOIP CIDR を既に使用している場合は、CIDR をパブリック IPv4 プールから IPAM に移動できます。IPv6 CIDR を IPAM に移動することはできません。
このチュートリアルでは、「Amazon EC2 で自分の IP アドレスを使用する (BYOIP)」で説明されているプロセスを使用して IP アドレス範囲を既に AWS に正常に移行済みで、その IP アドレス範囲を IPAM に転送することを前提としています。新しい IP アドレスを初めて AWS に持ち込む場合、チュートリアル: IP アドレスを IPAM に移行する の手順を完了してください。
パブリック IPv4 プールを IPAM に転送しても、既存の割り当てには影響しません。パブリック IPv4 プールを IPAM に転送すると、リソースタイプによっては、既存の割り当てをモニタリングできる場合があります。詳細については、「リソースごとに CIDR の使用状況をモニタリングする」を参照してください。
注記
-
このチュートリアルでは、IPAM を作成する のステップが完了していることを前提としています。
-
このチュートリアルの各ステップを、2 つの AWS アカウントのいずれかで実行する必要があります。
-
IPAM 管理者用のアカウント。このチュートリアルでは、このアカウントを IPAM アカウントと呼びます。
-
BYOIP CIDR を所有する組織内のアカウント。このチュートリアルでは、このアカウントを BYOIP CIDR 所有者アカウントと呼びます。
-
内容
ステップ 1: AWS CLI の名前付きプロファイルと IAM ロールを作成する
このチュートリアルをシングル AWS ユーザーとして完了するには、AWS CLI の名前付きプロファイルを使用して、1 つの IAM ロールから別のアカウントへと切り替えることができます。名前付きプロファイルは、AWS CLI を使用して --profile
オプションを使用するときに参照する設定と認証情報の集まりです。AWS アカウントの IAM ロールと名前付きプロファイルを作成する方法の詳細については、「AWS Identity and Access Management ユーザーガイド」の「AWS CLI での IAM ロールの使用」を参照してください。
このチュートリアルで使用する 3 つの AWS アカウントごとに、1 つのロールと 1 つの名前付きプロファイルを作成します。
IPAM 管理者である AWS アカウント向けの
ipam-account
と呼ばれるプロファイル。BYOIP CIDR を所有する組織内の AWS アカウント向けの
byoip-owner-account
と呼ばれるプロファイル。
IAM ロールと名前付きプロファイルを作成した後、このページに戻り次のステップに進みます。なお、このチュートリアルの残りの部分では、サンプルの AWS CLI コマンドで --profile
オプションを名前付きプロファイルのうちの 1 つとともに使用することにより、どのアカウントでコマンドを実行する必要があるのかを示しています。
ステップ 2: IPAM のパブリックスコープ ID を取得する
IPAM のパブリックスコープ ID を取得するには、このセクションのステップに従います。このステップは、ipam-account
アカウントで実行する必要があります。
次のコマンドを実行して、パブリックスコープ ID を取得します。
aws ec2 describe-ipams --region
us-east-1
--profileipam-account
出力に、パブリックスコープ ID が表示されます。PublicDefaultScopeId
の値を書き留めます。これは次のステップで必要になります。
{
"Ipams": [
{
"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 プールを作成する
IPAM プールを編集するには、このセクションのステップに従います。このステップは、ipam-account
アカウントで実行する必要があります。作成する IPAM プールは、BYOIP CIDR AWS リージョンに一致した --locale
オプションを持つ最上位プールである必要があります。BYOIP は、最上位の IPAM プールにのみ転送できます。
重要
プールを作成するときは、--aws-service ec2
を含める必要があります。選択したサービスによって、CIDR がアドバタイズ可能になる AWS サービスが決定します。現在、唯一の選択肢は ec2
であり、このプールから割り当てられた CIDR は、Amazon EC2 サービス (Elastic IP アドレスの場合) と Amazon VPC サービス (VPC に関連付けられている CIDR の場合) に対してアドバタイズできるようになります。
AWS CLI を使用して、転送された BYOIP CIDR の IPv4 アドレスプールを作成するには
-
次のコマンドを実行して、IPAM プールを作成します。前のステップで作成した IPAM の Public スコープの ID を使用します。
aws ec2 create-ipam-pool --region
us-east-1
--profileipam-account
--ipam-scope-idipam-scope-0087d83896280b594
--description"top-level-pool"
--localeus-west-2
--aws-service ec2 --address-familyipv4
出力に、
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": "us-west-2", "PoolDepth": 1, "State": "create-in-progress", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [], "AwsService": "ec2" } }
-
出力に
create-complete
という状態が表示されるまで、次のコマンドを実行します。aws ec2 describe-ipam-pools --region
us-east-1
--profileipam-account
次の出力例は、プールの状態を示しています。次のステップでは OwnerId が必要になります。
{ "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": "us-west-2", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [], "AwsService": "ec2" } ] }
ステップ 4: AWS RAM を使用して IPAM プールを共有する
このセクションのステップに従って、別の AWS アカウントが既存の BYOIP IPV4 CIDR を IPAM プールに転送し、その IPAM プールを使用できるように、AWS RAM を使用して IPAM プールを共有します。このステップは、ipam-account
アカウントで実行する必要があります。
AWS CLI を使用して IPv4 アドレスプールを共有するには
IPAM プールで使用可能な AWS RAM アクセス許可を表示します。このセクションのステップを実行するには両方の ARN が必要です。
aws ram list-permissions --region
us-east-1
--profileipam-account
--resource-type ec2:IpamPool{ "permissions": [ { "arn": "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionsIpamPool", "version": "1", "defaultVersion": true, "name": "AWSRAMDefaultPermissionsIpamPool", "resourceType": "ec2:IpamPool", "status": "ATTACHABLE", "creationTime": "2022-06-30T13:04:29.335000-07:00", "lastUpdatedTime": "2022-06-30T13:04:29.335000-07:00", "isResourceTypeDefault": true }, { "arn": "arn:aws:ram::aws:permission/AWSRAMPermissionIpamPoolByoipCidrImport", "version": "1", "defaultVersion": true, "name": "AWSRAMPermissionIpamPoolByoipCidrImport", "resourceType": "ec2:IpamPool", "status": "ATTACHABLE", "creationTime": "2022-06-30T13:03:55.032000-07:00", "lastUpdatedTime": "2022-06-30T13:03:55.032000-07:00", "isResourceTypeDefault": false } ] }
リソース共有を作成し、
byoip-owner-account
アカウントが BYOIP CIDR を IPAM にインポートできるようにします。--resource-arns
の値は、前のセクションで作成した IPAM プールの ARN です。--principals
の値は、BYOIP IP CIDR の所有者アカウントの、アカウント ID です。--permission-arns
の値は、AWSRAMPermissionIpamPoolByoipCidrImport
アクセス許可の ARN です。aws ram create-resource-share --region
us-east-1
--profileipam-account
--namePoolShare2
--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035
--principals111122223333
--permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionIpamPoolByoipCidrImport{ "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/7993758c-a4ea-43ad-be12-b3abaffe361a", "name": "PoolShare2", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:32:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:32:25.536000-07:00" } }
(オプション) 転送の完了後に、IP アドレスの CIDR を IPAM プールからパブリック IPv4 プールへ割り当てることを
byoip-owner-account
アカウントに許可するには、AWSRAMDefaultPermissionsIpamPool
の ARN をコピーして 2 つ目のリソース共有を作成します。--resource-arns
の値は、前のセクションで作成した IPAM プールの ARN です。--principals
の値は、BYOIP IP CIDR の所有者アカウントの、アカウント ID です。--permission-arns
の値は、AWSRAMDefaultPermissionsIpamPool
アクセス許可の ARN です。aws ram create-resource-share --region
us-east-1
--profileipam-account
--namePoolShare1
--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035
--principals111122223333
--permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionsIpamPool{ "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f", "name": "PoolShare1", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:31:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:31:25.536000-07:00" } }
RAM でリソース共有を作成した結果、byoip-owner-account アカウントは、CIDR を IPAM へ移動できるようになりました。
ステップ 5: 既存の BYOIP IPV4 CIDR を IPAM に転送する
既存の BYOIP IPV4 CIDR を IPAM に転送するには、このセクションのステップに従います。このステップは、byoip-owner-account
アカウントで実行する必要があります。
重要
IPv4 アドレス範囲を AWS に設定すると、最初のアドレス (ネットワークアドレス) と最後のアドレス (ブロードキャストアドレス) を含む、その範囲内のすべての IP アドレスを使用できます。
BYOIP CIDR を IPAM に転送するには、BYOIP CIDR 所有者が IAM ポリシーで次の許可を得ている必要があります。
-
ec2:MoveByoipCidrToIpam
-
ec2:ImportByoipCidrToIpam
注記
この手順には、AWS Management Console または AWS CLI を使用できます。
ステップ 6: IPAM の CIDR を表示する
IPAM の CIDR を表示するには、このセクションのステップに従います。このステップは、ipam-account
アカウントで実行する必要があります。
AWS CLI を使用して IPAM プール内の転送された BYOIP CIDR を表示するには
-
次のコマンドを実行して、IPAM で管理されている割り当てを表示します。
--region
値が BYOIP CIDR の AWS リージョンであることを確認します。aws ec2 get-ipam-pool-allocations --region
us-west-2
--profileipam-account
--ipam-pool-idipam-pool-0d8f3646b61ca5987
出力に、IPAM での割り当てが示されます。
{ "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "111122223333" } ] }
ステップ 7: クリーンアップ
このチュートリアルで作成したリソースを削除するには、このセクションのステップに従います。このステップは、ipam-account
アカウントで実行する必要があります。
AWS CLI を使用してこのチュートリアルで作成したリソースをクリーンアップするには
IPAM プールの共有されたリソースを削除するには、次のコマンドを実行して最初のリソース共有 ARN を取得します。
aws ram get-resource-shares --region
us-east-1
--profileipam-account
--namePoolShare1
--resource-owner SELF{ "resourceShares": [ { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f", "name": "PoolShare1", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:31:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:31:25.536000-07:00", "featureSet": "STANDARD" } ] }
リソース共有 ARN をコピーし、それを使用して IPAM プールリソース共有を削除します。
aws ram delete-resource-share --region
us-east-1
--profileipam-account
--resource-share-arnarn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f
{ "returnValue": true }
-
「ステップ 4: AWS RAM を使用して IPAM プールを共有する」で追加のリソース共有を作成した場合は、上記 2 つのステップを繰り返し、
PoolShare2
の 2 番目のリソース共有 ARN を取得して、2 番目のリソース共有を削除します。 -
次のコマンドを実行して、BYOIP CIDR の割り当て ID を取得します。
--region
値が BYOIP CIDR の AWS リージョンと一致していることを確認します。aws ec2 get-ipam-pool-allocations --region
us-west-2
--profileipam-account
--ipam-pool-idipam-pool-0d8f3646b61ca5987
出力に、IPAM での割り当てが示されます。
{ "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "111122223333" } ] }
-
CIDR の最後の IP アドレスをパブリック IPv4 プールから解放します。ネットマスクに /32 を指定して、IP アドレスを入力します。CIDR 範囲内の IP アドレスごとに、このコマンドを再実行する必要があります。CIDR が
/24
の場合は、このコマンドを実行して、/24
CIDR 内に 256 個ある各 IP アドレスのプロビジョンを解除する必要があります。このセクションのコマンドを実行するときは、--region
の値が IPAM のリージョンと一致する必要があります。このステップは、
byoip-owner-account
アカウントで実行する必要があります。aws ec2 deprovision-public-ipv4-pool-cidr --region
us-east-1
--profilebyoip-owner-account
--pool-idipv4pool-ec2-0019eed22a684e0b3
--cidr130.137.249.255/32
出力に、プロビジョンを解除された CIDR が示されます。
{ "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "DeprovisionedAddresses": [ "130.137.249.255" ] }
-
BYOIP CIDR を再度表示して、プロビジョンされたアドレスがないことを確認します。このセクションのコマンドを実行するときは、
--region
の値が IPAM のリージョンと一致する必要があります。このステップは、
byoip-owner-account
アカウントで実行する必要があります。aws ec2 describe-public-ipv4-pools --region
us-east-1
--profilebyoip-owner-account
出力に、パブリック IPv4 プール内の IP アドレス数が示されます。
{ "PublicIpv4Pools": [ { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "Description": "", "PoolAddressRanges": [], "TotalAddressCount": 0, "TotalAvailableAddressCount": 0, "NetworkBorderGroup": "us-east-1", "Tags": [] } ] }
-
次のコマンドを実行して、最上位プールを削除します。
aws ec2 delete-ipam-pool --region
us-east-1
--profileipam-account
--ipam-pool-idipam-pool-0a03d430ca3f5c035
出力に、削除状態が表示されます。
{ "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", "AwsService": "ec2" } }