본문 바로가기

Cloud/Oracle Cloud Infrastructure

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

2019/01/17 - [Cloud/Oracle Cloud Infrastructure] - 28. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 데이터베이스 (백업)


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

데이터베이스 Disaster Recovery 

이번 단계에서는 오라클의 데이터베이스에 대한 장애 복구 솔루션인 데이터 가드(Data Guard) 구성해 보자. 현재 구성한 데이터베이스가 Primary 데이터베이스 역할이 되고, 이를 복제해서 동기화되는 Standby 데이터베이스를 다른 Availability Domain 구성할 것이다.

이번 테스트와 같이 동일 Region 내에 데이터 가드를 구성할 때는 OCI 웹콘솔에서 설정 있지만, Region 또는 On-Premise와의 데이터 가드 설정은 데이터 가드 설정 유틸리티인 “dgmgrl” 이용해서 호스트에 직접 작업을 해야 한다.

데이터 가드로 설정된 Standby 데이터베이스는 “mount” 상태로 있다가 사용자가 switchover 하거나 Primary 데이터베이스에 장애가 발생해서 failover 되면 그때 Primary 데이터베이스로 전환 된다. 이에 반해 엑티브 데이터 가드(Active Data Guard) Primary 데이터베이스가 기동 중인 상태에서 Standby 데이터베이스를 읽기 전용으로 오픈해서 사용할 있다.

이번 테스트에서는 데이터 가드로 구성할 것이다. 만일 엑티브 데이터 가드를 사용하려면 DB 시스템(Primary) 생성 시점에 Enterprise Edition Extreme Performance 에디션으로 만들어야 한다.

데이터 가드 설정을 위해 먼저 Primary 데이터베이스와 Standby 데이터베이스가 서로 TCP 1521 포트로 양방향 통신을 하도록 시큐리티 리스트를 설정해야 한다. Prmary DB 시스템에서 Standby DB 시스템으로 트래픽이 나가는 Egress 규칙과 들어오는 Ingress 규칙 모두 Stateful 생성해야 한다. Standby DB 시스템 서브넷에서도 마찬가지 Egress, Ingress 설정을 해야 한다. 아래 표와 같은 시큐리티 리스트 설정을 것이다.

Ingress / Egress

Source CIDR

Destination CIDR

IP 프로토콜

Source 포트 범위

Destination 포트 범위

Ingress

10.0.6.0/24

-

TCP

ALL

1521

Egress

-

10.0.6.0/24

TCP

ALL

1521

Ingress

10.0.5.0/24

-

TCP

ALL

1521

Egress

-

10.0.5.0/24

TCP

ALL

1521

 

Primary DB 서브넷과 Standby DB 서브넷은 같은 시큐리티 리스트 “secListDB” 사용한다. 표를 참조해서 아래와 같이 방화벽 규칙을 추가한다.


데이터 가드 설정을 위한 시큐리티 리스트 규칙을 추가했다. 이제 OCI 콘솔에서 데이터 가드를 설정할 차례다. 데이터베이스 상세화면 좌측의 [Resources] 아래 [Data Guard Associations] 클릭하면 나오는 화면에서 데이터 가드를 활성화할 있다. “Enable Data Guard” 클릭하면 데이터 가드 설청 창이 나타난다. 

데이터 가드로 구성될 Standby DB 시스템 이름, Availability Domain, 서브넷, 호스트 이름 등을 입력 지정한다.

       Display Name: Standby DB 시스템 이름. “dbsystems” 입력했다.

       Availability Domain: Primary DB 시스템과 다른 Availability Domain 위치시키기 위해 AD-2 선택했다.

       Client Subnet: Standby DB 시스템이 속할 서브넷을 선택한다. “subnetDBS” 선택

       Hostname Prefix: Standby DB 시스템의 호스트 이름을 지정한다. “vmdbs” 입력했다.

 

데이터베이스 관리자 암호를 입력하고 “Enable” 클릭하면 데이터 가드 설정이 자동으로 진행된다. 

       Protection Mode: 비활성화 되어 있다. 콘솔로 데이터 가드를 설정할 때는 “Maximum Performance” 모드만 지원된다.

       Transport Type: 비활성화 되어 있다. 콘솔로 데이터 가드를 설정할 때는 “async” 타입만 지원된다.

데이터 가드 Protection Mode (Maximum Availability, Maximum Performance, Maximum Protection) Transport Type (sync, asycn) 대한 설명은 아래 링크를 참조한다.

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sbydb/oracle-data-guard-protection-modes.html#GUID-7EF6EFEE-7E31-4F80-9C97-1B25DAA025F8

 

데이터 가드 설정 진행이 완료되면 데이터베이스가 오렌지색 아이콘 “Updating”에서 녹색 아이콘 “Available” 변경된다. Primary 데이터베이스 이름 옆에도 데이터 가드로 보호되고 있다는 의미인 빨간색 방패 모양의 아이콘이 나타난다.


DB 시스템화면에서 보면 Primary DB Sytem 더불어 Standby DB 시스템이 만들어져 있음을 확인할 있다.


작성자: 정영균


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 구성)