라우팅 테이블 작성
라우팅 테이블을 작성하여 최상의 경로를 따라 네트워크 트래픽을 목적지로 전달하는 규칙을 정의하십시오. 예를 들어, 라우팅 테이블은 네트워크를 통해 라우트에서 다음 홉으로 데이터 패킷을 송신하기 위한 정보를 제공합니다.
시작하기 전에
라우팅 테이블을 만들기 전에 VPC가 하나 이상 있는지 확인하고 라우팅 테이블 제한 및 가이드라인을 검토하고 준수하세요.
콘솔, CLI, API 또는 Terraform을 사용하여 IBM Cloud 서비스에 대한 라우팅 테이블을 만들 수 있습니다.
콘솔에서 라우팅 테이블 만들기
콘솔에서 라우팅 테이블을 생성하려면 다음 단계를 따르십시오
-
IBM Cloud 콘솔에서 탐색 메뉴
선택한 다음 인프라
> 네트워크 > 라우팅 테이블을 클릭합니다. VPC용 라우팅 테이블이 표시됩니다.
-
페이지의 오른쪽 상단에 있는 작성을 클릭하십시오.
-
'VPC 프로비저닝용 라우팅 테이블' 페이지에서 다음 정보를 입력하십시오
-
라우팅 테이블의 고유 이름을 입력하십시오.
-
라우팅 테이블과 연관시킬 가상 사설 클라우드를 선택하십시오.
-
태그- (선택 사항) 자료를 정리하고 쉽게 찾을 수 있도록 태그를 추가하세요. 나중에 태그를 추가할 수 있습니다. 자세한 정보는 태그에 대한 작업을 참조하십시오.
-
액세스 관리 태그- (선택 사항) 리소스에 액세스 관리 태그를 추가하여 액세스 제어 관계를 구성할 수 있습니다. 액세스 관리 태그의 유일한 지원 형식은
key:value입니다. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오. -
가상 사설 클라우드- VPC를 선택하세요.
-
트래픽 섹션에서 이러한 선택적 기능 중에서 선택할 수 있습니다:
-
경로 허용 대상 (선택 사항)- 라우팅 테이블에서 경로를 생성할 수 있는 리소스를 선택합니다. VPN 서버, VPN 게이트웨이 또는 둘 다에 대한 스위치를 선택할 수 있습니다.
정책 기반 VPN 게이트웨이의 경우 경로는 자동으로 탐지되지 않습니다. 라우팅 테이블은 VPN 게이트웨이로부터의 경로를 수락하도록 구성되어야 하며, 전파되는 경로는 VPN 정책에 정의된 CIDR 접두사로 제한됩니다. BGP를 사용하는 경로 기반 VPN 게이트웨이는 학습된 경로를 동적으로 광고합니다. 정책 기반 VPN에 대한 CIDR 접두사 정의에 대한 자세한 내용은 VPN 게이트웨이에 연결 추가를 참조하십시오.
VPN 서버 경로는 클라이언트 주소 풀 및 구성된 클라이언트 경로에서 파생되며, 라우팅 테이블이 VPN 서버의 경로를 수락하도록 구성될 때 전파됩니다.
-
트래픽 소스 (선택 사항)- 이 라우팅 테이블을 사용하여 해당 트래픽을 VPC로 라우팅할 트래픽 소스를 선택합니다.
- Direct Link- 온프레미스 위치에 대한 IBM Cloud Direct Link 전용 또는 Connect 연결을 통해 온프레미스 위치로 들어오는 트래픽을 허용합니다. 선택적으로 VPC의 주소 접두사 범위에 속하지 않는 직접 링크에 대한 경로를 광고할 수 있습니다.
- 트랜짓 게이트웨이- 다른 VPC 또는 기존 인프라에서 IBM Cloud Transit Gateway 에서 다른 VPC 또는 기존 인프라로 들어오는 트래픽을 허용합니다. 선택적으로 VPC의 주소 접두사 범위에 속하지 않는 경유 게이트웨이에 대한 경로를 광고할 수 있습니다.
- VPC 영역- 동일한 VPC 내의 다른 가용 영역으로 들어오는 트래픽을 허용합니다.
- 공용 인터넷- 플로팅 IP를 수신지로 하는 공용 인터넷 인바운드 트래픽이 VPC의 다음 홉 IP로 라우팅되도록 허용합니다.
-
-
-
'라우팅 테이블 생성'을 클릭합니다.
CLI를 사용하여 라우팅 테이블 생성하기
시작하기 전에 CLI 환경을 설정하세요.
CLI에서 라우팅 테이블을 생성하려면 다음 명령을 실행하십시오:
ibmcloud is vpc-routing-table-create VPC [--name NAME] [--direct-link-ingress false | true] [--internet-ingress, --internet false | true] [--transit-gateway-ingress false | true] [--vpc-zone-ingress false | true] [--accept-routes-from-resource-type-filters, --ar-rtf vpn_server | vpn_gateway] [--advertise-routes-to direct_link | transit_gateway | direct_link, transit_gateway] [--output JSON] [-q, --quiet]
여기서:
VPC- VPC의 ID 또는 이름입니다.
--name- VPC 라우팅 테이블의 이름입니다.
--direct-link-ingress, --direct-link- 선택사항입니다.
true로 설정된 경우, 이 라우팅 테이블은 IBM Cloud Direct Link 에서 발생하는 트래픽을 이 VPC로 라우팅하는 데 사용됩니다. 라우팅이 성공하려면, 해당 VPC에 이 속성이 ‘true’로 설정된 라우팅 테이블이 이미 존재해서는 안 됩니다. 다음 중 하나:false,true. --internet-ingress, --internet- 이 라우팅 테이블이 인터넷에서 발생하는 트래픽을 라우팅하는 데 사용되는지 여부를 표시합니다.
true로 업데이트하면, VPC 내의 다른 라우팅 테이블에 이 속성이 이미true로 설정되어 있지 않은 경우, 이 라우팅 테이블이 선택됩니다.false로 업데이트하면 이 라우팅 테이블이 선택 해제됩니다. 다음 중 하나:false,true. --transit-gateway-ingress, --transit-gatewaytrue로 설정된 경우, 이 라우팅 테이블은 Transit Gateway 에서 시작되는 트래픽을 이 VPC로 라우팅하는 데 사용됩니다. 라우팅이 성공하려면, 해당 VPC에 이 속성이 ‘true’로 설정된 라우팅 테이블이 이미 존재해서는 안 됩니다. 다음 중 하나:false,true.--vpc-zone-ingress, --vpc-zone- 선택사항입니다.
true로 설정된 경우, 이 라우팅 테이블은 공용 인터넷에서 발생하는 트래픽을 라우팅하는 데 사용됩니다. 라우팅이 성공하려면, 해당 VPC에 이 속성이 ‘true’로 설정된 기존 라우팅 테이블이 없어야 합니다. 다음 중 하나:false,true. --accept-routes-from-resource-type-filters, --ar-rtf- 이 라우팅 테이블에 경로를 생성할 수 있는 쉼표로 구분된 리소스 유형 필터입니다. 중 하나입니다:
vpn_server,vpn_gatewa. --advertise_routes_to TARGETS- 선택사항입니다. 이 라우팅 테이블의 경로에 대한 쉼표로 구분된 광고 대상 목록입니다. 현재 허용되는 값은
direct_link및transit_gateway입니다.direct_link는direct-link-ingress를true로 설정해야 합니다.transit_gateway는transit—gateway-ingress를true로 설정해야 합니다.advertise옵션이true으로 설정된 라우팅 테이블의 모든 경로는 'advertise_routes_to'로 지정된 인그레스 소스에 광고됩니다. --output- 출력 형식입니다. 다음 중 하나입니다: JSON.
-q, --quiet- 자세한 정보 출력을 억제합니다.
전달 동작이 있는 경로는 다음 홉이 경로 영역의 서브넷에 있는 네트워크 인터페이스에 바인딩된 IP 주소가 아니면 드롭으로 처리됩니다. 따라서 들어오는 패킷이 인터넷에 연결된 IP 주소 또는 VPN 게이트웨이 연결의 다음 홉과 경로가 일치하면 패킷이 삭제됩니다.
VPC당 하나의 라우팅 테이블에 대해서만 인그레스 옵션을 ‘ true ’로 설정할 수 있으며, 이 경우 해당 라우팅 테이블이 어떤 서브넷에도 연결되어 있지 않아야 합니다.
CLI 예제
ibmcloud is vpc-routing-table-create 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --name my-vpc-routing-table -—advertise-routes-to direct_link --direct-link-ingress true -—output JSON
ibmcloud is vpc-routing-table-create my-vpc --name my-vpc-routing-table --advertise-routes-to transit_gateway —-transit-gateway-ingress true --output JSON
ibmcloud is vpc-routing-table-create my-vpc --name my-vpc-routing-table --advertise-routes-to direct_link, transit_gateway --direct-link-ingress true —transit-gateway-ingress true -—output JSON
ibmcloud is vpc-routing-table-create 979b4bc6-f018-40a2-92f5-0b1cf777b55d --name test-vpc-cli-routing-tb1 --direct-link-ingress false --internet-ingress false --transit-gateway-ingress false --vpc-zone-ingress true
API를 사용하여 라우팅 테이블 생성하기
API를 사용하여 라우팅 테이블을 생성하려면 다음 단계를 따르세요:
-
API 환경을 설정하십시오.
-
API 명령에 사용하도록 변수에
VpcId를 저장하십시오.export VpcId=<your_vpc_id> -
라우팅 테이블을 작성하십시오.
Egress 라우팅 테이블:
curl -X POST \ "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables?version=$api_version&generation=2" \ -H "Authorization: ${iam_token}" \ -d '{ "name": "test-routing-table" }'Ingress 라우팅 테이블:
curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-ingress-routing-table", "route_direct_link_ingress": true }'
자세한 내용 및 선택적 매개변수에 대해서는 VPC API 참조 문서의 “VPC용 라우팅 테이블 생성”을 참조하십시오.
Terraform을 사용하여 라우팅 테이블 생성하기
Terraform을 사용하여 라우팅 테이블을 생성하려면 다음 단계를 따르세요:
-
Terraform 환경을 설정하세요.
-
다음 예시 중 하나를 사용하십시오:
- 라우팅 테이블을 생성하려면:
resource "ibm_is_vpc_routing_table" "example" { vpc = ibm_is_vpc.example.id name = "example-vpc-routing-table" route_direct_link_ingress = true }- VPN 서버에서 생성된 경로를 허용하는 라우팅 테이블을 만들려면:
resource "ibm_is_vpc_routing_table" "example" { vpc = ibm_is_vpc.example.id name = "example-vpc-routing-table" route_direct_link_ingress = true accept_routes_from_resource_type = ["vpn_server"] }- IBM Cloud Direct Link 에서 시작되는 트래픽을 이 VPC로 라우팅하는 라우팅 테이블을 생성하려면:
resource "ibm_is_vpc_routing_table" "is_vpc_routing_table_instance" { vpc = ibm_is_vpc.example.id name = "example-vpc-routing-table" route_direct_link_ingress = true route_transit_gateway_ingress = false route_vpc_zone_ingress = false advertise_routes_to = ["direct_link", "transit_gateway"] }- 사용자 태그와 액세스 태그를 포함하는 라우팅 테이블을 생성하려면:
resource "ibm_is_vpc_routing_table" "example" { tags = ["rt-tag"] access_tags = ["access:dev"] vpc = ibm_is_vpc.example.id name = "example-vpc-routing-table" route_direct_link_ingress = true route_transit_gateway_ingress = false route_vpc_zone_ingress = false }응답 및 데이터 소스에는 CRN과 리소스 그룹이 포함되어 있습니다.
resource "ibm_is_subnet" "example" { name = "example-subnet" vpc = ibm_is_vpc.example.id zone = "us-south-1" ipv4_cidr_block = "10.240.0.0/24" routing_table_crn = ibm_is_vpc_routing_table.example.crn }
ibm_is_vpc_routing_table 리소스에 대한 문서는 Terraform 레지스트리에서 확인하세요.