IBM Cloud Docs
VPC でのサブネットの処理

VPC でのサブネットの処理

サブネットは、ネットワーク・トラフィックが起点から宛先までより効率的なパスを移動するのに役立ちます。 サブネットでアクセス制御リスト (ACL) を使用して、各サブネット内のリソースを保護できます。

開始前に

始める前に、リストされている条件に応じて、以下のアクションを含む 1 つ以上の IAM アクセス役割が割り当てられている必要があります。 アクセス権限は [、ユーザー ] > [ユーザー] > [アクセス] に移動して確認できます。

  • is.subnet.subnet.create
  • is.public-gateway.public-gateway.operate が指定された public_gateway 場合に必要
  • is.network-acl.network-acl.operate

VPC内のサブネットの作成

コンソール、CLI、またはAPIを使用して、VPC内にサブネットを作成できます。

サブネットに RFC 1918 で定義されている範囲(10.0.0.0/8, 172.16.0.0/12, または 192.168.0.0/16)外の IP 範囲を使用すると、そのサブネットに接続されたインスタンスがパブリックインターネットの一部へ到達できなくなる可能性があります。 アドレス non-RFC-1918 を使用し、かつパブリック接続性( フローティングIP アドレスまたはパブリックゲートウェイ)を持つVPCを設定する場合は、Delegate-VPCアクションを含むカスタムルートを使用するようにしてください。

コンソールでのVPC内サブネットの作成

VPC インスタンスにサブネットを作成するには、以下の手順を実行します。

  1. ブラウザーから、 IBM Cloud コンソールを開きます。

  2. ナビゲーション メニューナビゲーション メニュー アイコン を選択し、 インフラストラクチャVPC アイコン > ネットワーク > サブネットをクリックします。

  3. 「VPC のサブネット」リスト・テーブルで 「作成 +」 をクリックします。

  4. 「場所」セクションには、以下の情報を入力してください:

    • 地理: サブネットを作成する大まかなエリアを指定します。
    • 地域: サブネットを作成するリージョンを指定します。
    • ゾーン: サブネットを作成するゾーンを指定します。
  5. 詳細セクションには、以下の情報を記載してください:

    • 名前: サブネットの固有 ID ( my-subnet など) を入力します。

    • リソースグループ: サブネット用のリソースグループを選択してください。

    • タグ: オプションで、サブネットのグループ化に役立つ関連タグを追加します。

    • アクセス管理タグ: オプションで、アクセス管理タグをリソースに追加して、アクセス制御関係の編成に役立てます。 サポートされるアクセス管理タグの形式は key:value のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。

    • 仮想プライベートクラウド: サブネットを作成する VPC を選択します。

    • IP 範囲の選択: IP 範囲の最も効率的な場所が自動的に計算されます。 デフォルトの選択を受け入れる代わりに IP 範囲をカスタマイズする場合は、別のアドレス接頭部を選択するか、アドレス数を変更するか、IP 範囲を手動で入力します。

    • ルーティングテーブル: 新しいサブネットで使用するルーティング テーブルを選択します。

    • サブネット・アクセス制御リスト: 新規サブネットで使用するアクセス制御リストを選択します。

    • パブリック・ゲートウェイ: スイッチを 「接続済み」 に切り替えることによって、サブネットがパブリック・インターネットと通信するかどうかを示します。

      パブリックゲートウェイをアタッチすると、 が作成され フローティングIP 、コストが発生します。

  6. 「要約」パネルで、 「サブネットの作成」 をクリックしてサブネットを作成します。

「接続されたリソース」タブ

[ アタッチされたリソース ] タブには、サブネットにアタッチされているすべてのリソースが表示され、新しいリソースを作成してアタッチする方法が提供されます。 このタブから以下のリソースを作成できます。

  • インスタンス
  • ベアメタル・サーバー
  • インスタンス・テンプレート
  • インスタンス・グループ
  • ロード・バランサー
  • VPN ゲートウェイ
  • 仮想エンドポイント・ゲートウェイ
  • VPN サーバー

作成するリソースのリソース・リスト・テーブルで 「作成 +」 をクリックします。 該当するリソース作成ワークフローに移動し、リソース作成プロセスを開始できます。

