IBM Cloud Docs
予約 IP について

予約 IP について

VPC の予約済み IP 機能を使用すると、リソースで使用する IP アドレスを予約できます。 特定のアドレスを指定することも、システムに任意の使用可能なアドレスを選択させることもできます。 また、アドレスをバインドするターゲットの有無にかかわらず、新しい IP 予約を行うこともできます。

開始前に

予約済み IP は、サブネットのサブリソースです。 Identity and Access Management (IAM) は現在、サブリソースをサポートしていないため、予約済み IP はサブネットから権限を「継承」します。

予約済み IP に必要な IAM 許可を確認するには、サブネット呼び出しを参照してください。

VPC はフラグメント化された IP パケットをサポートしません。 フラグメント化されたパケットは、エッジでドロップされます。

予約済み IP の既知の問題

以下の問題は、予約済み IP に適用されます。 これらの問題は今後のリリースで解決される予定だ。

問題 VPNゲートウェイ、IKSワーカーノード、またはDNSサービスインスタンスにバインドされている予約済みIPアドレスが、ターゲットがないように表示される(予約済みIPリソースを取得するときに、 target プロパティが含まれない)。

その結果、そのような予約IPアドレスはバインドされていないように見えるかもしれない。 バインドされていないように見えるが、これらの予約IPアドレスは、ターゲットリソースが削除されるまで削除できない。

コンソールでは、"unbound "と表示されている予約IPアドレスが、表示できないリソースにバインドされている可能性がある。

問題: インスタンス・メタデータ API は現在、予約済み IP をサポートしていません。

回避策: インスタンス上の各ネットワーク・インターフェースの IP アドレスを取得するには、引き続き primary_ipv4_address プロパティーを使用します。 VPC メタデータ API を参照してください。

問題 VPC API を使用して ベアメタルサーバーネットワークインターフェースのフローティング IP アドレスをリスト すると、ベアメタルサーバーネットワークインターフェイスに関連付けられたフローティング IP アドレスの不完全なリストが表示されることがある。

ベア・メタル・ネットワーク・インターフェースに関連付けられた浮動 IP は、ネットワーク・インターフェース statusavailableになるまで使用できません。

回避策:

  • ベアメタルサーバーのネットワークインターフェイスが available になるまで待ってから、インターフェイス上のフローティング IP アドレスをリストアップする。
  • すべての浮動 IP をリストします。まだ availableではないベア・メタル・サーバー・インターフェースに関連付けられているものを表示します。

コンソールで予約IPを作成する

予約 IP を作成するには、以下の手順を実行します。

  1. IBM Cloud メニューから、 Infrastructure(インフラストラクチャー) > Network(ネットワーク ) > Subnets(サブネット )を選択します。
  2. 既存のサブネットを選択するか、新しいサブネットを作成します。
  3. 「予約済み IP」タブをクリックします。
  4. **作成 +**をクリックします。

以下のセクションでは、異なる属性を持つ予約済み IP アドレスの処理について説明します。

関連付けられていない予約済み IP の作成

関連付けられていない予約済み IP を作成するには、以下の手順を実行します。

  1. 予約 IP の名前を入力します。 名前には必ず、スペースを含まない小文字の英数字を使用してください。
  2. システムで自動的に予約 IP を選択するか、既存の予約 IP のリストから選択するか、自分で入力するかを選択します。
  3. 特定の IP アドレスが必要な場合は、アドレスを選択します (オプション)。
  4. **「IP の予約」**をクリックします。

予約済み IP の削除

UI を使用して予約済み IP を削除 (解放) するには、サブネット >予約済み IP にナビゲートし、削除する予約済み IP の横にあるアクション・メニュー アクション・メニュー をクリックします。 リリースを選択します。

CLIから予約IPを操作する

CLI を使用して、予約済み IP アドレスを作成、更新、および削除できます。

開始する前に、 CLI 環境をセットアップします

CLIから予約IPを作成する

CLI を使用して VPC プライベート IP アドレスを予約するには、以下のコマンドを実行します。

ibmcloud is subnet-reserved-ip-create SUBNET [--vpc VPC] [--name NAME] [--address IPADDRESS] [--auto-delete true | false] [--target TARGET] [--output JSON] [-q, --quiet]

ここで、

  • SUBNET はサブネットの ID です。
  • --vpc は、VPC の ID または名前です。 このオプションは、この VPC 内で固有のリソースを名前で指定する場合にのみ必要です。
  • --name は、この予約 IP のユーザー定義名です。 名前は、予約済み IP が存在するサブネット内で固有である必要があります。 ibm- で始まる名前は、プロバイダー所有のリソース用に予約されています。
    • -addressは予約するIPアドレスで、サブネット上ですでに予約されているものであってはならない。 指定しない場合、サブネット上の使用可能なアドレスが自動的に選択されます。
  • --auto-delete は、自動削除機能の設定方法を決定します。 trueに設定されている場合、この予約 IP は、ターゲットが削除されると自動的に削除されます。 truefalse のいずれか (デフォルト: true)。
  • --target は、予約 IP のターゲットです。
  • --output は出力形式を指定します。JSON のみがサポートされます。
  • -q, --quiet は、詳細な出力を非表示にします。

