본문 바로가기

Cloud/Oracle Cloud Infrastructure

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

2019/01/16 - [Cloud/Oracle Cloud Infrastructure] - 14. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 웹서버 (rsync)

3단계. 웹서버 구성

네트웍 파일 시스템을 통한 웹서버 컨텐츠 공유


rsync 동기화의 경우는 몇가지 제약 사항이 있다. 지금 구성해 보고 있는 테트스의 경우와 같이 웹서버#1 내용이 웹서버#2 단방향 동기화의 경우는 웹서버#2 읽기 전용이 되어야 한다. 그리고 rsync 동기화 작업 간격을 줄인다고 해도 양쪽 두대 웹서버의 컨텐츠는 동일하지 않는 시점은 발생한다.

이에 대한 대안으로 파일을 공유하는 네트웍 파일 시스템(Network File System, NFS) 생각해 있다. OCI 네트웍 파일 시스템를 이용해서 웹서버#1,2 콘텐츠를 공유하도록 구성해보자. OCI 네트웍 파일 시스템를 OCI에서는 파일 스토리지(File Storage)라는 이름을 사용한다. OCI 파일 스토리지 서비스(Fils Storage Service, FSS) 이용해서 공유 파일 시스템을 만들고, 웹서버#1 웹서버#2에서 이를 마운트해서 사용할 것이다.

테스트 중인 웹서버#1,2 컨텐츠는 /var/www/html 저장되어 서비스되는 구조인데, 마운트한 파일 시스템이 /var/www/html 바라보도록 심볼릭 링크(Symbolic link) 거는 방식으로 실제 업무 환경에서는 사용될 것이다.

OCI 파일 스토리지 서비스는 OCI에서 제공하는 네트웍 파일 시스템(Network File System, NFS) 서비스이다. VCN 내의 베어 메탈이나 가상 머신 인스턴스, 컨테이너 인스턴스에서 파일 시스템으로 연결할 있다. VCN 바깥에서도 IPSec VPN이나 FastConnect 이용해서 파일 시스템에 접속할 있다.

OCI 콘솔에서 파일 시스템을 만들면 마운트 타겟이라고 OCI에서 명명한 파일 시스템 접근을 위한 NFS 엔드포인트도 함께 만들어진다. 이때 마운트 타겟이 어느 서브넷에 속할지를 선택해야 하는데, 프라이빗 IP 마운트 타겟이 부여받게 된다. 인스턴스에서는 마운트 타겟의 프라이빗 IP 정보를 가지고 nfs-utils 이나 nfs-common 등의 유틸리티 이용해서 파일 시스템을 마운트하게 된다.

파일 스토리지 파일 스토리지 볼륨을 마운트할 때는 Network File System version 3.0 (NFSv3) 프로토콜을 사용한다.


시큐리티 리스트 수정

파일 시스템을 만들기 전에 일이 있다. 파일 시스템의 마운트 타겟이 속할 서브넷의 시큐리티 리스트를 설정해야 한다. 마운트 타겟의 서브넷으로 트래픽이 허용되도록 시큐리티 리스트에 파일 시스템이 사용할 포트들에 대한 규칙을 추가하는 것이다. 아래와 같이 TCP 프로토콜로 Ingress 규칙 두개, UDP 프로토콜로 Ingress 규칙 두개가 필요하다. 양방향으로 포트가 오픈되어야 하므로 Stateful 규칙으로 추가할 것이다.

Ingress/ Egress

Source CIDR

IP 프로토콜

Source 포트 범위

Destination 포트 범위

Ingress

10.0.0.0/16

TCP

ALL

2048-2050

Ingress

10.0.0.0/16

TCP

ALL

111

Ingress

10.0.0.0/16

UDP

ALL

2048-2050

Ingress

10.0.0.0/16

UDP

ALL

111

 

파일 시스템은 아키텍쳐에 나오는 바와 같이 웹서버#1 같은 서브넷을 사용할 것이다. 웹서버#1 사용하는 시큐리티 리스트 “secListWeb” 상세화면으로 들어가서 “Edit All Rules” 클릭하여 다음과 같이 규칙 4개를 추가한다. 모두 Stateful 규칙이다.


시큐리티 리스트 “securityListPub” 규칙을 모두 추가하고 나면, 아래와 같은 목록이 된다.


작성자: 정영균


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