「予約済み IP」タブ

予約済みIP タブは、サブネットに関連付けられているすべての予約済みIPアドレスのリストです。 予約済みIPアドレスの詳細については、 「IPアドレスの管理」 を参照してください。

VPC内のサブネットをCLIから作成する

CLIからサブネットを作成するには、次のコマンドを実行します:

ibmcloud is subnet-create SUBNET_NAME VPC ((--zone ZONE_NAME --ipv4-address-count ADDR_COUNT) | --ipv4-cidr-block CIDR_BLOCK) [--acl ACL] [--pgw PGW] [--rt RT] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] {} [--output JSON] [-q, --quiet]

ここで、

SUBNET_NAME
サブネットの名前。
VPC
VPC の ID または名前。
--ipv4-cidr-block
サブネットの IPv4 範囲。 このオプションはと排他的 --ipv4-address-count です。
--ipv4-address-count
必要な IPv4 アドレスの総数は、2の累乗でなければならず、最小値は8である。 このオプションはと排他的 --ipv4-cidr-block です。
--zone
ゾーンの名前。
--acl
ネットワーク ACL の ID または名前。
--pgw
パブリック・ゲートウェイの ID または名前。
--rt
ルーティング・テーブルの ID または名前。 このオプションは、ルーティングテーブルのクラウドリソース名(CRN)もサポートする。
--resource-group-id
リソース・グループの ID。 このIDは.と排他的 --resource-group-name です。
--resource-group-name
リソース・グループの名前。 この名称は. と相互排他的である --resource-group-id
--output
出力フォーマットを指定します。JSON のみがサポートされています。 以下のいずれかです: JSON
-q, --quiet
詳細出力を抑制します。

VPCでAPIを使用してサブネットを作成する

API を使用して VPC にサブネットを作成するには、以下の手順に従ってください。

  1. API 環境をセットアップします。
  2. APIコマンドで使用する追加の変数を格納します。
