Flask 웹 서버와 함께 Autonomous Database 배치
전용 서브넷의 Oracle Cloud Infrastructure에서 전담 관리 자율운영 데이터베이스에 대한 전용 액세스를 사용으로 설정합니다. 액세스를 위해 전용 IP를 자율운영 데이터베이스에 지정합니다.
구조
이 구조는 Oracle Cloud Infrastructure에서 프로비전된 전용 끝점으로 자율운영 데이터베이스에 접속된 공용 Flask 웹 서버를 보여줍니다.

autonomous-db-private-endpoint.png 그림에 대한 설명
autonomous-db-private-endpoint-oracle.zip
아키텍처에는 다음과 같은 구성 요소가 있습니다:
- 전용 끝점이 있는 자율운영 데이터베이스
이 구조는 전용 서브넷에서 프로비전된 자율운영 데이터베이스(Oracle Autonomous Transaction Processing 데이터베이스 또는 Oracle Autonomous Data Warehouse 일 수 있음) 를 사용합니다. 전용 끝점으로 프로비전됩니다.
- 지역
Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지역입니다. 지역은 다른 지역과 독립적이며 방대한 거리는 국가 또는 대륙에서 분리할 수 있습니다.
- 가용성 도메인
가용성 도메인은 영역 내의 독립적인 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용 한도를 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인의 실패는 영역의 다른 가용성 도메인에 영향을 주지 않을 수 있습니다.
- VCN(가상 클라우드 네트워크) 및 서브넷
VCN는 Oracle Cloud Infrastructure 지역에서 설정하는 사용자정의 가능한 소프트웨어 정의 네트워크입니다. VCN은 기존의 데이터 센터 네트워크와 마찬가지로 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN 에는 VCN를 생성한 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. 영역 또는 가용성 도메인으로 범위를 지정할 수 있는 서브넷으로 VCN를 세그먼트화할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 서브넷 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.
이 구조에서 웹 서버는 공용 서브넷에 연결되고 자율운영 데이터베이스는 전용 서브넷에 있습니다.
권장 사항
요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다. 다음 권장 사항을 시작점으로 사용하십시오.
- 컴퓨트 구성
이 아키텍처는 Flask를 기반으로 하는 서버에 대해 VM.Standard2.1 구성의 Oracle Linux 7 . 7컴퓨트 인스턴스를 사용합니다. 응용 프로그램에 더 많은 처리 능력, 메모리 또는 네트워크 대역폭이 필요한 경우 더 큰 구성을 선택합니다.
- VCN
VCN를 생성할 때 VCN의 서브넷에 연결할 리소스 수에 따라 필요한 CIDR 블록 수 및 각 블록 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.
VCN를 생성한 후 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.
- 자율운영 데이터베이스
이 구조에서 애플리케이션은 관계형 데이터를 자율운영 데이터베이스에 저장합니다. 최신 버전의 Oracle Database를 사용하는 것이 좋습니다.
고려 사항
- 웹 서버 확장성
컴퓨트 인스턴스 풀과 자동 스케일링 기능을 사용하여 Flask 애플리케이션의 스케일을 조정할 수 있습니다.
인스턴스 풀을 사용하면 동일한 영역 내에서 동일한 구성을 기반으로 여러 컴퓨트 인스턴스를 프로비전하고 생성할 수 있습니다.
자동 크기 조정을 사용하면 CPU 활용률과 같은 성능 측정 단위를 기반으로 인스턴스 풀의 컴퓨트 인스턴스 수를 자동으로 조정할 수 있습니다. 자동 스케일링을 사용하면 수요가 높은 기간 동안 사용자에게 일관된 성능을 제공할 수 있으며 수요가 적은 기간 동안 비용을 줄일 수 있습니다.
- 자율운영 데이터베이스 확장성
언제든지 데이터베이스의 기본 CPU 코어 수를 수동으로 확장 또는 축소할 수 있습니다. 자동 크기 조정 기능을 통해 데이터베이스는 언제든지 현재 기본 CPU 코어 수의 최대 3배를 사용할 수 있습니다. 수요가 증가함에 따라 자동 스케일링은 사용 중인 코어 수를 자동으로 늘립니다. 가용성 또는 성능에 영향을 주지 않고 언제든지 데이터베이스의 저장 영역 용량을 확장할 수 있습니다.
- 애플리케이션 가용성
결함 도메인은 가용성 도메인 내에서 최상의 복원성을 제공합니다. 고가용성이 필요한 경우 여러 가용성 도메인 또는 여러 영역을 사용해 보십시오.
- 자율운영 데이터베이스 백업
자율운영 데이터베이스는 자동으로 백업되고 백업은 60일 동안 보존됩니다. 보존 기간 동안 데이터베이스를 원하는 시점으로 복원 및 복구할 수 있습니다.
수동 백업을 생성하여 자동 백업을 보완할 수도 있습니다. 수동 백업은 Oracle Cloud Infrastructure Object Storage에서 생성한 버킷에 저장되고 백업은 60일 동안 보존됩니다.
- 컴퓨팅 백업
Oracle Cloud Infrastructure Block Volumes 서비스를 사용하면 블록 볼륨에 있는 데이터의 적시 백업을 수행할 수 있습니다. 그런 다음 백업을 즉시 또는 나중에 새 볼륨으로 복원할 수 있습니다.
서비스를 사용하여 응용 프로그램 중단 또는 작동 중지 시간 없이 부트 볼륨의 적시 장애 발생 시 정합성이 보장되는 백업을 만들 수도 있습니다. 부트 볼륨 백업 기능은 블록 볼륨 백업 기능과 동일합니다.
- 보안
- 정책
정책을 사용하여 Oracle Cloud Infrastructure 리소스에 액세스할 수 있는 사용자 및 수행할 수 있는 작업을 제한할 수 있습니다.
- 네트워크 보안
네트워킹 서비스는 보안 규칙을 사용하여 패킷 레벨에서 트래픽을 제어하는 두 가지 가상 방화벽 기능인 보안 목록과 NSG(네트워크 보안 그룹) 를 제공합니다.
NSG는 VCN 내에서 선택한 VNIC 세트에만 적용되는 수신 및 송신 보안 규칙 세트로 구성됩니다. 예를 들어 NSG는 다계층 응용 프로그램의 웹 계층에 있는 모든 컴퓨트 인스턴스의 VNIC를 포함할 수 있습니다.
NSG 보안 규칙은 보안 목록 규칙과 동일하게 작동합니다. 그러나 NSG 보안 규칙의 소스 또는 대상의 경우 CIDR 블록 대신 NSG를 지정할 수 있습니다. 따라서 동일한 VCN의 두 NSG 간 트래픽 또는 단일 NSG 내의 트래픽 간 트래픽을 제어하는 보안 규칙을 쉽게 작성할 수 있습니다.
Oracle Cloud Infrastructure에서 자율운영 데이터베이스를 프로비저닝하는 경우 하나 이상의 NSG를 지정할 수 있습니다. 하나 이상의 NSG를 사용하도록 기존 데이터베이스를 업데이트할 수도 있습니다.
- 정책
배치
이 참조 구조에 대한 Terraform 코드는 GitHub에서 사용할 수 있습니다. 한 번의 클릭으로 코드를 Oracle Cloud Infrastructure Resource Manager로 가져와서 스택을 생성하고 배치할 수 있습니다. 또는 Terraform CLI를 사용하여 GitHub에서 컴퓨터로 코드를 다운로드하고, 코드를 사용자정의하고, 구조를 배치할 수 있습니다.
- Oracle Cloud Infrastructure Resource Manager를 사용하여 배치:
을 누릅니다.
아직 사인인하지 않은 경우 테넌시 및 사용자 인증서를 입력합니다.
- 조건 및 조항을 검토하고 수락합니다.
- 스택을 배치할 영역을 선택합니다.
- 화면의 프롬프트 및 지침에 따라 스택을 만듭니다.
- 스택을 생성한 후 Terraform 작업 을 누르고 계획 을 선택합니다.
- 작업이 완료될 때까지 기다렸다가 계획을 검토합니다.
변경하려면 스택 세부정보 페이지로 돌아가서 스택 편집 을 누르고 필요한 사항을 변경합니다. 그런 다음 계획 작업을 다시 실행합니다.
- 추가 변경이 필요하지 않은 경우 스택 세부 정보 페이지로 돌아가서 Terraform 작업 을 누르고 적용 을 선택합니다.
- Terraform CLI를 사용하여 배치합니다:
- GitHub로 이동합니다.
- 코드를 로컬 컴퓨터에 다운로드하거나 복제합니다.
- README의 지침을 따릅니다.