Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

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로 어떻게 접근 권한이 생기는지 확인해 보겠습니다.

  1. 클라우드 콘솔(Cloud Dashboard)에 로그인합니다.
  2. Networking > Virtual Cloud Network 메뉴로 이동합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. 소스 컴파트먼트(Source Compartment)를 선택합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. Local Peering Gateways를 클릭한 후 Create Local Peering Gateways를 클릭합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. 피어링 게이트웨이 이름을 입력하고 컴파트먼트를 선택한 뒤 Create를 클릭합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. 소스 호스트가 속한 서브넷을 선택합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. 해당 서브넷에 할당된 Route Table(라우팅 테이블)을 클릭합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. Add Route Rules(라우팅 규칙 추가)를 클릭합니다.
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. 다음 항목들을 입력합니다.
    • Target Type: Local Peering Gateway
    • Destination CIDR Block: 대상 VCN의 CIDR 블록
    • Compartment: 소스 컴파트먼트
    • Target Local Peering Gateway: 4단계에서 생성한 게이트웨이 이름
Oracle Cloud에서 서로 다른 가상 클라우드 네트워크(VCN) 간 SFTP 액세스 구성하기

  1. 이제 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을 연결합니다. 이를 통해 호스트뿐 아니라 로드 밸런서, 데이터베이스 등 다양한 리소스들이 인터넷이나 온프레미스 네트워크를 경유하지 않고 사설 네트워크를 통해 직접 통신할 수 있어, 트래픽 혼잡과 외부 노출에 따른 보안 위협을 크게 줄일 수 있습니다.

의견이나 질문이 있다면 피드백 탭을 이용해 주세요. 언제든지 저희와 대화를 나눌 수 있습니다.