CLIから予約IPを更新する

CLIから予約IPを更新するには、以下のコマンドを実行する:

ibmcloud is subnet-reserved-ip-update SUBNET RESERVED_IP [--vpc VPC] [--name NEW_NAME] [--auto-delete true | false] [--output JSON] [-q, --quiet]

ここで、

  • SUBNET はサブネットの ID です。
  • RESERVED_IP は、予約済み IP の ID です。
  • --vpc は、VPC の ID または名前です。 これは、この VPC 内で固有のリソースを名前で指定する場合にのみ必要です。
  • --name は、予約 IP の新しい名前です。
  • --auto-delete は、自動削除機能の設定方法を決定します。 trueに設定されている場合、この予約 IP は、ターゲットが削除されると自動的に削除されます。 truefalse のいずれか (デフォルト: true)。
  • --output は出力形式を指定します。JSON のみがサポートされます。
  • -q, --quiet は、詳細な出力を非表示にします。

CLIから予約IPを削除する

CLIから予約IPを削除するには、予約IPのバインドを解除する必要があります。 予約済み IP をアンバインドした後、以下のコマンドを実行して削除します。

ibmcloud is subnet-reserved-ip-delete SUBNET (RESERVED_IP1 RESERVED_IP2 ...) [--vpc VPC] [-f, --force] [--output JSON] [-q, --quiet]

ここで、

  • SUBNET はサブネットの ID です。
  • RESERVED_IP1 RESERVED_IP2 は、予約 IP の ID です。 1 つ以上を指定できます。
  • --vpc は、VPC の ID または名前です。 これは、この VPC 内で固有のリソースを名前で指定する場合にのみ必要です。
  • --force, -f は、確認を求めずに操作を強制します。
  • --output は出力形式を指定します。JSON のみがサポートされます。
  • -q, --quiet は、詳細な出力を非表示にします。

API の使用

APIを使って予約IPを作成するには、以下の手順に従ってください:

  1. API 環境をセットアップします。

  2. サブネットの作成

  3. API コマンドで使用する変数にサブネット ID を保管します。

    export SubnetId=<your_subnet_id>
    
  4. 予約 IP を作成し、オプションで address プロパティーにアドレスを指定します。

curl -X POST -sH "Authorization:${iam_token}" \
"$vpc_api_endpoint/v1/subnets/$SubnetId/reserved_ips?version=$api_version&generation=2" \
-d '{"name": "test-reserved-ip", "address": "10.240.0.15"}' | jq

この例では、 jq をパーサーとして使用しています。 jq は、 MIT ライセンスの 下でライセンスされたサードパーティツールです。インスタンスの作成時に利用可能なすべての VPC イメージにプリインストールされているとは限りません。 使用する前に jq をインストールするか、お好みの他のパーサーを使用する必要があるかもしれません。

予約済み IP の削除

予約済み IP を削除するには、以下の API を使用します。

curl -X DELETE -sH "Authorization:${iam_token}" \
"$vpc_api_endpoint/v1/subnets/$SubnetId/reserved_ips/$ReservedIpId?version=$api_version&generation=2"
  • この API では、1 次ネットワーク・インターフェースにバインドされている予約済み IP を削除することはできません。 仮想サーバー・インスタンスには 1 次ネットワーク・インターフェースが必要であり、すべてのネットワーク・インターフェースには予約 IP が必要です。
  • 2 次ネットワーク・インターフェースにバインドされる予約 IP は、以下のようなさまざまなリソースにバインドできますが、これらに限定されるわけではありません。
    • ネットワーク・インターフェース
    • 仮想プライベート・エンドポイント (VPE)
    • ロード・バランサー
    • VPN ゲートウェイ
    • IKS ワーカー
    • DNS Services インスタンス
  • 予約 IP をアンバインドすると、自動削除プロパティーが trueに設定されている場合に予約 IP が削除されます。

自動削除が無効になっている場合

バインドせずに予約済み IP を作成した場合、デフォルトでは自動削除は無効になっています。 アンバインドされた予約済み IP では、自動削除を有効にすることはできません。

自動削除オプションがオフの場合、アンバインドによって予約済み IP はそのまま残りますが、予約済み IP は削除されません。

自動削除が有効になっている場合

予約 IP を指定せずに仮想サーバー・インスタンスを作成すると、システムによって予約 IP が作成され、1 次ネットワーク・インターフェースにバインドされます。 このシナリオでは、自動削除機能はデフォルトで有効になっています。

自動削除オプションがオンの場合、ターゲットから予約 IP をアンバインドすると、予約 IP が削除されます。

予約済み IP が削除されるまでに数分かかる場合があります。