본문 바로가기

Cloud/Oracle Cloud Infrastructure

28. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 데이터베이스 (백업)

2019/01/17 - [Cloud/Oracle Cloud Infrastructure] - 27. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 데이터베이스 (DB 시스템연결2)

5단계. 데이터베이스 구성

서비스 게이트웨이를 통한 데이터베이스 백업 구성

가상 머신 DB 시스템 백업의 경우, OCI 콘솔에서 오브젝트 스토리지에 자동 또는 수동 백업을 하거나, RMAN으로 백업을 있다. 오라클에서는 OCI 콘솔을 통해 수행되며, 콘솔에서 백업 목록을 있는 것을 Managed 백업, RMAN으로 별도 오브젝트 스토리지 버킷에 수행하기 때문에 콘솔에서 보이지 않는 백업을 Unmanaged 백업이라고 부르기도 한다.

로컬 스토리지 Fast Recovery Area CLI 명령(dbcli)으로 백업을 받는 것도 가능하나, 베어 메탈 DB 시스템에만 해당한다. DB 시스템 유형별 백업에 대한 자세한 내용은 앞선 [참조. OCI 데이터베이스] 참고한다.

이번 테스트에서는 오브젝트 스토리지로 OCI 콘솔에서 수동 백업, 자동 백업을 구성해 볼텐데, 이러한 방식의 백업은 몇가지 다음과 같은 특징이 있다.

       데이버베이스 백업을 위한 오브젝트 스토리지 버킷은 OCI 데이터베이스 서비스에 의해 내부적으로 관리된다. 데이버베이스 백업이 사용자 Tenancy 오브젝트 스토리지 버킷에 저장되는 것이 아니므로 백업을 구성할 별도로 버킷을 만들 필요는 없다.

       사용자가 호스트 또는 데이터베이스에 오브젝트 스토리지 접근을 위한 자격 증명(Credential) 정보를 배포할 필요가 없다.

       오브젝트 스토리지 자격증명 정보는 정기적으로 자동 순환된다.

       데이터베이스는 고유한 오브젝트 스토리지 자격 증명을 가져오고, 이는 다른 데이터베이스와 공유되지 않는다.

       Tenancy 백업 버킷에 엑세스하기 위해 사용자가 관리해야 하는 별도 정책은 없다.

 

오브젝트 스토리지로 백업을 , 네트웍 관점에서는 인터넷 게이트웨이를 경유하거나, 서비스 게이트웨이를 경유하는 방법이 있다. 그런데 데이터베이스를 오브젝트 스토리지로 백업할 때와 같이 인터넷에 해당 트래픽을 노출하고 싶지 않은 경우가 있다. 이때 사용하는 것이 서비스 게이트웨이이다. 서비스 게이트웨이는 오브젝트 스토리지와 같은 퍼블릭 OCI 서비스에 인터넷 게이트웨이를 통하지 않고, 프라이빗한 접근을 있게 준다.


이번 테스트에서는 데이터베이스 백업을 서비스 게이트웨이를 통하도록 구성할 것이다.

먼저 서비스 게이트웨이를 구성한다. 작업 순서는 다음과 같다.

       서비스 게이트웨이 생성

       데이터베이스의 트래픽이 서비스 게이트웨이를 향하도록 라우트 테이블 설정

       사용 포트 개방을 위한 시큐리티 리스트 설정

 

서비스 게이트웨이를 만들 어떤 서비스에 대한 서비스 게이트웨이를 만드는지 설정하게 된다. 여기서는 OCI 오브젝트 스토리지가 된다. 현재 테스트 중인 VCN “dbapp_vcn” 서브스 게이트웨이 화면으로 이동한다. 좌측 [Resources] > [Service Gateways] 클릭하면 해당 화면이 나타난다. “Create Service Gateway” 누르면 게이트웨이 생성 창이 나타난다.


서비스 게이트웨이 이름을 입력하고, Compartment, 서비스를 선택한 다음 “Create” 클릭한다.


       Create in Compartment: 서비스 게이트웨이가 속할 Compartment 선택. 여기서는 “dbapp_comp”

       Name: 서비스 게이트웨이 이름 입력. “dbBackupSG” 입력

       Services: 현재 생성 중인 서비스 게이트웨이를 통해 접근할 적어도 하나의 서비스를 선택한다. 오브젝트 스토리지 서비스 “OCI IAD Object Storgae” 선택하면 된다. 서비스를 선택하지 않으면, 해당 서비스로 트래픽이 도달하지 않는다.

 

서비스 게이트웨이이가 생성되었다는 팝업 창을 확인하고 “Close” 클릭한다.


서비스 게이트웨이가 만들어졌다.


이제 서비스 게이트웨이가 만들어 졌고, 이제 데이터베이스의 트래픽이 서비스 게이트웨이를 향하도록, 데이터베이스가 속한 서브넷이 사용하는 라우트 테이블 “routeTabDB” 라우트 규칙을 추가할 차례이다. VCN 라우트 테이블에서 라우트 테이블 “routeTabDB” 상세화면으로 이동한다. “Edit Route Rules” 클릭하면 라우트 규칙 추가 창이 나타난다.


