IBM Cloud Docs
VPC에서 서브넷에 대한 작업

VPC에서 서브넷에 대한 작업

서브넷을 사용하면 네트워크 트래픽이 오리진에서 대상으로 경로를 보다 효율적으로 이동할 수 있습니다. 서브넷과 함께 액세스 제어 목록 (ACL) 을 사용하여 각 서브넷 내의 리소스를 보호할 수 있습니다.

시작하기 전에

시작하기 전에 나열된 조건에 따라 다음 조치를 포함하는 하나 이상의 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 작업이 포함된 사용자 지정 경로를 사용해야 합니다.

UI를 사용하여 VPC에서 서브넷 작성

VPC 인스턴스에서 서브넷을 작성하려면 다음 단계를 수행하십시오.

  1. 브라우저에서 IBM Cloud 콘솔을 여십시오.

  2. 탐색 메뉴 탐색 메뉴를 선택한 다음 인프라 > 네트워크 > 서브넷을 클릭합니다.

  3. VPC용 서브넷 목록 테이블에서 +작성 을 클릭하십시오.

  4. 위치 섹션에서 다음 정보를 입력합니다:

    • 지리학: 서브넷을 생성할 일반 영역을 지정합니다.
    • 지역: 서브넷을 생성하려는 지역을 나타냅니다.
    • : 서브넷을 생성할 영역을 지정합니다.
  5. 세부 정보 섹션에서 다음 정보를 입력합니다:

    • 이름: 서브넷의 고유 ID를 입력하십시오 (예: my-subnet).
    • 리소스 그룹: 서브넷의 리소스 그룹을 선택합니다.
    • 태그: 선택적으로 서브넷을 그룹화하는 데 도움이 되는 관련 태그를 추가하십시오.
    • 액세스 관리 태그: 선택적으로 액세스 제어 관계를 구성하는 데 도움이 되도록 자원에 액세스 관리 태그를 추가하십시오. 액세스 관리 태그의 유일한 지원 형식은 key:value입니다. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오.
    • 가상 프라이빗 클라우드: 서브넷을 생성하려는 VPC를 선택합니다.
    • IP 범위 선택: IP 범위의 가장 효율적인 위치가 자동으로 계산됩니다. 기본 선택사항을 승인하는 대신 IP 범위를 사용자 정의하려면 다른 주소 접두부를 선택하거나 주소 수를 변경하거나 IP 범위를 수동으로 입력하십시오.
    • 라우팅 테이블: 새 서브넷에서 사용할 라우팅 테이블을 선택합니다.
    • 서브네트 액세스 제어 리스트: 새 서브네트가 사용할 액세스 제어 리스트를 선택하십시오.
    • 퍼블릭 게이트웨이: 스위치를 연결됨으로 전환하여 서브넷이 공용 인터넷과 통신하도록 할지 여부를 표시합니다. 퍼블릭 게이트웨이를 연결하면 유동 IP 가 작성되고 비용이 발생합니다.
  6. 요약 패널에서 서브넷 작성 을 클릭하여 서브넷을 작성하십시오.

첨부된 자원 탭

연결된 자원 탭은 서브넷에 연결된 모든 자원을 나열하고 새 자원을 작성하고 연결하는 방법을 제공합니다. 이 탭에서 다음 자원을 작성할 수 있습니다.

  • 인스턴스
  • Bare metal servers
  • 인스턴스 템플리트
  • 인스턴스 그룹
  • 로드 밸런서
  • 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
필수
string
날짜 형식 기준으로 API 버전을 요청합니다YYYY-MM-DD. 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 ≤ length ≤ 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
문자열
이 서브넷에 사용할 라우팅 테이블입니다. 지정되지 않은 경우 VPC의 기본 라우팅 테이블이 사용됩니다. 라우팅 테이블 특성 route_direct_link_ingress, route_internet_ingress, route_transit_gateway_ingressroute_vpc_zone_ingressfalse 이어야 합니다.
다음 중 하나: 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
항상 포함됨
string
이 서브넷의 CRN
가능한 값: 9 ≤ length ≤ 512
예제: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • href
    항상 포함*
    문자열
이 서브넷에 대한 URL
가능한 값입니다: 10 ≤ 길이 ≤ 8000, 값은 정규식과 일치해야 합니다 ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
예시: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • id
    항상 포함됨
    string
