IPAM プールからシーケンシャル Elastic IP アドレスを割り当てる
IPAM を使用すると、Amazon 所有のパブリック IPv4 ブロックを IPAM プールにプロビジョニングし、それらのプールから AWS リソースにシーケンシャル Elastic IP アドレスを割り当てることができます。
連続して割り当てられた Elastic IP アドレスは、順次割り当てられたパブリック IPv4 アドレスです。例えば、Amazon が 192.0.2.0/30
のパブリック IPv4 CIDR ブロックを提供し、ユーザーがその CIDR ブロックから使用可能な 4 つのパブリック IPv4 アドレスを割り当てる場合、4 つのシーケンシャル Elastic IP アドレスの例は、192.0.2.0
、192.0.2.1
、192.0.2.2
、192.0.2.3
です。
連続して割り当てられた Elastic IP アドレスを使用すると、次の方法でセキュリティルールとネットワークルールを簡素化できます。
セキュリティ管理: シーケンシャル IPv4 アドレスを使用すると、ファイアウォール管理のオーバーヘッドが軽減されます。単一のルールでプレフィックス全体を追加し、スケールする際に同じプレフィックスから IP を関連付けることで、時間と労力を節約できます。
エンタープライズアクセス: 多数の個別のパブリック IPv4 アドレスの代わりに CIDR ブロック全体を使用することで、クライアントと共有されるアドレス空間を簡素化できます。これにより、アプリケーションが AWS でスケールする際に IP の変更を常に伝達する必要がなくなります。
IP 管理の簡素化: シーケンシャル IPv4 アドレスを使用すると、中心的なネットワークチームのパブリック IP 管理が簡素化されます。これは、個別のパブリック IP を追跡する必要性が軽減され、代わりに限られた数の IP プレフィックスに注力できるためです。
このチュートリアルでは、IPAM プールからシーケンシャル Elastic IP アドレスを割り当てるために必要なステップについて説明します。Amazon 提供の連続したパブリック IPv4 CIDR ブロックを使用して IPAM プールを作成し、プールから Elastic IP アドレスを割り当て、IPAM プールの割り当てをモニタリングする方法について説明します。
-
Amazon 所有のパブリック IPv4 CIDR ブロックのプロビジョニングには料金がかかります。詳細については、Amazon VPC の料金ページの「Amazon 提供の連続した IPv4 ブロック」のタブを参照してください。
-
このチュートリアルは、ユーザーが IPAM を 1 つのアカウントで使用する IPAM の作成を希望していることを前提としています。Amazon 所有の連続したパブリック IPv4 ブロックを複数のアカウントで共有する場合は、まず IPAM を AWS Organizations 内のアカウントと統合する し、次に AWS RAM を使用して IPAM プールを共有する します。AWS Organizations と統合する場合、プールに割り当てられた連続 IPv4 ブロックのプロビジョニングが解除されないようにするためのサービスコントロールポリシーを作成するオプションがあります。
-
IPAM プールから割り当てられたシーケンシャル Elastic IP アドレスを、他の AWS アカウントに転送することはできません。代わりに、IPAM では、IPAM を AWS Organizations と統合することで、複数の AWS アカウント間で IPAM プールを共有できます (上記を参照)。
-
プロビジョニングできる Amazon 所有のパブリック IPv4 CIDR ブロックの数とそのサイズには制限があります。詳細については、「IPAM のクォータ」を参照してください。
ステップ 1: IPAM を作成する
このセクションのステップを実行して IPAM プールを作成します。
- AWS Management Console
-
IPAM を作成するには
IPAM コンソール (https://console.aws.amazon.com/ipam/) を開きます。
-
AWS マネジメントコンソールで、IPAM を作成する AWS リージョンを選択します。オペレーションの主要リージョンに IPAM を作成します。
-
サービスホームページで [IPAM の作成] を選択します。
-
[Allow Amazon VPC IP Address Manager to replicate data from source account(s) into the IPAM delegate account] (Amazon VPC IP Address Manager がソースアカウントから IPAM 委任アカウントにデータをレプリケートするのを許可する) を選択します。このオプションを選択しないと、IPAM を作成できません。
-
IPAM 階層を選択します。各利用枠で利用できる機能と利用枠に関連するコストの詳細については、「Amazon VPC の料金」で [IPAM] タブを参照してください。
-
[運用リージョン] で、この IPAM がリソースを管理および検出できる AWS リージョンを選択します。IPAM を作成している AWS リージョンは、デフォルトで運用リージョンの 1 つとして選択されています。たとえば、この IPAM を AWS リージョン us-east-1
で作成しているが、us-west-2
の VPC に CIDR を提供するリージョン IPAM プールを後で作成したい場合は、ここで us-west-2
を選択します。運用リージョンを忘れた場合は、後で戻って IPAM の設定を編集できます。
無料利用枠で IP アドレス管理を作成する場合、IP アドレス管理用に複数の運用地域を選択できますが、運用リージョン全体で利用できる IP アドレス管理機能はPublic IP Insightsだけです。無料利用枠の他の機能 (BYOIP など) を IP アドレス管理の対象リージョン全体で使用することはできません。IPAM のホームリージョンを通じてのみ使用できます。運用リージョン全体ですべての IP アドレス管理機能を使用するには、アドバンスト枠で [IP アドレス管理] を作成してください。
-
[Create IPAM] (IPAM を作成) を選択します。
- Command line
-
このセクションのコマンドは、AWS CLI リファレンスドキュメントに関連しています。ドキュメントには、コマンドの実行時に使用できるオプションの詳細な説明が記載されています。
create-ipam コマンドを使用して IPAM を作成します。
aws ec2 create-ipam --region us-east-1
レスポンスの例:
{
"Ipam": {
"OwnerId": "320805250157",
"IpamId": "ipam-0755477df834ea06b",
"IpamArn": "arn:aws:ec2::320805250157:ipam/ipam-0755477df834ea06b",
"IpamRegion": "us-east-1",
"PublicDefaultScopeId": "ipam-scope-01bc7290e4a9202f9",
"PrivateDefaultScopeId": "ipam-scope-0a50983b97a7a583a",
"ScopeCount": 2,
"OperatingRegions": [
{
"RegionName": "us-east-1"
}
],
"State": "create-in-progress",
"Tags": [],
"DefaultResourceDiscoveryId": "ipam-res-disco-02cc5b34cc3f04f09",
"DefaultResourceDiscoveryAssociationId": "ipam-res-disco-assoc-06b3a4dccfc81f7c1",
"ResourceDiscoveryAssociationCount": 1,
"Tier": "advanced"
}
}
PublicDefaultScopeId は次のステップで必要になります。スコープの詳細については、IPAM の仕組みを参照してください。
ステップ 2: IPAM プールを作成して CIDR をプロビジョニングする
Elastic IP アドレスの割り当て元とする IPAM プールを作成するには、このセクションのステップを実行します。
- AWS Management Console
-
プールを作成するには
IPAM コンソール (https://console.aws.amazon.com/ipam/) を開きます。
-
ナビゲーションペインで、[プール] を選択します。
-
パブリックスコープを選択します。スコープの詳細については、「IPAM の仕組み」を参照してください。
-
[プールを作成] を選択します。
-
(オプション) プールの [名前タグ] とプールの [説明] を追加します。
-
[ソース] で [IPAM 範囲] を選択します。
-
[アドレスファミリー] には [IPv4] を選択します。
-
[リソース計画] で、[範囲内のIP 空間計画] は選択したままにしておきます。
-
[Locale] (ロケール) で、プールのロケールを選択します。ロケールは、この IPAM プールを割り当てることができるようにする AWS リージョンです。使用可能なオプションは、IPAM を作成したときに選択した運用リージョンによって提供されます。
-
[Service] (サービス) で、[EC2 (EIP/VPC)] を選択します。選択したサービスによって、CIDR がアドバタイズされる AWS サービスが決定します。現在、唯一の選択肢は EC2 (EIP/VPC) であり、このプールから割り当てられた CIDR は、Amazon EC2 サービス (Elastic IP アドレスの場合) に対してアドバタイズできるようになります。
-
[パブリック IP ソース] で、[Amazon 所有] を選択します。
-
[プロビジョニングする CIDR] で、[Amazon 所有のパブリック CIDR を追加] を選択します。/29
(8 つの IP アドレス) から /30
(4 つの IP アドレス) までのネットマスク長を選択します。デフォルトでは、最大 2 つの CIDR を追加できます。Amazon 提供の連続したパブリック IPv4 CIDR の制限の引き上げに関する詳細については、「IPAM のクォータ」を参照してください。
-
[このプールの割り当てルールを設定する] は選択しません。
-
(オプション) プールのタグを選択します。
-
[プールを作成] を選択します。
続行する前に、この CIDR のプロビジョンが完了したことを確認してください。プロビジョニングの状態は、プールの詳細ページの CIDR タブで確認できます。
- Command line
-
プールを作成するには
-
create-ipam-pool コマンドを使用して IPAM プールを作成します。ロケールは、この IPAM プールを割り当てることができるようにする AWS リージョンです。使用可能なオプションは、IPAM を作成したときに選択した運用リージョンによって提供されます。
aws ec2 create-ipam-pool --region us-east-1
--ipam-scope-id ipam-scope-01bc7290e4a9202f9
--address-family ipv4 --locale us-east-1
--aws-service ec2 --public-ip-source amazon
create-in-progress
状態の応答例:
{
"IpamPool": {
"OwnerId": "320805250157",
"IpamPoolId": "ipam-pool-07ccc86aa41bef7ce",
"IpamPoolArn": "arn:aws:ec2::320805250157:ipam-pool/ipam-pool-07ccc86aa41bef7ce",
"IpamScopeArn": "arn:aws:ec2::320805250157:ipam-scope/ipam-scope-01bc7290e4a9202f9",
"IpamScopeType": "public",
"IpamArn": "arn:aws:ec2::320805250157:ipam/ipam-0755477df834ea06b",
"IpamRegion": "us-east-1",
"Locale": "us-east-1",
"PoolDepth": 1,
"State": "create-in-progress",
"AutoImport": false,
"AddressFamily": "ipv4",
"Tags": [],
"AwsService": "ec2",
"PublicIpSource": "amazon"
}
}
-
describe-ipam-pools コマンドを使用して、プールが正常に作成されたことを確認します。
aws ec2 describe-ipam-pools --region us-east-1
--ipam-pool-ids ipam-pool-07ccc86aa41bef7ce
create-complete
状態の応答例:
{
"IpamPools": [
{
"OwnerId": "320805250157",
"IpamPoolId": "ipam-pool-07ccc86aa41bef7ce",
"IpamPoolArn": "arn:aws:ec2::320805250157:ipam-pool/ipam-pool-07ccc86aa41bef7ce",
"IpamScopeArn": "arn:aws:ec2::320805250157:ipam-scope/ipam-scope-01bc7290e4a9202f9",
"IpamScopeType": "public",
"IpamArn": "arn:aws:ec2::320805250157:ipam/ipam-0755477df834ea06b",
"IpamRegion": "us-east-1",
"Locale": "us-east-1",
"PoolDepth": 1,
"State": "create-complete",
"AutoImport": false,
"AddressFamily": "ipv4",
"Tags": [],
"AwsService": "ec2",
"PublicIpSource": "amazon"
}
]
}
-
provision-ipam-pool-cidr コマンドを使用して、CIDR をプールにプロビジョニングします。/29
(8 個の IP アドレス) から /30
(4 個の IP アドレス) までの --netmask-length
を選択します。デフォルトでは、最大 2 つの CIDR を追加できます。Amazon 提供の連続したパブリック IPv4 CIDR の制限の引き上げに関する詳細については、「IPAM のクォータ」を参照してください。
aws ec2 provision-ipam-pool-cidr --region us-east-1
--ipam-pool-id ipam-pool-07ccc86aa41bef7ce
--netmask-length 29
pending-provision
状態の応答例:
{
"IpamPoolCidr": {
"State": "pending-provision",
"IpamPoolCidrId": "ipam-pool-cidr-01856e43994df4913b7bc6aac47adf983",
"NetmaskLength": 29
}
}
-
続行する前に、この CIDR のプロビジョンが完了したことを確認してください。プロビジョニングの状態は、get-ipam-pool-cidrs コマンドを使用して確認できます。
aws ec2 get-ipam-pool-cidrs --region us-east-1
--ipam-pool-id ipam-pool-07ccc86aa41bef7ce
provisioned
状態の応答例:
{
"IpamPoolCidrs": [
{
"Cidr": "18.97.0.40/29",
"State": "provisioned",
"IpamPoolCidrId": "ipam-pool-cidr-01856e43994df4913b7bc6aac47adf983",
"NetmaskLength": 29
}
]
}
ステップ 3: プールから Elastic IP アドレスを割り当てる
プールから Elastic IP アドレスを割り当てるには、このセクションのステップを実行します。
- AWS Management Console
-
「Amazon EC2 ユーザーガイド」の「Elastic IP アドレスを割り当てる」のステップに従ってアドレスを割り当てます。ただし、次の点に注意してください。
- Command line
-
allocate-address コマンドを使用して、プールからアドレスを割り当てます。使用する --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 アドレスを割り当てる」を参照してください。
ステップ 4: Elastic IP アドレスと EC2 インスタンスの関連付け
Elastic IP アドレスを EC2 インスタンスに関連付けるには、このセクションのステップを実行します。
- AWS Management Console
-
「Amazon EC2 ユーザーガイド」の「Elastic IP アドレスを関連付ける」にあるステップに従って、IPAM プールから Elastic IP アドレスを割り当てます。ただし、AWS マネジメントコンソールオプションを使用する場合は、Elastic IP アドレスを関連付ける AWS リージョンが、ステップ 2 でプールを作成したときに選択したロケールオプションと一致する必要があることに注意してください。
- Command line
-
associate-address コマンドを使用して、Elastic IP アドレスをインスタンスに関連付けます。Elastic IP アドレスを関連付ける --region
は、ステップ 2 でプールを作成したときに選択した --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 アドレスをインスタンスまたはネットワークインターフェイスに関連付ける」を参照してください。
ステップ 5: プールの使用状況を追跡およびモニタリングする
IPAM プールから Elastic IP アドレスを割り当てたら、IPAM プールの割り当てを追跡してモニタリングすることができます。
- AWS Management Console
-
-
IPAM コンソールで IPAM プールの詳細の [割り当て] タブを表示します。IPAM プールから割り当てられた Elastic IP アドレスの [リソースタイプ] は [EIP] です。
-
Public IP Insights を使用する:
-
[パブリック IP タイプ] で、[Amazon 所有の EIP] でフィルタリングします。これは、Amazon 所有の Elastic IP アドレスに割り当てられたパブリック IPv4 アドレスの合計数を示します。このメジャーでフィルタリングし、ページの下部にある [パブリック IP アドレス] までスクロールすると、割り当てた Elastic IP アドレスを確認できます。
-
[EIP の使用状況] で、[関連付けられた Amazon 所有の EIP] または [関連付けられていない Amazon 所有の EIP] でフィルタリングします。これは、AWS アカウントで割り当てた Elastic IP アドレスのうち、EC2 インスタンス、ネットワークインターフェイス、または AWS リソースに関連付けられている、または関連付けられていないものの合計数を示します。このメジャーでフィルタリングし、ページの下部にある [パブリック IP アドレス] までスクロールすると、フィルタリングされたリソースの詳細を確認できます。
-
[Amazon 所有の IPv4 連続した IP の使用状況] で、シーケンシャルパブリック IPv4 アドレスの使用状況を経時的にモニタリングするとともに、関連する Amazon 所有の IPv4 IPAM プールをモニタリングします。
-
Amazon CloudWatch を利用して、IPAM プールにプロビジョニングされた Amazon 提供の連続したパブリック IPv4 ブロックに関連するメトリクスを追跡およびモニタリングします。連続したする IPv4 ブロックに固有の使用可能なメトリクスについては、「IPAM メトリクス」の「パブリック IP メトリクス」を参照してください。メトリクスの表示に加えて、Amazon CloudWatch でアラームを作成して、しきい値に達したときに通知を受け取ることができます。Amazon CloudWatch を使用したアラームの作成と通知の設定は、このチュートリアルの範囲外です。詳細については、『Amazon CloudWatch ユーザーガイド』の「Amazon CloudWatch アラームの使用」を参照してください。
- Command line
-
get-ipam-pool-allocations コマンドを使用して、IPAM プールの割り当てを表示します。IPAM プールから割り当てられた Elastic IP アドレスの [リソースタイプ] は [eip] です。
aws ec2 get-ipam-pool-allocations --region us-east-1
--ipam-pool-id ipam-pool-07ccc86aa41bef7ce
レスポンスの例:
{
"IpamPoolAllocations": [
{
"Cidr": "18.97.0.40/32",
"IpamPoolAllocationId": "ipam-pool-alloc-0bd07df786e8148aba2763e2b6c1c44bd",
"ResourceId": "eipalloc-0c9decaa541d89aa9",
"ResourceType": "eip",
"ResourceRegion": "us-east-1",
"ResourceOwner": "320805250157"
}
]
}
-
Amazon CloudWatch を利用して、IPAM プールにプロビジョニングされた Amazon 提供の連続したパブリック IPv4 ブロックに関連するメトリクスを追跡およびモニタリングします。連続したする IPv4 ブロックに固有の使用可能なメトリクスについては、「IPAM メトリクス」の「パブリック IP メトリクス」を参照してください。メトリクスの表示に加えて、Amazon CloudWatch でアラームを作成して、しきい値に達したときに通知を受け取ることができます。Amazon CloudWatch を使用したアラームの作成と通知の設定は、このチュートリアルの範囲外です。詳細については、『Amazon CloudWatch ユーザーガイド』の「Amazon CloudWatch アラームの使用」を参照してください。
これでチュートリアルは完了しました。Amazon 提供の連続したパブリック IPv4 CIDR ブロックを使用して IPAM プールを作成し、プールから Elastic IP アドレスを割り当て、IPAM プールの割り当てをモニタリングする方法について学習しました。このチュートリアルで作成したリソースを削除するには、次のセクションに進みます。
クリーンアップ
このセクションのステップに従って、このチュートリアルで作成したリソースをクリーンアップします。
ステップ 1: Elastic IP アドレスの関連付けを解除する
「Amazon EC2 ユーザーガイド」の「Elastic IP アドレスの関連付けを解除する」にあるステップを実行して、Elastic IP アドレスの関連付けを解除します。
ステップ 2: Elastic IP アドレスを解放する
「Amazon EC2 ユーザーガイド」の「Elastic IP アドレスを解放する」にあるステップを実行して、パブリック IPv4 プールから Elastic IP アドレスを解放します。
ステップ 3: IPAM プールから CIDR のプロビジョニングを解除する
プールから CIDR のプロビジョニングを解除するには のステップを実行して、Amazon 所有のパブリック CIDR のプロビジョニングを IPAM プールから解除します。このステップは、プールの削除に必要なステップです。このステップが完了するまでは、Amazon 提供の連続する IPv4 ブロックの料金が請求されます。
ステップ 4: IPAM プールを削除する
プールを削除する のステップを実行して IPAM プールを削除します。
ステップ 5: IPAM を削除する
IPAM を削除する のステップを実行して IPAM を削除します。
これで、チュートリアルのクリーンアップは完了です。