サブネットの操作
サブネットは、ネットワーク・トラフィックが起点から宛先までより効率的なパスを移動するのに役立ちます。 各サブネット内のリソースを保護するために、サブネットでネットワークACLを使用することができます。
開始前に
始める前に、リストされている条件に応じて、以下のアクションを含む 1 つ以上の IAM アクセス役割が割り当てられている必要があります。 「 ユーザー 」>「ユーザー」>「アクセス権限」 の順に選択すると、アクセス権限を確認できます。
is.subnet.subnet.createis.public-gateway.public-gateway.operate(public_gatewayが指定されている場合は必須)is.network-acl.network-acl.operate
サブネットの作成
サブネットは、コンソール、CLI、またはAPIを使用して作成できます。
サブネットに、 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 アクションを使用してカスタムルートを設定するようにしてください。
コンソールでのサブネットの作成
コンソールでサブネットを作成するには、以下の手順に従う:
-
ブラウザーから、 IBM Cloud コンソールを開きます。
-
ナビゲーション メニュー
を選択し、 インフラストラクチャ
> ネットワーク > サブネットをクリックします。
-
VPCのサブネット一覧表で[ 作成 ]をクリックします。
-
「所在地」のセクションには、以下の情報を記入してください:
- 地理: サブネットを作成する大まかなエリアを指定します。
- 地域: サブネットを作成するリージョンを指定します。
- ゾーン: サブネットを作成するゾーンを指定します。
-
「詳細」セクションには、以下の情報を記入してください:
- 名前: サブネットの固有 ID (
my-subnetなど) を入力します。 - リソースグループ :サブネットに適用するリソースグループを選択します。
- タグ: オプションで、サブネットのグループ化に役立つ関連タグを追加します。
- アクセス管理タグ: オプションで、アクセス管理タグをリソースに追加して、アクセス制御関係の編成に役立てます。 サポートされるアクセス管理タグの形式は
key:valueのみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。 - 仮想プライベートクラウド: サブネットを作成する VPC を選択します。
- 名前: サブネットの固有 ID (
-
IPレンジの選択セクションでは、以下の情報を入力してください:
-
IPレンジ :IPレンジの最も効率的なロケーションが自動的に計算されます。 デフォルトの選択を受け入れる代わりに IP 範囲をカスタマイズする場合は、別のアドレス接頭部を選択するか、アドレス数を変更するか、IP 範囲を手動で入力します。
-
アドレスプレフィックス :サブネットのベースネットワークプレフィックスを選択します。 これは、サブネットのIPアドレスが割り当てられるより大きなIP範囲を決定する。 VPC内で利用可能なプレフィックスから選択します。
-
IPアドレスの合計 :必要な IPv4 アドレスの総数を選択します。
-
アドレス空間 :VPC 内で選択されたプレフィックスの全 IP アドレス範囲を表示します。 この範囲は、サブネットIP範囲を割り当てる境界を定義する。
-
ルーティングテーブル: 新しいサブネットで使用するルーティング テーブルを選択します。
-
サブネット・アクセス制御リスト: 新規サブネットで使用するアクセス制御リストを選択します。
-
パブリック・ゲートウェイ: スイッチを 「接続済み」 に切り替えることによって、サブネットがパブリック・インターネットと通信するかどうかを示します。
パブリック・ゲートウェイを接続すると、 フローティングIP 、コストが発生する。
-
-
サマリー]パネルで[ サブネットの作成 ]をクリックします。
「接続されたリソース」タブ
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を使用してサブネットを作成するには、以下の手順に従ってください:
- API 環境をセットアップします。
- 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_versionstring |
このサブネットに対応する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_aclstring |
このサブネットに使用するネットワークACL。 指定がない場合、VPC のデフォルトネットワークアクセス制御リストが使用されます。 次のいずれか: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref |
public_gatewaystring |
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。 指定がない場合、サブネットはパブリックゲートウェイに接続されません。 次のいずれか: PublicGatewayIdentityById, PublicGatewayIdentityByCRN, PublicGatewayIdentityByHref |
resource_groupResourceGroupIdentityById |
使用するリソース・グループ。 指定がない場合は、 アカウント デフォルトのリソースグループ が使用されます。 |
routing_tablestring |
このサブネットに使用するルーティングテーブル。 指定されていない場合は、VPC のデフォルト・ルーティング・テーブルが使用されます。 ルーティングテーブルのプロパティ route_direct_link_ingress, route_internet_ingress, route_transit_gateway_ingress, および route_vpc_zone_ingress は でなければならない false。次のいずれか: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref |
SubnetByTotalCountint 64または SubnetByCIDRstring |
の 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" }
}'
リクエストを送信すると、次のような応答が表示されます:
| 応答本文 | 詳細 |
|---|---|
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,failed、 pending |
total_ipv4_address_count常に含まれる int64 |
|
vpc常に含まれる VPCReference |
このサブネットが存在するVPC。 |
zone常に含まれる ZoneReference |
このサブネットが属するゾーン。 |
public_gatewayPublicGatewayReference |
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。 |
| 状況コード | 意味 |
|---|---|
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 内のサブネットを取得するには、以下の手順に従ってください。
- API 環境をセットアップします。
- 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 |
- すべての変数の初期化が完了したら、コマンドを実行してください。
以下の例を参照してください。
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,failed、 pending |
total_ipv4_address_count常に含まれる int64 |
|
vpc常に含まれる VPCReference |
このサブネットが存在するVPC。 |
zone
ZoneReference |
このサブネットが属するゾーン。 |
public_gatewayPublicGatewayReference |
このサブネットのインターネット向けトラフィックに使用するパブリックゲートウェイ。 |
| 状況コード | 意味 |
|---|---|
200 |
サブネットの取得に成功しました。 |
404 |
指定された識別子を持つサブネットが見つかりませんでした。 |
詳細情報(Java、 Node Python、C# Python、および Java Go のサンプルを含む)については、 VPC API リファレンス の「サブネットの取得」を参照してください。