パブリックアドレス範囲の作成
パブリックIPアドレスの範囲は、そのサイズを定義し、必要に応じて、 アカウント内の任意のアベイラビリティゾーンにあるVPCを関連付けることで作成できます。
パブリックアドレス範囲にバインドされている間にVPCが削除されても、そのアドレス範囲は存在し続け、後で任意のアベイラビリティゾーンの別のVPCにバインドすることができます。
公開アドレス範囲はコンソール、CLI、API、Terraformで作成できる。
開始前に
パブリック・アドレスの範囲に関する プランニングの考慮事項を 確認してください。
コンソールでパブリックアドレスの範囲を作成する
IBM Cloud コンソールでパブリックアドレスの範囲を作成するには、以下の手順に従います:
-
IBM Cloud コンソールから、 ナビゲーションメニューの
選択し、 [Infrastructure
>[ Network ]>[ Public Address Ranges]の順にクリックします。 VPC のパブリックアドレス範囲]ページが表示されます。
-
**「作成」**をクリックしてプロビジョニング・ページに移動します。
-
「場所」セクションで、パブリックIPアドレス範囲を作成したい地域を指定してください。
-
「詳細」セクションで、以下の情報を入力します。
-
サイズ :アドレス範囲のサイズ(IPアドレスの数)を選択してください。 ブロックに含めるIPは、1、2、4、8、16から選択できる。
パブリックアドレスの範囲を作成した後、そのサイズを変更することはできません。
-
名前 :(任意):パブリックアドレス範囲の名前を入力します(例:
my-public-address-range)。 -
リソースグループ :パブリックアドレス範囲のリソースグループを選択します。
パブリックアドレス範囲を作成した後、リソースグループを変更することはできません。
-
タグ :(任意)リソースを整理したり見つけたりするのに役立つタグを追加してください。 タグは後でいつでも追加できます。 詳しくは、『タグの処理』を参照してください。
-
-
(オプション)パブリックアドレスの範囲を既存のVPCにバインドしたい場合は、 「Bind 」スイッチを「 On 」に切り替えてください。 次に、バインドするVPCとアベイラビリティ・ゾーンを選択します。
パブリック・アドレスの範囲は、アカウントにすでに存在する単一のアベイラビリティ・ゾーン内の任意のVPCにバインドできます。 また、アドレス範囲を後でVPCにバインドすることもできる。 詳細については、 パブリックアドレス範囲のバインドを 参照してください。
-
「作成」 をクリックします。 公開アドレス範囲の使用を要求する。
VPCの公開アドレス範囲ページで、あなたのアドレス範囲が表に表示されるようになりました。 IBM Cloud サービスの場合、パブリックアドレスのステータスは Updating から Stable に変わります。
CLIからパブリックアドレスの範囲を作成する
コマンドラインからパブリックアドレスの範囲を作成するには、以下の手順に従ってください:
-
CLI 環境をセットアップします。
-
CLI 環境にログインしてください。 パスワードを入力すると、使用するアカウントとリージョンの入力を求めるプロンプトが表示されます。
ibmcloud login --sso -
次の機能フラグを有効にしてください:
export IBMCLOUD_IS_FEATURE_PUBLIC_ADDRESS_RANGE=trueIBM Cloud CLI およびそのプラグインの更新が利用可能になると、コマンドラインで通知が届きます。 最新のコマンドにアクセスするためには、CLIを最新の状態に保つことが重要だ。 インストールされているすべてのプラグインの現在のバージョンを確認するには、以下を実行します。
ibmcloud plugin list. -
以下のコマンドを実行します。
ibmcloud is public-address-range-create --ipv4-address-count IPV4_ADDRESS_COUNT [--name NAME] [--vpc VPC --zone ZONE] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]ここで、
--ipv4-address-count- 必要なパブリックIPv4アドレスの合計数。 2の累乗でなければなりません。
--name- パブリックアドレス範囲の名称。
ibm-で始まる名前は、プロバイダーが管理するリソース用に予約されており、使用することはできません。 --vpc- このパブリックアドレス範囲をバインドするVPC。
--zoneが必要です。 --zone- このパブリックアドレス範囲が属するゾーン。
--vpcが必要です。 --resource-group-id- リソース・グループの ID。
--resource-group-nameとは互いに排他的です。 --resource-group-name- リソース・グループの名前。
--resource-group-idとは互いに排他的です。 --output- 出力形式については、JSONのみがサポートされています。 次のいずれか: JSON。
-q, --quiet- 詳細出力を抑制します。
コマンドの例
アドレス数を8として、 public-address-range-1 というパブリックアドレス範囲を作成する:
ibmcloud is public-address-range-create --name public-address-range-1 --ipv4-address-count 8
「 public-address-range-2 」という名前のパブリックアドレス範囲を作成し、アドレス数を4に設定し、リソースグループ「 Default 」を指定します:
ibmcloud is public-address-range-create --name public-address-range-2 --ipv4-address-count 4 --resource-group-name Default
リソースグループIDが 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 で、ゾーン us-south-1 のVPC cli-test-vpc にバインドされた、アドレス数が8の public-address-range-3 という名前のパブリックアドレス範囲を作成します:
ibmcloud is public-address-range-create --name public-address-range-3 --ipv4-address-count 8 --vpc cli-test-vpc --zone us-south-1 --resource-group-id 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3
APIで公開アドレス範囲を作成する
作業を始める前に、 API環境 を設定してください。
以下のいずれかのオプションを選択します。
-
IBM が管理するIPアドレスから、VPCにバインドされたパブリックアドレス範囲を作成します:
curl -sX POST \ "$vpc_api_endpoint/v1/public_address_ranges?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -H "Content-Type: application/json" \ -d '{ "ipv4_address_count": 8, "name": "my-public-address-range", "target": { "vpc": { "id": "r006-4727d842-f94f-4a2d-824a-9bc9b02c523b" }, "zone": { "name": "us-south-1" } } }' -
IBM が管理するIPアドレスから、バインドされていないパブリックアドレス範囲を作成します:
curl -sX POST \ "$vpc_api_endpoint/v1/public_address_ranges?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -H "Content-Type: application/json" \ -d '{ "ipv4_address_count": 8, "name": "my-public-address-range" }'
アドレス範囲またはリソースグループのサイズを変更する必要がある場合は、アドレス範囲を削除して再作成する必要があります。
Terraformで公開アドレス範囲を作成する
Terraformで公開アドレス範囲を作成するには、以下の例を使う:
resource "ibm_is_public_address_range" "example" {
ipv4_address_count = 8
name = "my-public-address-range"
resource_group {
id = data.ibm_resource_group.example.id
}
target {
vpc {
id = ibm_is_vpc.example.id
}
zone {
name = "us-south-1"
}
}
}