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でサブネットを作成する

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

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

UI を使用した VPC でのサブネットの作成

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

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

  2. Navigation Menu ナビゲーションメニュー を選択し、Infrastructure(インフラストラクチャー) > Network(ネットワーク) > Subnets(ブネット)のサ順にクリックします。

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

  4. ロケーション・セクションには、以下の情報を入力してください:

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

    • 名前: サブネットの固有 ID ( my-subnet など) を入力します。
    • リソースグループ :サブネットのリソースグループを選択します。
    • タグ: オプションで、サブネットのグループ化に役立つ関連タグを追加します。
    • アクセス管理タグ: オプションで、アクセス管理タグをリソースに追加して、アクセス制御関係の編成に役立てます。 サポートされるアクセス管理タグの形式は key:value のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。
    • 仮想プライベートクラウド: サブネットを作成する VPC を選択します。
    • IP 範囲の選択: IP 範囲の最も効率的な場所が自動的に計算されます。 デフォルトの選択を受け入れる代わりに IP 範囲をカスタマイズする場合は、別のアドレス接頭部を選択するか、アドレス数を変更するか、IP 範囲を手動で入力します。
    • ルーティングテーブル: 新しいサブネットで使用するルーティング テーブルを選択します。
    • サブネット・アクセス制御リスト: 新規サブネットで使用するアクセス制御リストを選択します。
    • パブリック・ゲートウェイ: スイッチを 「接続済み」 に切り替えることによって、サブネットがパブリック・インターネットと通信するかどうかを示します。 パブリック・ゲートウェイを接続すると、 浮動 IP が作成され、コストが発生します。
  6. 「要約」パネルで、 「サブネットの作成」 をクリックしてサブネットを作成します。

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

「接続されたリソース」 タブには、サブネットに接続されているすべてのリソースがリストされ、新規リソースを作成して接続する方法が提供されます。 このタブから以下のリソースを作成できます。

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

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

「予約済み IP」タブ

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

CLI を使用した VPC でのサブネットの作成

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 を使用した VPC でのサブネットの作成

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

  1. API 環境をセットアップします。
  2. APIコマンドで使用する追加の変数を格納する。
サブネットを作成するためのパラメータ
照会パラメーター 情報
version
必須
文字列
YYYY-MM-DD 形式の日付時点での API のバージョンを要求します。 Any date up to the current date may be provided. Specify the current date to request the latest version.
可能な値: 値は正規表現と一致する必要があります ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
必須
int32
インフラストラクチャー生成。
可能な値: 2
要求本文
必須
サブネット・プロトタイプ・オブジェクト。
vpc
必須
ストリング
サブネットが配置される VPC。
以下のいずれか: VPCIdentityByIdVPCIdentityByCRNVPCIdentityByHref
ip_version
ストリング
このサブネットでサポートされる IP バージョン。 許容値: [ipv4]
name
必須
ストリング
このサブネットの名前。 この名前はVPC内の他のサブネットが使用してはならない。 指定されていない場合、名前はランダムに選択された単語のハイフン付きリストになります。
可能な値: 1 ≤ 長 ≤ 63、値は正規表現と一致する必要があります ^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
例: my-subnet
network_acl
string
このサブネットに使用するネットワーク ACL。 指定しない場合は、VPC のデフォルトのネットワーク ACL が使用されます。
以下のいずれか: NetworkACLIdentityByIdNetworkACLIdentityByCRNNetworkACLIdentityHref
public_gateway
string
このサブネットのインターネットにバインドされたトラフィックに使用するパブリック・ゲートウェイ。 指定しない場合、サブネットはパブリック・ゲートウェイに接続されません。
以下のいずれか: PublicGatewayIdentityByIdPublicGatewayIdentityByCRNPublicGatewayIdentityByHref
resource_group
ResourceGroupIdentityById
使用するリソースグループ。 未指定の場合、アカウントの デフォルト・リソース・グループが 使用される
routing_table
string
このサブネットに使用するルーティング・テーブル。 指定されていない場合は、VPC のデフォルト・ルーティング・テーブルが使用されます。 ルーティング・テーブル・プロパティー route_direct_link_ingressroute_internet_ingressroute_transit_gateway_ingress、および route_vpc_zone_ingressfalse でなければなりません。
以下のいずれか: RoutingTableIdentityByIdRoutingTableIdentityByCRNRoutingTableIdentityByHref
サブネット合計数
整数64
または
SubnetByCIDR
文字列
SubnetByTotalCount 、合計数を指定しますIPv4住所が必要です。 のために SubnetByCIDR、指定するIPv4 CIDR 形式で表されるサブネットの範囲。 どちらのオプションも、サブネットが存在する 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" }
    }'

