라우팅 테이블 작성
라우팅 테이블을 작성하여 최상의 경로를 따라 네트워크 트래픽을 목적지로 전달하는 규칙을 정의하십시오. 예를 들어, 라우팅 테이블은 네트워크를 통해 라우트에서 다음 홉으로 데이터 패킷을 송신하기 위한 정보를 제공합니다.
시작하기 전에
라우팅 테이블을 만들기 전에 VPC가 하나 이상 있는지 확인하고 라우팅 테이블 제한 및 가이드라인을 검토하고 준수하세요.
콘솔, CLI, API 또는 Terraform을 사용하여 IBM Cloud 서비스에 대한 라우팅 테이블을 만들 수 있습니다.
콘솔에서 라우팅 테이블 만들기
콘솔에서 라우팅 테이블을 만들려면 다음 단계를 따르세요:
-
IBM Cloud 콘솔에서 탐색 메뉴
선택한 다음 인프라
> 네트워크 > 라우팅 테이블을 클릭합니다. VPC용 라우팅 테이블이 표시됩니다.
-
페이지의 오른쪽 상단에 있는 작성을 클릭하십시오.
-
VPC 프로비저닝을 위한 라우팅 테이블 페이지에서 다음 정보를 입력합니다:
-
라우팅 테이블의 고유 이름을 입력하십시오.
-
라우팅 테이블과 연관시킬 가상 사설 클라우드를 선택하십시오.
-
태그- (선택 사항) 리소스를 정리하고 찾는 데 도움이 되는 태그를 추가합니다. 나중에 태그를 추가할 수 있습니다. 자세한 정보는 태그에 대한 작업을 참조하십시오.
-
접근 관리 태그- (선택 사항) 리소스에 접근 관리 태그를 추가하여 접근 제어 관계를 구성할 수 있습니다. 액세스 관리 태그의 유일한 지원 형식은
key:value
입니다. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오. -
가상 사설 클라우드- VPC를 선택합니다.
-
트래픽 섹션에서 다음 선택적 기능 중에서 선택할 수 있습니다.
-
다음에서 라우트 승인 (선택사항)- 라우팅 테이블에서 라우트를 작성할 수 있는 자원을 선택하십시오. VPN 서버, VPN 게이트웨이또는 둘 다에 대한 스위치를 선택할 수 있습니다.
-
트래픽 소스 (선택 사항)- 이 라우팅 테이블을 사용하여 트래픽을 VPC로 라우팅하려면 트래픽 소스를 선택합니다.
- Direct Link- 전용 또는 연결 연결에서 온프레미스 위치로 유입되는 트래픽을 허용합니다 IBM Cloud Direct Link 전용 또는 연결 연결에서 온프레미스 위치로 트래픽을 허용합니다. 선택적으로 VPC의 주소 접두부 범위에 없는 직접 링크에 라우트를 광고할 수 있습니다.
- 트랜짓 게이트웨이- IBM Cloud Transit Gateway 에서 다른 VPC 또는 클래식 인프라로의 유입 트래픽을 허용합니다. 선택적으로 라우트를 VPC의 주소 접두부 범위에 없는 Transit Gateway에 광고할 수 있습니다.
- 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-gateway
true
로 설정된 경우 이 라우팅 테이블은 Transit Gateway 에서 이 VPC로 출발하는 트래픽을 라우팅하는 데 사용됩니다. 라우팅이 성공하려면 VPC에 이 속성이true
로 설정된 라우팅 테이블이 이미 없어야 합니다. 중 하나입니다:false
,true
.--vpc-zone-ingress, --vpc-zone
- 선택사항입니다.
true
로 설정된 경우 이 라우팅 테이블은 공용 인터넷에서 발생하는 트래픽을 라우팅하는 데 사용됩니다. 라우팅이 성공하려면 이 속성이true
로 설정된 기존 라우팅 테이블이 VPC에 없어야 합니다. 중 하나입니다: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: $iam_token" \ -d '{ "name": "my-ingress-routing-table", "route_direct_link_ingress": true }'
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 레지스트리 를 참조하십시오.