サブネットの操作

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

開始前に

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

  • is.subnet.subnet.create
  • is.public-gateway.public-gateway.operate ( public_gateway が指定されている場合は必須)
  • is.network-acl.network-acl.operate

サブネットの作成

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

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

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

コンソールでサブネットを作成するには、以下の手順に従う:

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

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

  3. VPCのサブネット一覧表で[ 作成 ]をクリックします。

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

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

    • 名前: サブネットの固有 ID ( my-subnet など) を入力します。
    • リソースグループ :サブネットに適用するリソースグループを選択します。
    • タグ: オプションで、サブネットのグループ化に役立つ関連タグを追加します。
    • アクセス管理タグ: オプションで、アクセス管理タグをリソースに追加して、アクセス制御関係の編成に役立てます。 サポートされるアクセス管理タグの形式は key:value のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。
    • 仮想プライベートクラウド: サブネットを作成する VPC を選択します。
  6. IPレンジの選択セクションでは、以下の情報を入力してください:

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

    • アドレスプレフィックス :サブネットのベースネットワークプレフィックスを選択します。 これは、サブネットのIPアドレスが割り当てられるより大きなIP範囲を決定する。 VPC内で利用可能なプレフィックスから選択します。

    • IPアドレスの合計 :必要な IPv4 アドレスの総数を選択します。

    • アドレス空間 :VPC 内で選択されたプレフィックスの全 IP アドレス範囲を表示します。 この範囲は、サブネットIP範囲を割り当てる境界を定義する。

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

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

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

      パブリック・ゲートウェイを接続すると、 フローティングIP 、コストが発生する。

  7. サマリー]パネルで[ サブネットの作成 ]をクリックします。

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

Attached Resourcesタブは、サブネットに接続されているすべてのリソースを一覧表示し、以下のリソースを作成できる:

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

作成したいリソースのリソース一覧表で[ 作成 ]をクリックする。 該当するリソース作成ワークフローに移動し、リソース作成プロセスを開始できます。

「予約済み IP」タブ

予約IP ]タブには、サブネットのすべての予約IPアドレスが表示されます。 詳細については、 IPアドレスの管理を 参照してください。

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
詳細出力を抑制します。

API を使用したサブネットの作成

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

  1. API 環境をセットアップします。
  2. API コマンドで使用するその他の変数を保存してください。