サブネット作成のためのパラメータ
照会パラメーター 情報
バージョン
必須
string
指定された日付時点でのAPIの YYYY-MM-DD バージョンを要求します。 現在日付までの任意の日付を指定できます。 最新バージョンをリクエストするには、現在の日付を指定してください。
可能な値: 値は正規表現に一致する必要があります ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
**生成
必須
int32
インフラストラクチャー世代。
可能な値: 2
リクエスト本文
が必要です
サブネットプロトタイプオブジェクト。
vpc
必須
string
サブネットが配置されるVPC。
次のいずれか: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref
IPバージョン
string
このサブネットでサポートするIPバージョン。 許容値: [ipv4]
名前
必須
string
このサブネットの名前。 その名前は、VPC内の別のサブネットで使用されてはなりません。 指定がない場合、名前はランダムに選ばれた単語のハイフンで連結されたリストになります。
可能な値: 1 ≤ 長さ ≤ 63, 値は正規表現に一致 ([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
する必要がある例: my-subnet
ネットワークACL
string
このサブネットに使用するネットワークACL。 指定がない場合、VPC のデフォルトネットワークアクセス制御リストが使用されます。
次のいずれか: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref
パブリックゲートウェイ
string
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。 指定がない場合、サブネットはパブリックゲートウェイに接続されません。
次のいずれか: PublicGatewayIdentityById, PublicGatewayIdentityByCRN, PublicGatewayIdentityByHref
リソースグループ
ResourceGroupIdentityById
使用するリソース・グループ。 指定がない場合、 アカウント のデフォルト のリソースグループが使用されます。
ルーティングテーブル
string
このサブネットに使用するルーティングテーブル。 指定されていない場合は、VPC のデフォルト・ルーティング・テーブルが使用されます。 ルーティングテーブルのプロパティ route_direct_link_ingress, route_internet_ingress, route_transit_gateway_ingress, および route_vpc_zone_ingress は でなければならない false
次のいずれか: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref
int 64
SubnetByTotalCount
または SubnetByCIDR

string

の IPv4 総数を指定してください。 SubnetByTotalCount サブネットの範囲 IPv4 をCIDR形式で指定してください SubnetByCIDR。 どちらのオプションも、サブネットを作成するため zone のが必要です。

すべての変数が開始されたら、要求を送信します。

以下の例を参照してください。

curl -X POST
"$vpc_api_endpoint/v1/subnets?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
      "name": "my-subnet-1",
      "ipv4_cidr_block": "10.0.1.0/24",
      "ip_version": "ipv4",
      "zone": { "name": "us-south-1" },
      "vpc": { "id": "a0819609-0997-4f92-9409-86c95ddf59d3" }
    }'

リクエストを開始した後に表示される応答は以下の通りです:

API応答例
応答本文 詳細
available_ipv4_address_count
常に含まれる
int64
このサブネット内で使用されておらず、ユーザーまたはプロバイダーによって予約されていないアドレ IPv4 スの数。
例: 15
created_at
は常に含まれます
date-time
サブネットが作成された日時。
CRNは
常に含まれます
string
このサブネットのCRN。
可能な値: 9 ≤ 長さ ≤ 5 12
例: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • href
    は常に含まれます*
    string
このサブ URL ネットの
可能な値: 10 ≤ 長さ ≤ 8000, 値は正規表現に一致する必要がある ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
例: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • id
    は常に含まれます
    string
このサブネットの
固有 識別子可能な値: 1 ≤ 長さ ≤ 64、値は正規表現に一致**する必要がある **^[-0-9a-z_]+$
例: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
常に含まれる
string
このサブネットでサポートされているIPバージョン。
可能な値: [ipv4]
ipv4_cidr_block
常に含まれる
string
サブネットの範囲 IPv4 は、CIDR形式で表現されます。
可能な値: 9 ≤ 長さ ≤ 18、値は正規表現に一致 ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$
する必要がある例: 10.0.0.0/24
name
常に含まれる
string
このサブネットの名前。 この名前はVPC内のすべてのサブネットで一意です。
可能な値: 1 ≤ 長さ ≤ 63, 値は正規表現に一致 ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$
する必要がある例: my-subnet
ネットワークACL 常に含まれる
NetworkACLReference
リソースグループは
常に含まれます
ResourceGroupReference
このサブネットのリソースグループ。
resource_type
常に含まれる
string
リソース・タイプ。
可能な値: 1 ≤ 長さ ≤ 128, 値は正規表現に一致 ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
する必要がある例: subnet
ルーティング
テーブル 常に含まれる
RoutingTableReference
このサブネットのルーティングテーブル。
ステータス
常に含まれる
string
サブネットの状態。
可能な値: available,deleting,failed, pending
total_ipv4_address_count
常に含まれる
int64
vpc
常に含まれる
VPCReference
このサブネットが属するVPC。
ゾーン
 常に含まれる
ZoneReference
このサブネットが属するゾーン。
パブリックゲートウェイ
PublicGatewayReference
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。
ステータスコードを作成する
状況コード 意味
201 サブネットは正常に作成されました。
400 無効なサブネットプロトタイプオブジェクトが提供されました。
409 サブネットプロトタイプオブジェクトがVPC内の別のサブネットと競合しているか、VPCのアドレスプレフィックスの範囲外のCIDRブロックを指定しています。

詳細情報(Java Node、 Python、および Go の例を含む)については、 VPC API リファレンス create a subnet メソッドを参照してください。

VPC でのサブネットの表示

UI、API、または CLI を使用して、VPC 内のサブネットの詳細を表示できます。

コンソールでVPC内のサブネットを表示する

サブネットが作成されると、VPC のサブネット一覧に表示されます。

コンソールのリストでサブネットの詳細を表示するには、 [名前] 列のサブネットのリンクをクリックします。 [概要 ]タブには、サブネット作成時に使用した情報が表示されます。

CLIからVPC内のサブネットを表示する

VPC内のサブネットの詳細をCLIから確認するには、次のコマンドを実行します:

ibmcloud is subnet SUBNET [--vpc VPC] [--show-attached] [--output JSON] [-q, --quiet]

ここで、

SUBNET
サブネットの ID または名前。
--vpc
VPC の ID または名前。 これは、この VPC内の名前によって固有のリソースを指定する場合にのみ必要です。
--show-attached
サブネットに接続されたリソース (インスタンス、ロード・バランサー、VPN ゲートウェイ) の詳細を表示します。
--output
出力フォーマットを指定します。JSON のみがサポートされています。 次のいずれか: JSON。
-q, --quiet
詳細出力を抑制します。

VPC内のサブネットをAPIで表示する

このメソッドを呼び出すには、次のアクションを含む 1 つ以上の IAM アクセス役割を割り当てられている必要があります。 アクセス権限は [、ユーザー ] > [ユーザー] > [アクセス] に移動して確認できます

  • is.subnet.subnet.read

API を使用して VPC 内のサブネットを取得するには、以下の手順に従ってください。

  1. API 環境をセットアップします。
  2. APIコマンドで使用する追加の変数を格納します。
サブネットを取得するためのパラメータ
照会パラメーター 情報
id
必須
string
サブネット識別子。
可能な値: 1 ≤ 長さ ≤ 64、値は正規表現に一致する必要がある ^[-0-9a-z_]+$
バージョン
必須
string
指定された日付時点でのAPIの YYYY-MM-DD バージョンを要求します。 現在日付までの任意の日付を指定できます。 最新バージョンをリクエストするには、現在の日付を指定してください。
可能な値: 値は正規表現に一致する必要があります ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
世代
必須
int32
インフラストラクチャー世代。
許容値: 2
  1. すべての変数が初期化されたら、コマンドを実行してください。

以下の例を参照してください。

curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet_id?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"

リクエストを開始した後に表示される応答は以下の通りです:

応答を開始し、例を取得する
応答本文 詳細
available_ipv4_address_count
常に含まれる
int64
このサブネット内で使用されておらず、ユーザーまたはプロバイダーによって予約されていないアドレ IPv4 スの数。
例: 15
created_at
常に日付時刻
を含む
サブネットが作成された日時
CRNは
常に含まれます
string
このサブネットの
CR N可能な値: 9 ≤ 長さ ≤ 5 12
例: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • href
    は常に含まれます*
    string
このサブ URL ネットの
可能な値: 10 ≤ 長さ ≤ 8000, 値は正規表現に一致する必要がある ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
例: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • id
    は常に含まれます
    string
このサブネットの
固有 識別子可能な値: 1 ≤ 長さ ≤ 64、値は正規表現に一致**する必要がある **^[-0-9a-z_]+$
例: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
常に含まれる
string
このサブネットがサポートするIPバージョン。
可能な値: [ipv4]
ipv4_cidr_block
常に含まれる
string
サブネットの範囲 IPv4 をCIDR形式で表したもの。
可能な値: 9 ≤ 長さ ≤ 18、値は正規表現に一致 ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$
する必要がある例: 10.0.0.0/24
name
常に含まれる
string
このサブネットの名前。 この名前はVPC内のすべてのサブネットで一意です。
可能な値: 1 ≤ 長さ ≤ 63, 値は正規表現に一致 ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$
する必要がある例: my-subnet
ネットワークACL 常に含まれる
NetworkACLReference
リソースグループは
常に含まれます
ResourceGroupReference
このサブネットのリソースグループ。
resource_type
常に含まれる
string
リソース・タイプ。
可能な値: 1 ≤ 長さ ≤ 128, 値は正規表現に一致 ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
する必要がある例: subnet
ルーティング
テーブル 常に含まれる
RoutingTableReference
このサブネットのルーティングテーブル。
ステータス
常に含まれる
string
サブネットの状態。
可能な値: available,deleting,failed, pending
total_ipv4_address_count
常に含まれる
int64
vpc
常に含まれる
VPCReference
このサブネットが属するVPC。
ゾーン
 常に含まれる
ZoneReference
このサブネットが属するゾーン。
パブリックゲートウェイ
PublicGatewayReference
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。
ステータスコードを取得する
状況コード 意味
200 サブネットは正常に取得されました。
404 指定された識別子を持つサブネットが見つかりませんでした。

詳細情報(Java、 Node Python、C# Python、および Java Go のサンプルを含む)については、 VPC API リファレンス の「サブネットの取得」を参照してください。