현재에는 아무 라우트 규칙도 없을 것이다. “Another Route Rule” 클릭한다.


라우트 규칙을 추가하고 “Save” 클릭한다.


       Target Type: 라우트 타겟의 타입. “Service Gateway” 선택

       Compartment: 라우트 타겟의 Compartment. “dbapp_comp” 선택

       Destination Service: 트래픽의 목적지인 OCI 오브젝트 스토리지 “OCI IAD Object Storge” 선택

       Target Service Gateway: 앞서 만든 서비스 게이트웨이 “dbBackupSG” 선택한다.

 

서비스 게이트웨이가 만들어졌다.


이제 백업할 사용되는 데이터베이스에서 오브젝트 스토리지로 나가는 443 포트를 열어줄 차례이다.

Ingress / Egress

Destination 유형

Destination 서비스

IP 프로토콜

Source 포트 범위

Destination 포트 범위

Egress

Service

OCI IAD Object Storage

TCP

ALL

443

 

데이터베이스가 사용하는 시큐리티 리스트 “secListDB” Egress 규칙을 Stateful 속성으로 아래와 같이 추가한다.


시큐리티 리스트에 Egress Stateful 443 포트 개방 규칙이 추가되었다.


지금까지 데이터베이스 백업이 서비스 게이트웨이를 경유해서 오브젝트 스토리지로 이루어지도록 하는 설정을 했다. 데이터베이스 “oradbp” 상세화면으로 이동해서 백업을 수행해 보자. “Create Backup” 클릭하면 수동 백업이 수행된다. 수행되는 백업은 데이터베이스에 대한 전체 백업이다.


백업 생성 창에서 백업 이름을 입력하고, “Create Backup” 클릭하면 데이터베이스 전체 백업이 시작된다. 앞서 수행했던 오브젝트 스토리지 설정이 사전에 되어야 한다는 메시지를 있다.


수동 백업이 완료되면 데이터베이스 상태가 오렌지색 아이콘의 “Backup in progress” 에서 녹색 아이콘의 “Available” 상태로 변경된다. [Backups] 영역에서 생성된 백업을 있다.

“Create Backup” 클릭해서 수행하는 수동 백업 외에 오라클이 자동으로 수행하는 자동 백업(Automatic Backup) 수동 백업과 마찬가지로 오브젝트 스토리지 설정(앞서 서비스 게이트웨이 설정 과정에서 이루어졌다) 다음 “Enable Automatic Backup” 클릭하면 된다.


자동 백업을 실행하면 확인 창이 나타난다. “OK” 클릭한다.


자동 백업을 활성화시킨 다음, 일정 시간 경과 후에 해당 화면으로 돌아와 확인해 보면, 자동 백업이 수행된 것을 있다. 자동 백업은 1 전체 백업, 매일 Incremental 백업에 30 보관 주기로 수행된다.


 

참조. 자동 백업 수행 시점

2018 11 20 이후 최초 활성화된 자동 백업에 대해서는 DB 시스템의 Region 시간대(time zone) 기준으로 야간 12:00 – 오전 6:00 사이에 수행이 된다. 2018 11 20 이전에 최초 활성화된 자동 백업은 협정 세계시(Coordinated Univeral Time, UTC) 기준으로 야간 12:00 – 오전 6:00 사이에 수행된다. 자동 백업 시간대를 임의에 시간으로 조정하려면 오라클에  “My Oracle Support”에서 서비스 요청(Service Request) 통해 처리해야 한다.

 

  

OCI 콘솔에서 수행된 “Managed” 백업으로 데이터베이스를 복구는 백업과 마찬가지로 OCI 콘솔에서 수행한다. 데이터베이스 상세화면에서 상단의 “Restore” 클릭하면 복구 창이 나타난다.


어떤 시점으로 데이터베이스를 복구할 선택하고 “Restore Database” 클릭하면 데이터베이스 복구가 시작된다. 이번 테스트에서는 복구를 수행하지는 않고 기능 확인만 했다.


       Restore to the latest: 데이터 손실이 최소화된, 가장 최근의 가용 상태로 데이터베이스를 복구

       Restore to the timestamp: 지정된 시간으로 데이터베이스를 복구

       Restore to System Change Number (SCN): 오라클 데이터베이스에서 SCN commit 발생할 때마다 증가되는 일종의 오라클 데이터베이스 시계라고 있다. 지정된 SCN 이용해서 데이터베이스를 복구

 

작성자: 정영균


OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 시리즈

1. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Intro

2. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN

3. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN

4. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (인터넷게이트웨이)

5. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (라우트테이블)

6. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (시큐리티리스트)

7. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (서브넷)

8. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버

9. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (시큐리티 리스트)

10. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (인스턴스)

11. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (웹서버 연결)

12. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (NAT 설정)

13. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버

14. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (rsync)

15. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정)

16. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정파일시스템)

17. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정파일시스템마운트)

18. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서

19. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (아파치웹서버)

20. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (로드밸런서생성)

21. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (백엔드서버)

22. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (리스너)

23. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스

24. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템)

25. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (데이터베이스구성)

26. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템연결)

27. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템연결)

28. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (백업)

29. OCI 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 – 데이터베이스 (DR 구성)