サブネット作成のためのパラメータ
照会パラメーター 情報
version
必須
string
YYYY-MM-DD という形式で指定された日付時点の API バージョンを取得します。 現在日付までの任意の日付を指定できます。 最新バージョンをリクエストするには、現在の日付を指定してください。
可能な値:値は正規表現にマッチしなければならない ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
必須
int32
インフラストラクチャー世代。
考えられる値: 2
リクエスト・ボディ
必須
サブネットプロトタイプオブジェクト。
vpc
必須
string
このサブネットが存在するVPC。
次のいずれか: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref
ip_version
string
このサブネットに対応するIPバージョン。 許容値: [ipv4]
name
必須
string
このサブネットの名前。 その名前は、VPC内の他のサブネットでは使用してはなりません。 指定がない場合、名前はランダムに選ばれた単語のハイフンで連結されたリストになります。
可能な値:1 ≤ length ≤ 63, Value must match regular expression ([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
例: my-subnet
network_acl
string
このサブネットに使用するネットワークACL。 指定がない場合、VPC のデフォルトネットワークアクセス制御リストが使用されます。
次のいずれか: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref
public_gateway
string
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。 指定がない場合、サブネットはパブリックゲートウェイに接続されません。
次のいずれか: PublicGatewayIdentityById, PublicGatewayIdentityByCRN, PublicGatewayIdentityByHref
resource_group
ResourceGroupIdentityById
使用するリソース・グループ。 指定がない場合は、 アカウント デフォルトのリソースグループ が使用されます。
routing_table
string
このサブネットに使用するルーティングテーブル。 指定されていない場合は、VPC のデフォルト・ルーティング・テーブルが使用されます。 ルーティングテーブルのプロパティ route_direct_link_ingress, route_internet_ingress, route_transit_gateway_ingress, および route_vpc_zone_ingress は でなければならない false
次のいずれか: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref
SubnetByTotalCount
int 64
または
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 ≤ length ≤ 512
例: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
href
常に含まれている
string
このサブネットの URL
可能な値:10 ≤ length ≤ 8000, 値は正規表現にマッチしなければならない ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
例: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
id
常に含まれる
string
このサブネットの一意な識別子
取り得る値:1 ≤ length ≤ 64, Value must match regular expression ^[-0-9a-z_]+$
例: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
常に含まれる
string
このサブネットでサポートされているIPバージョン。
考えられる値: [ipv4]
ipv4_cidr_block
常に含まれる
string
サブネットの IPv4 範囲をCIDR形式で表す。
可能な値:9 ≤ length ≤ 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 ≤ length ≤ 63, Value must match regular expression ^-?([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
network_acl 常に含まれる
NetworkACLReference
resource_group
常に含まれる
ResourceGroupReference
このサブネットのリソースグループ。
resource_type
常に含まれる
string
リソース・タイプ。
可能な値:1 ≤ length ≤ 128, Value must match regular expression ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
例: subnet
routing_table
常に含まれる
RoutingTableReference
このサブネットのルーティングテーブル。
status
常に含まれる
string
サブネットの状態。
可能な値: available``deleting,failedpending
total_ipv4_address_count
常に含まれる
int64
vpc
常に含まれる
VPCReference
このサブネットが存在するVPC。
zone
常に含まれる
ZoneReference
このサブネットが属するゾーン。
public_gateway
PublicGatewayReference
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。
ステータスコードを作成する
状況コード 意味
201 サブネットは正常に作成されました。
400 無効なサブネットプロトタイプオブジェクトが提供されました。
409 サブネットプロトタイプオブジェクトがVPC内の別のサブネットと競合しているか、VPCのアドレスプレフィックスの範囲外のCIDRブロックを指定しています。

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

サブネットの表示

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

コンソールでのサブネットの表示

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

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

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

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
詳細出力を抑制します。

API を使用したサブネットの表示

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

  • is.subnet.subnet.read

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

  1. API 環境をセットアップします。
  2. API コマンドで使用するその他の変数を保存してください。
サブネットを取得するためのパラメータ
照会パラメーター 情報
id
必須
string
サブネット識別子。
許容される値:1 ≤ 長さ ≤ 64。値は正規表現に一致する必要があります。 ^[-0-9a-z_]+$
version
必須
string
YYYY-MM-DD という形式で指定された日付時点の API バージョンを取得します。 現在日付までの任意の日付を指定できます。 最新バージョンをリクエストするには、現在の日付を指定してください。
可能な値:値は正規表現にマッチしなければならない ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
必須
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
このサブネットのCRN
取り得る値:9 ≤ length ≤ 512
例: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
href
常に含まれている
string
このサブネットの URL
可能な値:10 ≤ length ≤ 8000, 値は正規表現にマッチしなければならない ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
例: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
id
常に含まれる
string
このサブネットの一意な識別子
取り得る値:1 ≤ length ≤ 64, Value must match regular expression ^[-0-9a-z_]+$
例: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
常に含まれる
string
このサブネットがサポートするIPバージョン。
考えられる値: [ipv4]
ipv4_cidr_block
常に含まれる
string
サブネットの IPv4 範囲を、CIDR形式で表したもの。
可能な値:9 ≤ length ≤ 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 ≤ length ≤ 63, Value must match regular expression ^-?([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
network_acl 常に含まれる
NetworkACLReference
resource_group

ResourceGroupReference

このサブネットのリソースグループ。
resource_type
常に含まれる
string
リソース・タイプ。
可能な値:1 ≤ length ≤ 128, Value must match regular expression ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
例: subnet
routing_table

RoutingTableReference

このサブネットのルーティングテーブル。
status
常に含まれる
string
サブネットの状態。
可能な値: available``deleting,failedpending
total_ipv4_address_count
常に含まれる
int64
vpc
常に含まれる
VPCReference
このサブネットが存在するVPC。
zone

ZoneReference

このサブネットが属するゾーン。
public_gateway
PublicGatewayReference
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。
ステータスコードを取得する
状況コード 意味
200 サブネットの取得に成功しました。
404 指定された識別子を持つサブネットが見つかりませんでした。

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