클라우드 토폴로지 배치

이 데이터베이스 이전 방식에 대한 클라우드 토폴로지를 배치하는 경우 데이터베이스 버전은 소스 데이터베이스와 동일해야 하며 패치 버전은 소스 데이터베이스와 같거나 이후 버전이어야 합니다.

토폴로지 프로비전에 필요한 정보 수집

Terraform 모듈을 구성하기 전에 대기 데이터베이스를 프로비전하는 데 필요한 정보를 수집하는 것이 좋습니다.

기본 데이터베이스 구조를 생성하려면 terraform.tfvars 파일에 다음 정보가 필요합니다:
  • 기본 VCN의 CIDR 블록
  • VCN의 DNS 레이블
  • Bastion 서버에 대한 컴퓨트 구성
  • 데이터베이스 시스템 표시 이름
  • 데이터베이스 이름
  • 데이터베이스 서버에 대한 컴퓨트 구성
  • 데이터베이스에 대한 DB 관리자 비밀번호
  • 배스천 호스트에서 인증된 키로 설정할 공용 SSH 키에 대한 경로입니다.
  • 배스천 호스트에 액세스하기 위한 전용 SSH 키의 경로입니다.
  1. 만들려는 VCN(가상 클라우드 네트워크) 의 크기 및 CIDR 블록과 VCN의 DNS 레이블을 결정합니다.
    Allowed VCN Size and Address Ranges를 참조하십시오.
  2. 배스천 호스트 및 VM DB 시스템에 사용할 컴퓨트 구성을 결정합니다.
    컴퓨트 구성 을 참조하십시오.
  3. 테넌시의 서비스 제한이 생성할 모든 리소스를 수용할 수 있는지 확인합니다.
  4. 데이터베이스 시스템 표시 이름을 결정합니다. ActiveDBSystem을 예로 들 수 있습니다.
  5. 온-프레미스 데이터베이스의 이름을 결정합니다.
    OCI의 대기 데이터베이스 이름은 기본 온-프레미스 데이터베이스의 이름과 동일해야 합니다.
  6. 데이터베이스에 대한 DB 관리자 비밀번호를 가져옵니다.
  7. 공용 SSH 키에 대한 경로를 저장합니다.
  8. 전용 SSH 키에 대한 경로를 지정하십시오.

VM 데이터베이스 및 배스천 토폴로지 배치

대상 클라우드 토폴로지를 배치하는 Terraform 코드는 GitHub에서 사용할 수 있습니다. 코드를 사용하여 필요한 네트워킹 리소스, bastion 서버에 대한 컴퓨트 인스턴스 및 가상 머신 데이터베이스 시스템을 프로비전할 수 있습니다.

  1. GitHub로 이동합니다.
  2. 코드를 로컬 컴퓨터에 다운로드합니다.
  3. README에서 필요 조건 단계를 완료합니다.
  4. Terraform CLI를 사용하여 구성을 적용합니다.

리소스 생성

terraform.tfvars 파일에서 변수를 설정한 후 Terraform CLI를 사용하여 Terraform 구성에 정의된 리소스를 배치합니다.

Terraform는 상태 정보를 저장하여 관리 기반 구조 리소스를 추적하고, 배치된 리소스를 구성에 매핑하고, 메타데이터를 추적하고, 대형 기반 구조 배치의 성능을 향상시킵니다.

기본적으로 terraform.tfstate 파일은 로컬 호스트에 저장됩니다. 이 기본 동작은 여러 사용자가 제공된 구성에 정의된 리소스를 생성하고 삭제해야 하는 IT 환경에서 최적화되지 않습니다. 다중 사용자 환경에서 리소스 배치 및 관리를 제어하려면 Terraform 상태 파일을 Oracle Cloud Infrastructure Object Storage에 저장하고 상태 파일을 공유하고 모든 사용자 간에 파일을 잠급니다.

시작하기 전에 로컬 시스템에 인터넷에 액세스할 수 있는지 확인하십시오. 로컬 시스템이 방화벽으로 보호되는 경우 적합한 프록시를 사용하여 Terraform가 인터넷에 연결할 수 있도록 합니다.
  1. Terraform를 설치한 컴퓨터에서 terraform.tfvars 파일이 포함된 디렉토리로 이동합니다.
  2. 다음 명령을 실행하여 환경 변수를 설정합니다:
    source ./env-vars
  3. 다음 명령을 실행하여 Terraform를 초기화합니다:
    terraform init
    이 명령은 oci 제공자 플러그인을 다운로드하고 Terraform에서 사용할 디렉토리를 설정합니다.
  4. 구성 구문에 오류가 없는지 확인합니다:
    terraform validate
  5. 구문 오류가 있으면 오류를 수정하고 이전 단계를 반복합니다.
    문제를 디버그하기 위해 로깅을 구성할 수 있습니다:
    • TF_LOG 환경 변수를 사용하여 로그 레벨을 설정합니다. 지원되는 로그 레벨은 TRACE, DEBUG, INFO, WARN 또는 ERROR 입니다. TRACE 레벨이 가장 상세합니다.
    • TF_LOG_PATH 환경 변수를 사용하여 로그 파일 경로를 설정합니다.
  6. 구성에 정의된 리소스를 검토합니다.
    terraform plan
    출력에는 이 구성을 적용할 때 수행되는 모든 작업의 세부 정보와 다음 예와 같은 요약이 표시됩니다.
    Plan: 14 to add, 0 to change, 0 to destroy.

    주:

    메시지의 숫자 14는 예입니다. 실제 수는 Terraform 구성에서 정의한 설정에 따라 다릅니다.
  7. 변경하려면 구성을 편집하고 검증하고 개정된 계획을 검토합니다.
  8. 리소스 생성:
    terraform apply
  9. Do you want to perform these actions? 프롬프트에서 yes를 입력합니다.
    Terraform가 각 리소스를 생성하면 작업 상태가 표시됩니다.

    모든 리소스가 생성되면 추가, 변경 및 삭제된 리소스 수와 함께 Apply complete 메시지가 표시됩니다.