주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Cloud Infrastructure에서 리소스별 경로 지정 구성
소개
리소스별 경로 지정은 특정 VNIC 또는 해당 VNIC(가상 네트워크 인터페이스 카드)와 연관된 개별 IP 주소에서 직접 경로 지정 규칙을 정의하는 기능을 나타냅니다. 이는 서브넷 레벨 경로 테이블에만 의존하는 대신 요구사항이 서로 다른 경우 단일 서브넷의 각 리소스에 맞게 조정된 향상된 경로 지정 제어를 제공합니다. 이를 통해 조직은 소스를 기반으로 적절한 대상 리소스로 데이터를 경로 지정하여 네트워크 트래픽을 최적화하고 성능을 향상시킬 수 있습니다.
리소스별 라우팅을 통해 Oracle Cloud Infrastructure(OCI) 사용자는 개별 리소스에 적용되는 라우팅 정책을 구성하여 트래픽이 애플리케이션 아키텍처를 최적으로 지원하는 방식으로 전달되도록 할 수 있습니다. 네트워크 제어 기능이 향상되어 복잡한 클라우드 환경을 보다 쉽게 관리할 수 있습니다. 이 경로 지정 방법은 트래픽을 특정 리소스로 경로 지정하는 방법을 정의하여 트래픽 흐름을 개선하는 데 도움이 됩니다.
목표
이 사용지침서에서는 OCI 내의 리소스별 라우팅에 대한 포괄적인 이해를 제공합니다.
-
리소스별 라우팅의 개념 이해: 트래픽 관리 및 성능 최적화를 향상시키기 위해 특정 OCI 리소스에 라우팅 정책을 적용하는 방법을 알아봅니다.
-
경로 지정 규칙 설정: OCI에서 리소스별 라우팅 규칙을 생성하고 구성하여 소스 VNIC를 기반으로 네트워크 트래픽을 다양한 리소스로 효과적으로 전달할 수 있는 실전 경험을 제공합니다.
필요 조건
-
OCI 테넌시 및 필요한 네트워크, 컴퓨트 및 스토리지 서비스를 관리할 수 있는 권한에 액세스합니다.
-
OCI 네트워크 라우팅 및 보안과 기능에 대한 기본적인 이해: VCN(가상 클라우드 네트워크), 라우트 테이블, 보안 목록 및 배스천 서비스. 또한 OCI IAM(Oracle Cloud Infrastructure Identity and Access Management) 동적 그룹 및 정책에 대한 일부 지식이 도움이 될 것입니다.
-
다음 문서를 검토하여 리소스별 라우팅에 중점을 두고 OCI 라우팅을 확실하게 이해하십시오. 이는 실제 구현으로 전환하기 전에 중요한 맥락을 제공합니다.
주: 각 예제는 서로 독립적으로 준비됩니다. 어떤 순서로든 작업할 수 있습니다.
예 1: OCI 네트워크 방화벽을 통해 하나의 VM(가상 머신)에 대해서만 인터넷 트래픽 검사
목표 예:
이 예에서는 특정 VM의 아웃바운드 인터넷 트래픽을 OCI 네트워크 방화벽을 통해 라우팅하여 NAT 게이트웨이에 도달하기 전에 이를 검사 및 보호하고 동일한 서브넷의 두번째 VM에 대한 방화벽을 우회하는 데 중점을 둡니다. 리소스별 라우팅이 없으면 이 시나리오를 구현하기 위해 각 인스턴스를 다른 서브넷에 배치해야 합니다.
필요 조건 예:
이 설계에 맞게 일부 필수 구성 요소를 구성합니다. 이는 기본적으로 전용 서브넷에 있는 컴퓨트 인스턴스 2개로, 동일한 VCN에 있는 별도의 서브넷에 있는 네트워크 방화벽과 함께 제공됩니다.
-
가상 클라우드 네트워크(예:
MyVCN
(192.168.0.0/16
))를 만듭니다. 자세한 내용은 VCN 생성을 참조하십시오. -
두 개의 전용 서브넷을 생성합니다. 자세한 내용은 서브넷 생성을 참조하십시오.
Application-Private-Subnet
(192.168.0.0/24
): 이 자습서에서는 서브넷에 기본 경로 테이블 및 기본 보안 목록을 지정합니다.Firewall-Private-Subnet
(192.168.1.0/24
).
-
VCN에 NAT 게이트웨이를 생성합니다. NAT 게이트웨이를 사용하면 공용 IP 주소가 없는 클라우드 리소스가 인터넷에 접근할 수 있으며, 이러한 리소스를 인바운드 인터넷 연결에 노출하지 않고도 아웃바운드 연결만 제공할 수 있습니다. 자세한 내용은 Creating a NAT Gateway를 참조하십시오.
-
두 개의 컴퓨팅 인스턴스
Linux-VM-1
및Linux-VM-2
를 생성합니다. 자세한 내용은 태스크 2: OCI 컴퓨트 인스턴스 프로비저닝을 참조하십시오. 다음 사항을 고려하십시오.- 각 OCI 컴퓨트 인스턴스의 이름입니다.
- OS(운영 체제)로 Oracle Linux를 사용합니다.
- 두 인스턴스를 모두
Application-Private-Subnet
에 배치하고 설계에 따라 수동으로 IP를 지정합니다. - OCI 배스천 플러그인을 사용으로 설정합니다.
-
OCI Bastion 서비스 및 세션을 생성합니다. 인스턴스는 전용 서브넷에 상주하기 때문에 안전하게 액세스한 다음 설정 종료 시 테스트하는 데 필요합니다. 이 자습서에 대해 생성한 구성요소에 맞게 대상 네트워크 및 인스턴스와 같은 차이점을 고려하십시오. 자세한 내용은 작업 6.1: 배스천 및 테스트를 사용하여 FE-VM 컴퓨트 인스턴스에 액세스를 참조하십시오.
-
다음과 같은 방화벽 솔루션을 프로비저닝합니다.
- OCI 방화벽(튜토리얼에서 사용 중)입니다.
- 타사 방화벽 인스턴스(FortiGate, Palo Alto 등)입니다. 또 다른 좋은 예는 pfSense 방화벽입니다. 설치하려면 Task 3: Install and Configure pfSense Firewall을 참조하십시오.
- 모든 Linux 기반 방화벽 인스턴스.
작업 1: Linux-VM-2
에서 인터넷으로 트래픽을 검사하도록 OCI 네트워크 방화벽 준비
- 기본 보안 목록을 사용하면 모든 트래픽이 철저한 평가를 위해 방화벽을 통과할 수 있으므로 ID 서비스를 통한 허용, 거부 또는 모니터링을 포함하여 OCI 보안 규칙 대신 방화벽으로 완전히 제어할 수 있습니다.
- MyVCN에 대한 기본 경로 테이블: 비어 있음, 사용되지 않음.
- 방화벽 서브넷 경로 테이블을 사용하면 NAT 게이트웨이를 통해 모든 트래픽을 인터넷(편도)으로 라우팅합니다.
- NAT 경로 테이블을 사용하여 응답 트래픽을 소스(
Linux-VM-2
)로 다시 전송하기 전에 인터넷에서 수신되는 응답 트래픽을 검사할 방화벽으로 경로 지정합니다.
작업 1.1: 방화벽 서브넷 경로 지정 및 보안 설정
-
OCI 콘솔에 로그인한 후 가상 클라우드 네트워크 세부정보 페이지로 이동합니다.
-
아래로.
- Security Lists를 누릅니다.
- 기본 보안 목록을 누릅니다.
- 모든 수신 트래픽을 허용합니다.
- 모든 송신 트래픽 허용.
- 가상 클라우드 네트워크 세부정보 페이지로 이동합니다.
- 아래로.
- 경로 테이블을 누릅니다.
- 경로 테이블 생성을 누릅니다.
- 경로 테이블에 대해 이름을 입력합니다.
- + 다른 경로 규칙을 누릅니다.
-
규칙에 다음 정보를 입력합니다.
- 대상 유형에서 NAT 게이트웨이를 선택합니다.
- 대상 CIDR 블록에
0.0.0.0/0
을 입력합니다. - 대상 NAT 게이트웨이에서 필요 조건으로 생성된 NAT 게이트웨이를 선택합니다.
- Create를 누릅니다.
-
Firewall Subnet Route Table
가 성공적으로 생성됩니다. -
이제 방화벽 서브넷에 경로 테이블을 지정해 보겠습니다. 가상 클라우드 네트워크 세부정보 페이지로 이동합니다.
- 서브넷을 누릅니다.
- Firewall-Private-Subnet을 누릅니다.
-
편집을 누릅니다.
- 위에서 생성한 경로 테이블을 사용합니다.
- 변경사항 저장을 누릅니다.
-
경로 테이블이 성공적으로 변경되었습니다.
이 작업에서는 서브넷 레벨 경로 테이블을 생성하고 지정했습니다. 즉, 이 서브넷 내에 배치된 모든 리소스가 정의된 경로 지정 규칙에 따라 제어됩니다.
작업 1.2: NAT 게이트웨이 경로 테이블 생성 및 지정
-
계속하기 전에 NAT 게이트웨이를 생성해야 합니다. 가상 클라우드 네트워크 세부정보 페이지로 이동합니다.
- 경로 테이블을 누릅니다.
- 경로 테이블 생성을 누릅니다.
- 경로 테이블에 대해 이름을 입력합니다.
- +Another 경로 규칙을 누릅니다.
-
규칙에 다음 정보를 입력합니다.
- 대상 유형에서 개인 IP를 선택합니다.
- 대상 유형에 소스 VM이 있는 Application-Private-Subnet CIDR인
192.168.0.0/24
을 입력합니다. - 대상 선택에 방화벽
192.168.1.100
의 프라이빗 IP를 입력합니다. - Create를 누릅니다.
-
NAT Route Table
가 성공적으로 생성됩니다. -
NAT 게이트웨이에 경로 테이블을 지정해 보겠습니다. 가상 클라우드 네트워크 세부정보 페이지로 이동합니다.
- NAT 게이트웨이를 누릅니다.
- 오른쪽에 있는 게이트웨이의 세 점을 클릭합니다.
- 경로 테이블 연관을 누릅니다.
- NAT 라우트 테이블을 선택합니다.
- 경로 테이블 연관을 누릅니다.
-
경로 테이블이 성공적으로 연관되었습니다.
작업 1.3: 방화벽 로그 사용 및 정책 확인
참고: 이 자습서에서는 OCI Network Firewall을 사용하지만 타사 방화벽과 동일한 시나리오를 복제할 수 있습니다.
-
네트워크 방화벽 세부정보 페이지로 이동합니다.
-
아래로.
- 로그를 누릅니다.
- 트래픽 로그를 사용으로 설정합니다. 트래픽 로그는 방화벽을 통과하는 트래픽에 대한 세부정보를 제공합니다.
- 로그 그룹을 선택합니다(없는 경우).
- 로그 이름을 입력합니다.
- 로그 사용을 누릅니다.
- 트래픽 로그가 성공적으로 사용으로 설정되었습니다.
- 연관된 네트워크 방화벽 정책을 누릅니다.
-
network_firewall_policy_v1
정책을 사용 중입니다. -
아래로 스크롤하여 정책 기존 구성을 확인합니다.
- 보안 규칙을 누릅니다.
IPS_VM2_Internet
규칙 오른쪽에 있는 세 개의 점을 누릅니다.- 세부정보 보기를 누릅니다.
-
사용된 보안 규칙 세부정보를 확인합니다.
- 사용된 프로토콜 또는 포트에 관계없이
Linux-VM-2
에서 다른 곳으로 오는 트래픽입니다. - 침입 방지를 규칙 작업으로 사용하여 트래픽에서 악의적인 작업을 모니터링합니다. 정보를 기록하거나 활동을 보고하거나 차단합니다.
- 사용된 프로토콜 또는 포트에 관계없이
작업 2: 사용자 정의 경로 테이블 생성
-
가상 클라우드 네트워크 세부정보 페이지로 이동합니다.
-
아래로.
- 경로 테이블을 누릅니다.
- VCN을 사용하여 자동으로 생성되는 기본 경로 테이블이 있습니다. 이 테이블은
Application-Private-Subnet
에 지정되며 서브넷 내의 모든 VM이 이 테이블을 사용합니다(이 예에서는 이 경로 테이블이 비어 있음). - 그러나 이 자습서에서는 사용자 정의 경로 테이블을 만들고 각 테이블을 해당 VM의 VNIC에 지정합니다. 이 방법을 사용하면 서브넷 경로 테이블에 대한 종속성을 방지하여 경로 지정을 보다 세부적으로 제어할 수 있습니다. 경로 테이블 생성을 누릅니다.
-
방화벽을 통해 트래픽을 검사하지 않고 직접 NAT 게이트웨이로 트래픽 경로를 지정하기 위해
Linux-VM-1
에 지정될 두번째 테이블(Custom Route Table 1
)을 생성합니다.- 경로 테이블에 대해 이름을 입력합니다.
- +Another 경로 규칙을 누릅니다.
-
규칙에 다음 정보를 입력합니다.
- 대상 유형에서 NAT 게이트웨이를 선택합니다.
- 대상 CIDR 블록에
0.0.0.0/0
을 입력합니다. - 대상 NAT 게이트웨이에서 필요 조건에 생성된 NAT 게이트웨이를 선택합니다.
- Create를 누릅니다.
-
Custom Route Table 1
가 성공적으로 생성됩니다. -
두번째 테이블(
Custom Route Table 2
)을 생성하려면 경로 테이블 생성을 누릅니다. -
NAT 게이트웨이로 전송하기 전에 먼저 검사할 방화벽으로 트래픽 경로를 지정하기 위해
Custom Route Table 2
가Linux-VM-2
에 지정됩니다.- 경로 테이블에 대해 이름을 입력합니다.
- +Another 경로 규칙을 누릅니다.
-
규칙에 다음 정보를 입력합니다.
- 대상 유형에서 개인 IP를 선택합니다.
- 대상 CIDR 블록에
0.0.0.0/0
을 입력합니다. - 대상 선택에 방화벽
192.168.1.100
의 프라이빗 IP를 입력합니다. - Create를 누릅니다.
-
Custom Route Table 2
가 성공적으로 생성됩니다.
작업 3: VNIC에 사용자 정의 경로 테이블 지정
-
Linux-VM-1
로 시작하겠습니다.- 기본적으로 인스턴스의 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
Default Route Table for MyVCN
입니다. 여기서의 목표는 라우팅 테이블을 리소스별 라우팅으로 변경하는 것입니다. 이때 인스턴스(VNIC)는 자체 라우팅 테이블을 갖게 됩니다. - 아래로.
- Attached VNICs(연결된 VNIC)를 누릅니다.
- 기본 VNIC 오른쪽에 있는 점 3개를 누릅니다.
- Edit VNIC(VNIC 편집)를 누릅니다.
- 기본적으로 각 VNIC는 서브넷과 연관된 경로 테이블을 사용합니다.
- VNIC에 대한 사용자 정의 경로 테이블 선택을 누릅니다.
- 경로 테이블에서 사용자정의 경로 테이블 1을 선택합니다.
- 여기에 구성을 저장한 후에는 경로 지정 결정을 내릴 때 기본 경로 테이블이 검토되지 않습니다.
- 변경사항 저장을 누릅니다.
- 기본적으로 인스턴스의 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
-
Custom Route Table 1
가Linux-VM-1
의 기본 VNIC에 성공적으로 지정되었습니다. -
이제
Linux-VM-2
에 대해 지정합니다.- 기본적으로 인스턴스 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
Default Route Table for MyVCN
입니다. 여기서의 목표는 라우팅 테이블을 리소스별 라우팅으로 변경하는 것입니다. 이때 인스턴스(VNIC)는 자체 라우팅 테이블을 갖게 됩니다. - 아래로.
- Attached VNICs(연결된 VNIC)를 누릅니다.
- 기본 VNIC 오른쪽에 있는 점 3개를 누릅니다.
- Edit VNIC(VNIC 편집)를 누릅니다.
- 기본적으로 각 VNIC는 서브넷과 연관된 경로 테이블을 사용합니다.
- VNIC에 대한 사용자 정의 경로 테이블 선택을 누릅니다.
- 경로 테이블에서 사용자정의 경로 테이블 2를 선택합니다.
- 여기에 구성을 저장한 후에는 경로 지정 결정을 내릴 때 기본 경로 테이블이 검토되지 않습니다.
- 변경사항 저장을 누릅니다.
- 기본적으로 인스턴스 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
-
Custom Route Table 2
가Linux-VM-2
의 기본 VNIC에 성공적으로 지정되었습니다.
작업 4: 테스트 및 검증
-
테스트 1: 방화벽 검사 없이 인터넷 액세스에
Linux-VM-1
테스트-
Linux-VM-1
에 로그인합니다.참고: OCI Bastion 서비스는 전용 서브넷에 있으므로 인스턴스에 접근하는 데 사용했습니다. 기존의 점프 박스(Windows, Linux), 사이트 간 VPN 또는 기타 대안과 같은 다른 방법을 사용할 수 있습니다.
-
핑
8.8.8.8
- Google DNS 서버의 공용 IP입니다. 설정한 구성에 따라 방화벽에서 검사하지 않고 트래픽이 NAT 게이트웨이를 통해 직접 경로 지정됩니다. -
네트워크 방화벽 세부정보 페이지로 이동합니다.
- 로그를 누릅니다.
- 로그 이름을 누릅니다.
-
이전 테스트에서 핑 트래픽을 확인하도록 필터를 설정합니다.
Linux-VM-1
의 IP 주소는192.168.0.10
입니다.- 프로토콜은
ICMP
입니다. - 검색을 누릅니다.
- 방화벽을 통과한
Linux-VM-1
의 트래픽은 표시되지 않습니다. 이는 트래픽 경로를 NAT 게이트웨이로 직접 지정하도록 사용자 정의 경로 테이블을 구성했기 때문에 예상 결과입니다.
-
-
테스트 2: 방화벽 검사를 통해 인터넷 액세스로
Linux-VM-2
테스트-
Linux-VM-2
에 로그인합니다.참고: OCI Bastion 서비스는 전용 서브넷에 있으므로 인스턴스에 접근하는 데 사용했습니다. 기존의 점프 박스(Windows, Linux), 사이트 간 VPN 또는 기타 대안과 같은 다른 방법을 사용할 수 있습니다.
-
핑
8.8.8.8
- Google DNS 서버의 공용 IP입니다. 설정된 구성에 따라 방화벽에서 검사한 후 트래픽이 NAT 게이트웨이를 통과합니다. -
네트워크 방화벽 세부정보 페이지로 이동합니다.
- 로그를 누릅니다.
- 로그 이름을 누릅니다.
-
이전 테스트에서 핑 트래픽을 확인하도록 필터를 설정합니다.
Linux-VM-2
의 IP 주소는192.168.0.20
입니다.- 프로토콜은
ICMP
입니다. - 검색을 누릅니다.
-
로그에서 트래픽이 방화벽을 통해 인터넷으로 전달되었음을 확인할 수 있습니다.
- Destination IP Address는
8.8.8.8
입니다. - 프로토콜은
ICMP
입니다. - 소스 IP 주소는
192.168.0.20
입니다.
- Destination IP Address는
이는 동일한 서브넷 내에 있더라도 리소스별 라우팅을 통해 각 VM에 서로 다른 라우팅 구성을 제공함으로써 트래픽 흐름에 대한 세부적인 제어를 제공하고 네트워크 관리를 최적화하는 방법을 보여줍니다.
-
예 2: Oracle Services Network 전용 트래픽과 인터넷 트래픽 분리
목표 예:
이 예에서는 동일한 서브넷 내의 두 리소스를 서로 다른 경로로 구성하여 별도의 게이트웨이를 통해 Oracle 서비스 네트워크 및 인터넷으로 트래픽을 전달하는 방법을 보여줍니다. Linux-VM-1
는 Oracle Jeddah 데이터 센터로 제한된 공용 인터넷을 통해 라우팅하지 않고 Oracle 서비스 네트워크, 특히 OCI Object Storage에만 액세스해야 하는 반면, Linux-VM-2
는 아웃바운드 인터넷 액세스가 필요합니다. 즉, Oracle 서비스 네트워크 내의 공용 IP 주소에 대한 액세스를 의미합니다. 리소스별 라우팅이 없으면 이 시나리오를 구현하기 위해 각 인스턴스를 다른 서브넷에 배치해야 합니다.
필요 조건 예:
이 설계에 맞게 일부 필수 구성 요소를 구성합니다. 기본적으로 프라이빗 서브넷에 두 개의 컴퓨트 인스턴스가 있습니다.
-
가상 클라우드 네트워크(예:
MyVCN
(192.168.0.0/16
))를 만듭니다. 자세한 내용은 VCN 생성을 참조하십시오. -
프라이빗 서브넷을 생성합니다. 자세한 내용은 서브넷 생성을 참조하십시오.
Application-Private-Subnet
(192.168.0.0/24
). 이 사용지침서에서는 서브넷에 기본 경로 테이블 및 기본 보안 목록을 지정합니다.
-
VCN에 NAT 게이트웨이를 생성합니다. NAT 게이트웨이를 사용하면 공용 IP 주소가 없는 클라우드 리소스가 인터넷에 접근할 수 있으며, 이러한 리소스를 인바운드 인터넷 연결에 노출하지 않고도 아웃바운드 연결만 제공할 수 있습니다. 자세한 내용은 Creating a NAT Gateway를 참조하십시오.
-
VCN에서 서비스 게이트웨이를 생성합니다. 서비스 게이트웨이를 사용하면 퍼블릭 인터넷에 데이터를 노출하지 않고도 VCN이 특정 Oracle 서비스에 비공개로 액세스할 수 있습니다. 특정 서비스에 도달하기 위해 인터넷 게이트웨이 또는 NAT 게이트웨이가 필요하지 않습니다. 자세한 내용은 서비스 게이트웨이 생성을 참조하십시오.
-
두 개의 컴퓨팅 인스턴스
Linux-VM-1
및Linux-VM-2
를 생성합니다. 자세한 내용은 태스크 2: OCI 컴퓨트 인스턴스 프로비저닝을 참조하십시오. 다음 사항을 고려하십시오.- 각 인스턴스의 이름입니다.
- OS로 Oracle Linux를 사용합니다.
- 두 인스턴스를 이전에 생성한 동일한 서브넷에 배치하고 설계에 따라 수동으로 IP를 할당합니다.
- OCI 배스천 플러그인을 사용으로 설정합니다.
-
OCI Bastion 서비스 및 세션을 생성합니다. 인스턴스는 전용 서브넷에 상주하기 때문에 안전하게 액세스한 다음 설정 종료 시 테스트하는 데 필요합니다. 이 자습서에 대해 생성한 구성요소에 맞게 대상 네트워크 및 인스턴스와 같은 차이점을 고려하십시오. 자세한 내용은 작업 6.1: 배스천 및 테스트를 사용하여 FE-VM 컴퓨트 인스턴스에 액세스를 참조하십시오.
작업 1: 사용자 정의 경로 테이블 생성
-
OCI 콘솔로 이동합니다.
- VCN으로 이동합니다.
- 아래로.
- 경로 테이블을 누릅니다.
- VCN을 사용하여 자동으로 생성되는 기본 경로 테이블이 있습니다. 이 테이블은
Application-Private-Subnet
에 지정되며 서브넷 내의 모든 VM에서 이 테이블을 사용합니다.
-
그러나 이 자습서에서는 사용자 정의 경로 테이블을 만들고 각 테이블을 해당 VM의 VNIC에 지정합니다. 이 방법을 사용하면 서브넷 경로 테이블에 대한 종속성을 방지하여 경로 지정을 보다 세부적으로 제어할 수 있습니다. 경로 테이블 생성을 누릅니다.
-
첫 번째 테이블(
Custom Route Table 1
)을 생성합니다. 이 테이블은 서비스 게이트웨이를 통해 트래픽 경로를 지정하기 위해Linux-VM-1
에 지정되며, 특히 OCI Object Storage에 액세스하기 위해 Oracle 서비스 네트워크에 연결할 수 있습니다.- 경로 테이블에 대해 이름을 입력합니다.
- +Another 경로 규칙을 누릅니다.
-
규칙에 다음 정보를 입력합니다.
- 대상 유형에서 서비스 게이트웨이를 선택합니다.
- 대상 CIDR 블록에서 Oracle Services Network의 모든 JED 서비스를 선택합니다. 이를 통해 OCI Object Storage를 포함한 모든 Oracle 서비스에 대한 액세스가 보장되며, 최종적으로 테스트됩니다. 또한 OCI Bastion을 사용하여 VM에 연결하는 경우 OCI Object Storage로 제한하지 않고 앞서 언급한 모든 서비스 옵션을 선택해야 합니다.
- 대상 서비스 게이트웨이에서 필요 조건으로 생성된 서비스 게이트웨이를 선택합니다.
- Create를 누릅니다.
-
Custom Route Table 1
가 성공적으로 생성됩니다. -
두번째 테이블(
Custom Route Table 2
)을 생성하려면 경로 테이블 생성을 누릅니다. -
NAT 게이트웨이를 통해 트래픽 경로를 지정하기 위해
Custom Route Table 2
가Linux-VM-2
에 지정되어 OCI Object Storage 끝점을 포함한 인터넷에 단방향 접속이 가능합니다.- 경로 테이블에 대해 이름을 입력합니다.
- +Another 경로 규칙을 누릅니다.
-
규칙에 다음 정보를 입력합니다.
- 대상 유형에서 NAT 게이트웨이를 선택합니다.
- 대상 CIDR 블록에
0.0.0.0/0
을 입력합니다. - 대상 NAT 게이트웨이에서 필요 조건으로 생성된 NAT 게이트웨이를 선택합니다.
- Create를 누릅니다.
-
Custom Route Table 2
가 성공적으로 생성됩니다.
작업 2: VNIC에 사용자 정의 경로 테이블 지정
-
Linux-VM-1
로 시작하겠습니다.- 기본적으로 인스턴스의 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
Default Route Table for MyVCN
입니다. 여기서의 목표는 라우팅 테이블을 리소스별 라우팅으로 변경하는 것입니다. 이때 인스턴스(VNIC)는 자체 라우팅 테이블을 갖게 됩니다. - 아래로.
- Attached VNICs(연결된 VNIC)를 누릅니다.
- 기본 VNIC 오른쪽에 있는 점 3개를 누릅니다.
- Edit VNIC(VNIC 편집)를 누릅니다.
- 기본적으로 각 VNIC는 서브넷과 연관된 경로 테이블을 사용합니다.
- VNIC에 대한 사용자 정의 경로 테이블 선택을 누릅니다.
- 경로 테이블에서
Custom Route Table 1
을 선택합니다. - 여기에 구성을 저장한 후에는 경로 지정 결정을 내릴 때 기본 경로 테이블이 검토되지 않습니다.
- 변경사항 저장을 누릅니다.
- 기본적으로 인스턴스의 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
-
Custom Route Table 1
가Linux-VM-1
의 기본 VNIC에 성공적으로 지정되었습니다. -
이제
Linux-VM-2
에 대해 지정합니다.- 기본적으로 인스턴스의 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
Default Route Table for MyVCN
입니다. 여기서의 목표는 라우팅 테이블을 리소스별 라우팅으로 변경하는 것입니다. 이때 인스턴스(VNIC)는 자체 라우팅 테이블을 갖게 됩니다. - 아래로.
- Attached VNICs(연결된 VNIC)를 누릅니다.
- 기본 VNIC 오른쪽에 있는 점 3개를 누릅니다.
- Edit VNIC(VNIC 편집)를 누릅니다.
- 기본적으로 각 VNIC는 서브넷과 연관된 경로 테이블을 사용합니다.
- VNIC에 대한 사용자 정의 경로 테이블 선택을 누릅니다.
- 경로 테이블에서
Custom Route Table 2
을 선택합니다. - 여기에 구성을 저장한 후에는 경로 지정 결정을 내릴 때 기본 경로 테이블이 검토되지 않습니다.
- 변경사항 저장을 누릅니다.
- 기본적으로 인스턴스의 VNIC는 VM이 상주하는 서브넷에 연결된 경로 테이블을 사용합니다. 이 자습서에서는
-
Custom Route Table 2
가Linux-VM-2
의 기본 VNIC에 성공적으로 지정되었습니다.
작업 3: OCI 오브젝트 스토리지 버킷 생성
OCI Object Storage 버킷은 OCI에서 객체(파일 및 데이터)를 저장 및 구성하는 데 사용되는 논리적 컨테이너입니다.
-
OCI 콘솔로 이동하여 왼쪽 상단 모서리에서 햄버거 메뉴(+)를 누릅니다.
- Storage를 누릅니다.
- 버킷을 누릅니다.
-
버킷 생성을 누릅니다.
- 버킷 이름을 입력합니다.
- Create를 누릅니다.
-
Test-Bucket
버킷이 성공적으로 생성됩니다. 이제 버킷을 클릭합니다. -
버킷이 여전히 새 버킷이므로 비어 있음을 알 수 있습니다.
작업 4: 테스트 및 검증
작업 4.1: Oracle Services Network에 액세스할 수 있도록 VM 준비
-
인스턴스 주체는 인스턴스에서 서비스 호출을 수행할 수 있도록 해주는 OCI IAM 서비스의 기능입니다. 인스턴스 주체를 사용하여 인증서 없이 컴퓨트 인스턴스에서 OCI Object Storage에 액세스합니다. 자세한 내용은 Calling OCI CLI Using Instance Principal을 참조하십시오.
수행할 단계:
-
특정 컴파트먼트(
Linux-VM-1
및Linux-VM-2
)에 모든 인스턴스를 포함하도록 동적 그룹(TestDG
)을 생성합니다.Any {instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaacmshv5fxxxxxxxxxxxxxxxykxgy3qvetychowq'}
-
OCI IAM 정책을 생성합니다.
Allow dynamic-group TestDG to manage object-family in compartment AnasAbdallah
주: 위의 정책에서 동적 그룹 이름, 컴파트먼트 이름 및 OCID를 사용해야 합니다.
-
-
Linux-VM-1
및Linux-VM-2
인스턴스에 모두 로그인한 후 다음 단계를 반복합니다.-
다음 명령을 실행하여 Oracle Linux 8에 OCI CLI를 설치합니다. 자세한 내용은 Installing the CLI를 참조하십시오.
sudo dnf -y install oraclelinux-developer-release-el8 sudo dnf install python36-oci-cli
-
OCI CLI에서 최초 설정 프로세스를 안내하도록 하려면
oci setup config
명령을 실행합니다.- Enter 키를 누릅니다.
- 사용자 이름 OCID를 입력합니다.
- 테넌시 OCID를 입력합니다.
- 지역 인덱스를 입력합니다. 이 환경을
49
인 제다 지역에 배치합니다. Y
를 입력하고 Enter 키를 누릅니다.- Enter 키를 누릅니다.
- Enter 키를 누릅니다.
- 퍼블릭 API 키가 이 경로에 저장되었습니다. 곧 사용됩니다.
- 새 문장암호를 입력합니다.
- 문장암호를 반복합니다.
cat /home/opc/.oci/oci_api_key_public.pem
명령을 실행하여 공개 키를 표시합니다.- 공용 키를 복사합니다.
- OCI 콘솔로 이동하여 프로파일로 이동합니다.
- 아래로.
- API 키를 누릅니다.
- API 키 추가를 누릅니다.
- Paste a public key를 선택합니다.
- 공개 키를 붙여 넣습니다.
- 추가를 누릅니다.
-
API 키가 성공적으로 추가되었습니다.
-
작업 4.2: Linux-VM-1
에서 Oracle Services Network 액세스로 테스트
-
구성에 따라
Linux-VM-1
는 인터넷에 액세스하지 않고 OCI Object Storage에만 액세스할 수 있어야 하며 서비스 게이트웨이를 사용합니다.- OCI Object Storage 네임스페이스의 이름을 확인하려면
oci os ns get
명령을 실행합니다. - 다음 명령에서 사용할 네임스페이스를 기록해 두십시오.
oci os object list --bucket-name <bucket-name> --namespace <namespace>
명령을 실행하여Test-Bucket
의 객체를 나열합니다.- 버킷이 비어 있습니다.
참고: OCI Object Storage 네임스페이스는 테넌시의 모든 버킷 및 객체에 대한 최상위 컨테이너 역할을 합니다. 계정 생성 시 각 OCI 테넌시에는 고유한 시스템 생성 및 변경 불가능한 OCI Object Storage 네임스페이스 이름 한 개가 할당됩니다.
object1.txt
라는 텍스트 파일을 만들고 여기에 abc를 씁니다.- 파일의 내용을 표시합니다.
- abc를 출력으로 볼 수 있습니다.
object1.txt
를Test-Bucket
에 업로드하려면oci os object put -ns <namespace> -bn <bucket-name> --file <file-path>
명령을 실행합니다.- 업로드가 완료되었습니다.
- OCI Object Storage 네임스페이스의 이름을 확인하려면
-
파일이 업로드되었는지 확인하려면 버킷 세부정보 페이지로 이동합니다.
-
아래로.
- 객체를 누릅니다.
object1.txt
파일이Test-Bucket
에 성공적으로 업로드되었습니다. 파일을 다운로드하여 파일의 내용을 확인할 수 있습니다.
-
한 가지 더 테스트해야 할 것은
Linux-VM-1
의 인터넷 연결입니다.- 핑
8.8.8.8
- Google DNS 서버의 공용 IP입니다. 설정한 구성에 따라Linux-VM-1
에 인터넷 연결이 없어야 합니다. - 보시다시피 ping은 실패합니다.
- 핑
작업 4.3: 인터넷 액세스에 대한 Linux-VM-2
테스트
-
구성에 따라
Linux-VM-2
에 인터넷이 연결되어 있어야 합니다. 여기에는 NAT 게이트웨이를 통해 수행되는 OCI Object Storage에 대한 액세스가 포함됩니다. 두 VM이 모두 동일한 서브넷에 있지만 리소스별 경로 지정을 통해 이 설정의 핵심 개념인 서로 다른 네트워크 경로를 사용할 수 있습니다.- OCI Object Storage 네임스페이스의 이름을 확인하려면
oci os ns get
명령을 실행합니다. - 다음 명령에서 사용할 네임스페이스를 기록해 두십시오.
oci os object list --bucket-name <bucket-name> --namespace <namespace>
명령을 실행하여Test-Bucket
의 객체를 나열합니다.- 작업 4.2에서 업로드한 버킷에 저장된
object1.txt
파일을 볼 수 있습니다.
참고: OCI Object Storage 네임스페이스는 테넌시의 모든 버킷 및 객체에 대한 최상위 컨테이너 역할을 합니다. 계정 생성 시 각 OCI 테넌시에는 고유한 시스템 생성 및 변경 불가능한 OCI Object Storage 네임스페이스 이름 한 개가 할당됩니다.
object2.txt
라는 텍스트 파일을 만들고 여기에 def를 씁니다.- 파일의 내용을 표시합니다.
- def를 출력으로 볼 수 있습니다.
object2.txt
를Test-Bucket
에 업로드하려면oci os object put -ns <namespace> -bn <bucket-name> --file <file-path>
명령을 실행합니다.- 업로드가 완료되었습니다.
- OCI Object Storage 네임스페이스의 이름을 확인하려면
-
파일이 업로드되었는지 확인하려면 버킷 세부정보로 이동합니다.
-
아래로.
- 객체를 누릅니다.
object2.txt
파일이Test-Bucket
에 성공적으로 업로드되었습니다. 파일을 다운로드하여 파일의 내용을 확인할 수 있습니다.
-
한 가지 더 테스트해야 할 것은
Linux-VM-2
의 인터넷 연결입니다.- 핑
8.8.8.8
- Google DNS 서버의 공용 IP입니다. 설정한 구성에 따라Linux-VM-2
도 인터넷에 연결되어 있어야 합니다. - 핑을 성공했습니다.
- 핑
결론
이 자습서에서는 두 가지 심층적인 기술 예제를 통해 OCI의 리소스별 라우팅을 통해 동일한 서브넷 내의 개별 VNIC에 커스터마이징 라우팅 테이블을 직접 적용하여 네트워크 트래픽을 정확하게 제어하는 방법을 설명했습니다. 또한 이 기능이 최신 클라우드 네트워크 설계에 제공하는 유연성과 효율성을 강조하면서 리소스별 라우팅과 기존 서브넷 레벨 라우트 테이블의 주요 차이점을 강조했습니다.
확인
- Authors - Anas Abdallah(클라우드 네트워킹 전문가), Sachin Sharma(클라우드 네트워킹 전문가)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Configure Per-resource Routing in Oracle Cloud Infrastructure
G31569-02
Copyright ©2025, Oracle and/or its affiliates.