이 서브넷의 고유 ID
가능한 값: 1 ≤ length ≤ 64, 값은 정규식과 일치해야 함 ^[-0-9a-z_]+$
예제: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
항상 포함됨
문자열
이 서브넷에서 지원되는 IP 버전입니다.
가능한 값: [ipv4]
** ipv4_cidr_block**
항상 포함
문자열
name
항상 포함
문자열
이 서브넷의 이름입니다. 이름은 VPC의 모든 서브넷에서 고유합니다.
가능한 값: 1 ≤ length ≤ 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
resource_type
항상 포함됨
string
자원 유형입니다.
가능한 값: 1 ≤ length ≤ 128, 값은 정규식과 일치해야 함 ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
예제: subnet
라우팅 테이블
항상
RoutingTableReference
The 이 서브넷의 라우팅 테이블을 포함합니다
status
항상 포함됨
문자열
서브넷의 상태입니다.
가능한 값: available,deleting,failed, pending
** 총_IPV4_주소_수**
항상 포함
int64
vpc
항상 포함됨
VPCReference
이 서브넷이 상주하는 VPC입니다.
영역
항상 포함
ZoneReference
The 이 서브넷이 속한 영역.
이 서브넷의 인터넷 바운드 트래픽에 사용할 공용 게이트웨이입니다. ** public_gateway**
PublicGatewayReference
상태 코드 만들기
상태 코드
** 201
400 올바르지 않은 서브넷 프로토타입 오브젝트가 제공되었습니다.
409 서브넷 프로토타입 오브젝트가 VPC의 다른 서브넷과 충돌하거나 VPC의 주소 접두부 외부에 CIDR 블록을 지정합니다.

자세한 정보 ( Java, Node, Python 및 Go 예제 포함) 는 VPC API 참조 에서 "서브넷 작성" 을 참조하십시오.

VPC에서 서브넷 보기

UI, API 또는 CLI를 사용하여 VPC에서 서브넷의 세부사항을 볼 수 있습니다.

UI를 사용하여 VPC에서 서브넷 보기

서브넷을 작성하면 VPC의 서브넷 목록에 표시됩니다.

콘솔을 사용하여 목록에서 서브넷에 대한 세부 정보를 보려면 이름 열에서 해당 서브넷의 링크를 클릭합니다. 개요 탭은 서브넷 작성에서 사용한 정보를 표시합니다.

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에서 서브넷 보기

이 메소드를 호출하려면 다음 조치를 포함하는 하나 이상의 IAM 액세스 역할이 지정되어야 합니다. 사용자 > 사용자 > 액세스에서 액세스 권한을 확인할 수 있습니다

  • is.subnet.subnet.read

API를 사용하여 VPC에서 서브넷을 검색하려면 다음 지시사항을 따르십시오.

  1. API 환경을 설정하십시오.
  2. API 명령에 사용할 추가 변수를 저장합니다.
서브넷 검색을 위한 파라미터
조회 매개변수 정보
id
필수
문자열
서브넷 ID입니다.
가능한 값: 1 ≤ 길이 ≤ 64, 값은 정규식과 일치해야 합니다 ^[-0-9a-z_]+$
버전
필수
문자열
날짜 기준 API 버전을 YYYY-MM-DD 형식으로 요청합니다. 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
  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
항상 포함됨
string
이 서브넷의 CRN
가능한 값: 9 ≤ length ≤ 512
예제: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • href
    항상 포함*
    문자열
이 서브넷에 대한 URL
가능한 값입니다: 10 ≤ 길이 ≤ 8000, 값은 정규식과 일치해야 합니다 ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
예시: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
  • id
    항상 포함됨
    string
이 서브넷의 고유 ID
가능한 값: 1 ≤ length ≤ 64, 값은 정규식과 일치해야 함 ^[-0-9a-z_]+$
예제: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
IP_버전
항상 포함됨
문자열
이 서브넷에서 지원하는 IP 버전입니다.
가능한 값: [ipv4]
** ipv4_cidr_block**
항상 포함
문자열&버바;서브넷의 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
항상 포함
문자열
이 서브넷의 이름입니다. 이름은 VPC의 모든 서브넷에서 고유합니다.
가능한 값: 1 ≤ length ≤ 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
resource_type
항상 포함됨
string
자원 유형입니다.
가능한 값: 1 ≤ length ≤ 128, 값은 정규식과 일치해야 함 ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
예제: subnet
라우팅 테이블
항상
RoutingTableReference
The 이 서브넷의 라우팅 테이블을 포함합니다
status
항상 포함됨
문자열
서브넷의 상태입니다.
가능한 값: available,deleting,failed, pending
** 총_IPV4_주소_수**
항상 포함
int64
vpc
항상 포함됨
VPCReference
이 서브넷이 상주하는 VPC입니다.
영역
항상 포함
ZoneReference
The 이 서브넷이 속한 영역.
이 서브넷의 인터넷 바운드 트래픽에 사용할 공용 게이트웨이입니다. ** public_gateway**
PublicGatewayReference
상태 코드 검색
상태 코드
200 서브넷이 검색되었습니다.
**404 ** 지정한 식별자를 가진 서브넷을 찾을 수 없습니다.

자세한 정보 ( Java, Node, Python 및 Go 예제 포함) 는 VPC API 참조 에서 "서브넷 검색" 을 참조하십시오.