リクエストを開始すると、次のようなレスポンスが表示される:

応答を開始する 作成例
応答本文 詳細
使用可能な ipv4_address_count
常に含まれる
int64
The このサブネット内の使用中ではなく、ユーザーまたはプロバイダーによって予約されていない IPv4 アドレスの数。
15
created_at
常に含まれる
date-time
サブネットが作成された日時。
crn
常に含める
ストリング
このサブネットの CRN
可能な値: 9 ≤ 長さ ≤ 512
例: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • href
    常に含まれる*
    string
The URL for this subnet
可能な値: 10 ≤ length ≤ 8000, 値は正規表現にマッチしなければならない ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
例: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • id
    Always included
    string
このサブネットの固有 ID
可能な値: 1 ≤ length ≤ 64, 値は正規表現と一致する必要があります。 ^[-0-9a-z_]+$
例: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
常に含まれる
ストリング
このサブネットでサポートされる IP バージョン。
可能な値: [ipv4]
** ipv4_cidr_block**
常に含まれる
文字列
name
Always included
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
** network_acl
resource_group

ResourceGroupReference

The このサブネットのリソースグループを常に含む
resource_type
常に含める
ストリング
リソース・タイプ。
可能な値: 1 ≤ 長さ ≤ 128、値は正規表現に一致する必要があります ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
例:subnet
routing_table

RoutingTableReference

The このサブネットのルーティングテーブルを常に含む
status
「常に含める」
ストリング
サブネットの状況。
可能な値: availabledeletingfailedpending
** total_ipv4_address_count**
常に含まれる
int64
vpc
Always included
VPCReference
このサブネットが存在する VPC。
** zone**
常に含まれる
ZoneReference
** public_gateway**
PublicGatewayReference
ステータスコードの作成
状況コード
サブネットは正常に作成れました
400 無効なサブネット・プロトタイプ・オブジェクトが指定されました。
409 サブネット・プロトタイプ・オブジェクトが VPC 内の別のサブネットと競合しているか、または VPC のアドレス接頭部の外部の CIDR ブロックを指定しています。

詳しくは ( Java、 Node、 Python 、および Go の例を含む)、 VPC API リファレンス の「サブネットの作成」を参照してください。

VPC でのサブネットの表示

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

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

サブネットを作成すると、そのサブネットが「VPC のサブネット」リストに表示されます。

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

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

CLI を使用して VPC 内のサブネットに関する詳細を表示するには、次のコマンドを実行します。

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 を使用した VPC のサブネットの表示

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

  • is.subnet.subnet.read

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

  1. API 環境をセットアップします。
  2. APIコマンドで使用する追加の変数を格納する。
サブネットを取得するためのパラメータ
照会パラメーター 情報
id
必須
ストリング
サブネット ID。
可能な値: 1 ≤ 長さ ≤ 64, 値は正規表現にマッチしなければならない ^[-0-9a-z_]+$
** version**
必須
string
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"

リクエストを開始すると、次のようなレスポンスが表示される:

応答を開始する 検索例
応答本文 詳細
使用可能な ipv4_address_count
常に含まれる
int64
The このサブネット内の使用中ではなく、ユーザーまたはプロバイダーによって予約されていない IPv4 アドレスの数。
15
created_at
常に含まれる
date-time
サブネットが作成された日時。
crn
常に含める
ストリング
このサブネットの CRN
可能な値: 9 ≤ 長さ ≤ 512
例: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • href
    常に含まれる*
    string
The URL for this subnet
可能な値: 10 ≤ length ≤ 8000, 値は正規表現にマッチしなければならない ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
例: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • id
    Always included
    string
このサブネットの固有 ID
可能な値: 1 ≤ length ≤ 64, 値は正規表現と一致する必要があります。 ^[-0-9a-z_]+$
例: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
IPバージョン
常に含まれる
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
Always included
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
** network_acl
resource_group

ResourceGroupReference

The このサブネットのリソースグループを常に含む
resource_type
常に含める
ストリング
リソース・タイプ。
可能な値: 1 ≤ 長さ ≤ 128、値は正規表現に一致する必要があります ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
例:subnet
routing_table

RoutingTableReference

The このサブネットのルーティングテーブルを常に含む
status
「常に含める」
ストリング
サブネットの状況。
可能な値: availabledeletingfailedpending
** total_ipv4_address_count**
常に含まれる
int64
vpc
Always included
VPCReference
このサブネットが存在する VPC。
** zone**
常に含まれる
ZoneReference
** public_gateway**
PublicGatewayReference
ステータスコードの取得
状況コード
200 サブネットは正常に取得されました。
** 404**

詳しくは ( Java、 Node、 Python 、Go の例など)、 VPC API リファレンス の「サブネットの取得」を参照してください。