배포 전략 계획

OCI 리소스 및 워크로드를 정의하고 배포할 방법을 결정합니다. OCI Terraform 제공업체를 사용하면 Terraform Cloud 및 OCI Resource Manager를 포함한 Terraform 배포를 사용하는 모든 곳에서 OCI 리소스를 관리할 수 있습니다. OCI Terraform 제공업체 외에도 OCI Landing Zones Terraform 모듈을 사용할 수 있어 코딩이 필요 없는 클래식 .tfvars 파일 또는 JSON 구성을 사용하여 OCI 리소스 배포를 간소화할 수 있습니다.

예를 들어, ID, 보안, 네트워킹, 관찰 가능성 및 거버넌스와 같은 필수 클라우드 서비스를 포함하여 CIS 강화 테넌시 및 워크로드 인프라의 반복 가능한 1-클릭 프로비저닝을 가능하게 하는 OCI Landing Zones를 사용할 수 있습니다. 그런 다음 특정 응용 프로그램의 맨 위에 작업 로드 리소스를 배치할 수 있습니다.

고객 및 데이터를 기반으로 한 지역 선택

클라우드 구축자, 네트워크 구축자, 클라우드 운영 관리자

지역을 선택할 때 누가 귀하의 자원에 액세스 할 것인지, 그리고 국가 또는 세계의 어느 지역에서 접근 할 것인지주의하십시오. 선택할 때 개인 정보 보호 및 규제 요구 사항을 고려하십시오.

Infrastructure as Code 채택

Cloud Architect, DevOps Architect, Cloud Operations Manager

OCI에서 코드형 인프라를 채택하는 경우 전체 애플리케이션 인프라를 코드형으로 정의할 수 있습니다. 작업 프로시저를 코드로 수행하고 이벤트 기반 통지에 대한 응답으로 구현할 수 있습니다.

다음 요소를 통해 코드를 사용하여 Infrastructure를 정의 및 관리할 수 있습니다.

  • Oracle Cloud Infrastructure 랜딩 존

    OCI 랜딩 존은 모든 OCI 아키텍처 및 배포 모델에 사용할 수 있는 즉시 사용 가능한 설계, 구성 및 선언적 IaC Terraform 모듈이 포함된 완전한 OCI 청사진 세트를 제공합니다.

  • Oracle Cloud Infrastructure Resource Manager

    Resource Manager는 Terraform을 사용하여 코드형 인프라 모델을 통해 리소스를 설치, 구성 및 관리하는 데 도움을 주어 OCI 리소스 프로비저닝 프로세스를 자동화합니다.

  • Oracle Cloud Infrastructure Events

    이벤트는 테넌시의 리소스 변경에 대한 응답을 자동화합니다. OCI 서비스는 리소스 변경사항을 나타내는 구조화된 메시지인 이벤트 메시지를 내보냅니다. 테넌시 전체에서 리소스의 상태 변경에 따라 자동화를 생성하고 리소스가 상태를 변경할 때 개발 팀이 자동으로 응답하도록 할 수 있습니다.

  • Oracle Cloud Infrastructure Functions

    Functions는 확장성이 뛰어난 완전 관리형 서버리스 플랫폼을 제공합니다. 코드를 배치한 후 이벤트를 사용하여 함수로 코딩된 운영 프로시저를 트리거할 수 있습니다.

반복 가능한 워크플로우를 구현하기 위해 Terraform 채택

DevOps Cloud Operations Manager, Application Architect, Architect

Terraform은 코드형 인프라 모델을 통해 프로그래밍 방식으로 인프라를 관리, 버전 지정 및 유지할 수 있는 오픈 소스 툴입니다. Terraform 구성은 인프라를 정의하고 상태를 유지하는 선언적 파일로 인프라를 코드화합니다.

이러한 파일을 팀 멤버 간에 공유하고, 이를 코드로 간주하고, 편집하고, 검토하고, 버전을 지정할 수 있습니다.

OCI Terraform 공급자를 사용하면 Terraform Cloud 및 Oracle Cloud Infrastructure Resource Manager를 포함한 Terraform 배포를 사용하는 모든 곳에서 OCI 리소스를 관리할 수 있습니다. OCI Terraform 제공업체를 기반으로 코딩 기술이 필요하지 않은 클래식 .tfvars 또는 JSON 구성 파일과 함께 선언적으로 구성 가능한 접근 방식을 제공하는 OCI Landing Zones Terraform 모듈을 활용할 수 있습니다.

