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 インスタンスにサブネットを作成するには、以下の手順を実行します。
-
ブラウザーから、 IBM Cloud コンソールを開きます。
-
Navigation Menu
を選択し、Infrastructure(インフラストラクチャー) > Network(ネットワーク) > Subnets(ブネット)のサ順にクリックします。
-
「VPC のサブネット」リスト・テーブルで 「作成 +」 をクリックします。
-
ロケーション・セクションには、以下の情報を入力してください:
- 地理: サブネットを作成する大まかなエリアを指定します。
- 地域: サブネットを作成するリージョンを指定します。
- ゾーン: サブネットを作成するゾーンを指定します。
-
Details(詳細)セクションでは、以下の情報を入力してください:
- 名前: サブネットの固有 ID (
my-subnet
など) を入力します。 - リソースグループ :サブネットのリソースグループを選択します。
- タグ: オプションで、サブネットのグループ化に役立つ関連タグを追加します。
- アクセス管理タグ: オプションで、アクセス管理タグをリソースに追加して、アクセス制御関係の編成に役立てます。 サポートされるアクセス管理タグの形式は
key:value
のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。 - 仮想プライベートクラウド: サブネットを作成する VPC を選択します。
- IP 範囲の選択: IP 範囲の最も効率的な場所が自動的に計算されます。 デフォルトの選択を受け入れる代わりに IP 範囲をカスタマイズする場合は、別のアドレス接頭部を選択するか、アドレス数を変更するか、IP 範囲を手動で入力します。
- ルーティングテーブル: 新しいサブネットで使用するルーティング テーブルを選択します。
- サブネット・アクセス制御リスト: 新規サブネットで使用するアクセス制御リストを選択します。
- パブリック・ゲートウェイ: スイッチを 「接続済み」 に切り替えることによって、サブネットがパブリック・インターネットと通信するかどうかを示します。 パブリック・ゲートウェイを接続すると、 浮動 IP が作成され、コストが発生します。
- 名前: サブネットの固有 ID (
-
「要約」パネルで、 「サブネットの作成」 をクリックしてサブネットを作成します。
「接続されたリソース」タブ
「接続されたリソース」 タブには、サブネットに接続されているすべてのリソースがリストされ、新規リソースを作成して接続する方法が提供されます。 このタブから以下のリソースを作成できます。
- インスタンス
- ベアメタル・サーバー
- インスタンス・テンプレート
- インスタンス・グループ
- ロード・バランサー
- 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 にサブネットを作成するには、以下の手順に従ってください。
- API 環境をセットアップします。
- 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。 以下のいずれか: VPCIdentityById 、 VPCIdentityByCRN 、 VPCIdentityByHref |
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 が使用されます。 以下のいずれか: 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 |
サブネット合計数 整数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 |
|
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 可能な値: 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 「常に含める」 ストリング |
サブネットの状況。 可能な値: available 、deleting 、failed 、 pending |
** | 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 内のサブネットを取得するには、以下の手順に従ってください。
- API 環境をセットアップします。
- APIコマンドで使用する追加の変数を格納する。
照会パラメーター | 情報 |
---|---|
id 必須 ストリング |
サブネット ID。 可能な値: 1 ≤ 長さ ≤ 64, 値は正規表現にマッチしなければならない ^[-0-9a-z_]+$ |
** | version** 必須 string |
generation 必須 int32 |
インフラストラクチャー生成。 許容される値: 2 |
- すべての変数が開始されたら、コマンドを実行する。
以下に例を示します。
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 |
|
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 可能な値: 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 「常に含める」 ストリング |
サブネットの状況。 可能な値: available 、deleting 、failed 、 pending |
** | total_ipv4_address_count** 常に含まれる int64 |
vpc Always included VPCReference |
このサブネットが存在する VPC。 |
** | zone** 常に含まれる ZoneReference |
** | public_gateway** PublicGatewayReference |
状況コード | |
---|---|
200 | サブネットは正常に取得されました。 |
** | 404** |
詳しくは ( Java、 Node、 Python 、Go の例など)、 VPC API リファレンス の「サブネットの取得」を参照してください。