Oracle Cloud에서 고객은 각 환경별로 애플리케이션과 데이터베이스를 별도의 가상 클라우드 네트워크(Virtual Cloud Network, VCN)에 배치할 수 있습니다. 이렇게 하면 다른 환경의 사용자가 접근하지 못하도록 각 환경에 추가적인 보안 계층이 생기지만, 한편으로는 필요할 때 환경 간에 파일을 복사하는 작업까지 막히는 문제가 발생합니다.
가장 먼저 떠오르는 질문은 "왜 굳이 다른 환경의 서버에 연결해야 할까?"일 것입니다. 그 이유는 개발(DEV)에서 프로덕션(PROD)으로 배포하거나 마이그레이션하는 과정에서 여러 차례 서버 간 파일 복사가 필요하기 때문입니다.
이 글에서는 서로 다른 VCN에 있는 호스트 간에 SFTP 접속을 활성화하는 방법을 알아봅니다.
개요
Oracle은 서로 다른 VCN의 호스트 간 연결을 위해 로컬 피어링 게이트웨이(Local Peering Gateway)를 제공합니다. 단, 로컬 피어링 게이트웨이는 단방향 트래픽만 허용한다는 점에 유의해야 합니다. 즉, VCN A의 호스트는 VCN B의 호스트에 접속할 수 있지만, B의 호스트는 A의 호스트에 접속할 수 없습니다. 양방향 접속이 필요하다면 반대편 VCN에도 동일한 설정을 적용해야 합니다.
다음 화면은 기본 상태에서 irbproddbs1 서버가 172.xx.xx.2(DEV APPS 서버)에 접근하려 할 때 차단되는 모습을 보여줍니다.
[oracle@proddbs1 ~]$ sftp irb@172.xx.xx.2
ssh: connect to host 172.xx.xx.2 port 22: Connection refused
Couldn't read packet: Connection reset by peer
[oracle@irbproddbs1 ~]$
로컬 피어링 설정하기
이제 로컬 피어링을 생성하고, proddbs1에서 172.xx.xx.2로 어떻게 접근 권한이 생기는지 확인해 보겠습니다.
- 클라우드 콘솔(Cloud Dashboard)에 로그인합니다.
- Networking > Virtual Cloud Network 메뉴로 이동합니다.

- 소스 컴파트먼트(Source Compartment)를 선택합니다.

- Local Peering Gateways를 클릭한 후 Create Local Peering Gateways를 클릭합니다.

- 피어링 게이트웨이 이름을 입력하고 컴파트먼트를 선택한 뒤 Create를 클릭합니다.

- 소스 호스트가 속한 서브넷을 선택합니다.

- 해당 서브넷에 할당된 Route Table(라우팅 테이블)을 클릭합니다.

- Add Route Rules(라우팅 규칙 추가)를 클릭합니다.

- 다음 항목들을 입력합니다.
- Target Type: Local Peering Gateway
- Destination CIDR Block: 대상 VCN의 CIDR 블록
- Compartment: 소스 컴파트먼트
- Target Local Peering Gateway: 4단계에서 생성한 게이트웨이 이름

이제 irbproddbs1 호스트에서 172.xx.xx.2로 접속을 시도합니다.
[oracle@proddbs1 ~]$ sftp irb@172.xx.xx.2 Connecting to 172.xx.xx.2... irb@172.xx.xx.2's password: sftp> pwd Remote working directory: /home/irb sftp> cd /u02/IRB sftp> ls sftp> mput irbproddbs1.tfa_Wed_Oct_09_14_39_46_EDT_2019.zip stat irbproddbs1.tfa_Wed_Oct_09_14_39_46_EDT_2019.zip: No such file or directory sftp> pwd Remote working directory: /u02/IRB sftp> mput BillingEngine_CADFixes_04OCT2019.zip Uploading BillingEngine_CADFixes_04OCT2019.zip to /u02/IRB/BillingEngine_CADFixes_04OCT2019.zip BillingEngine_CADFixes_04OCT2019.zip 100% 44KB 44.0KB/s 00:00 sftp>
위 과정을 마치면 proddbs1(PROD DB 서버) 호스트에서 172.xx.xx.2(DEV APPS 서버)로의 접근이 허용되며, proddbs1에서 대상 서버로 파일을 복사할 수 있게 됩니다. 다만 로컬 피어링 게이트웨이는 단방향 통신만 지원하므로, 반대 방향인 172.xx.xx.2에서 proddbs1로의 접근은 열리지 않습니다. 역방향 파일 전송이 필요하다면 대상 VCN에도 동일한 피어링 및 라우팅 설정을 추가해야 합니다.
마무리
이 글에서 구성한 로컬 VCN 피어링은 동일한 리전(Region) 내에 존재하는 서로 다른 두 VCN을 연결합니다. 이를 통해 호스트뿐 아니라 로드 밸런서, 데이터베이스 등 다양한 리소스들이 인터넷이나 온프레미스 네트워크를 경유하지 않고 사설 네트워크를 통해 직접 통신할 수 있어, 트래픽 혼잡과 외부 노출에 따른 보안 위협을 크게 줄일 수 있습니다.
의견이나 질문이 있다면 피드백 탭을 이용해 주세요. 언제든지 저희와 대화를 나눌 수 있습니다.