OCI와 함께 Terraform을 사용할 때는 다음 사항을 고려하십시오.

  • Terraform은 코드이며 제어 버전 시스템을 사용하여 처리해야합니다. OCI Resource Manager는 Git 저장소를 활용하여 코드를 실행할 수 있습니다.
  • OCI의 VM 컴퓨트 인스턴스에서 실행 중인 경우 인스턴스 주체를 OCI 제공자에 대한 인증으로 사용하는 것이 좋습니다.
  • 올바른 세분성 수준으로 Terraform 스택 및 런타임에서 액세스할 수 있는 안전한 위치에서 Terraform 상태 파일을 유지 관리합니다. OCI 리소스를 확장할 때 Terraform 스택에서 리소스를 분리하고 분할합니다. 한 스택의 모든 리소스는 처리 시간이 걸릴 수 있는 단일 상태 파일에 있기 때문에 다른 리소스에 대한 중요한 업데이트를 잠재적으로 차단할 수 있습니다. OCI Resource Manager를 사용할 때 각 스택은 자체 상태 파일을 포함합니다.
  • OCI Landing Zones 청사진은 OCI Landing Zones Terraform 모듈과 함께 실행되도록 구축된 구성입니다. 다양한 모범 사례를 구현할 때 이러한 청사진을 즉시 사용하거나 고유한 사용 사례를 지원하도록 수정할 수 있습니다. JSON 구성을 사용하여 선언적 접근 방식을 사용하는 경우 배포를 실행하는 데 Terraform 코딩 기술이 필요하지 않습니다.

OKIT(OCI Designer Toolkit) 채택

DevOps Cloud Operations Manager, Infrastructure Architect, Architect

Oracle Cloud Infrastructure(OCI) Designer 및 시각화 toolKIT(OKIT)는 그래픽 웹 기반 인터페이스를 통해 OCI 환경을 설계, 배포 및 시각화(introspect/query)할 수 있는 브라우저 기반 도구입니다.

설계자와 설계자는 웹 기반 인터페이스를 통해 인프라를 시각적으로 표현한 다음 여러 형식으로 내보낼 수 있습니다. 완료되면 설계를 향상시켜 키 등록 정보 정보를 추가하여 설계 기반구조를 여러 DevOps 프레임워크로 내보낼 수 있습니다.

OKIT를 사용하면 웹 인터페이스에 내장된 단순한 쿼리 기능을 통해 기존 OCI 환경을 검사하여 이식 가능한 일반 JSON 파일을 제공할 수 있습니다. JSON 파일을 사용하여 기존 시스템을 시각화하거나 설계된 OCI 인프라를 zip 파일로 구축하는 데 사용할 수 있는 Terraform 또는 Ansible 스크립트 세트를 생성할 수 있습니다.

OKIT 모델은 Cloud Init 스크립트를 사용하여 컴퓨트 리소스 배치를 더욱 자동화할 수 있도록 지원합니다. OKIT는 테넌시에 인증하기 위해 사용자의 개인 키를 사용하므로 로컬에서 실행하는 데 가장 적합한 단일 사용자 도구입니다. Oracle Cloud Infrastructure Resource Manager를 사용하면 설계를 공유할 수 있습니다. OKIT 설계를 버전 제어가 가능한 JSON 형식으로 익스포트할 수 있습니다.

단순하고 반복 가능한 작업 자동화

DevOps Cloud Operations Manager 아키텍트

반복 가능한 작업을 스크립팅하고 여러 작업을 조정하려면 OCI CLI(명령행 인터페이스)를 사용하는 것이 좋습니다. OCI CLI를 사용하면 자동화를 통해 작업을 간소화할 수 있습니다.

CLI는 콘솔과 동일한 핵심 기능과 추가 명령들을 제공합니다. 스크립트 실행 기능과 같은 일부 기능은 OCI 콘솔 기능을 확장합니다. CLI는 MacOS, Windows 또는 지원되는 Linux 배포판에서 실행되는 Python 버전 3.6 이상을 지원합니다. 또한 정적 자격 증명을 사용하는 대신 통합 ID를 활용하도록 구성할 수 있습니다.

구성 관리 툴 채택

DevOps Cloud Operations Manager, Infrastructure Architect, Architect

프로비저닝, 통합관리 및 구성 관리에 도움이 되도록 Ansible Modules와 같은 관리 도구를 채택하는 것이 좋습니다.

Ansible 모듈을 사용하면 클라우드 인프라 구성 및 프로비저닝을 자동화하고, 소프트웨어 자산을 배포 및 업데이트하고, 복잡한 운영 프로세스를 조정하여 워크로드 배포 및 구성을 통해 위험을 줄이고 민첩성을 달성할 수 있습니다. Ansible 플레이북은 구성, 배포 및 통합관리 작업을 자동화합니다.

OCI는 Ansible 모듈을 사용하여 클라우드 인프라 프로비전 및 구성을 자동화하고, 복잡한 운영 프로세스를 조정하고, 소프트웨어 자산을 배치 및 업데이트할 수 있도록 지원합니다. OCI Ansible 모음은 Ansible Tower 및 AWX를 지원합니다.

구축 및 배포 관리 시스템 채택

DevOps Cloud Operations Manager 아키텍트

Ansible Tower 또는 Jenkins와 같은 구축 및 배포 관리 시스템을 사용하여 효율성을 개선합니다. 이러한 시스템은 수동 프로세스로 인한 오류를 줄이고 변경 사항을 배포하기 위한 노력의 수준을 줄입니다.

변경 사항 테스트 및 검증

DevOps Cloud Operations Manager 아키텍트

오류를 감지하려면 항상 변경 사항을 추적, 테스트 및 검증해야 합니다.

버전 제어 시스템을 사용하여 코드의 변경 사항을 추적할 수 있습니다. 배포 관리 시스템을 사용하여 테스트 프로세스를 자동화하는 것이 좋습니다.