배치 계획
멀티클라우드 환경에서 Terraform을 배포하면 다음과 같은 기본 단계가 사용됩니다.
- 외부 연결 설정
여러 클라우드 영역에 스테이지, 개발, QA 또는 운용 환경을 배치하는 경우 먼저 Oracle Cloud Infrastructure Resource Manager에서 소스 코드 제어 시스템(예: GitHub, GitLab 또는 Bitbucket)으로의 외부 접속을 설정해야 합니다. GitHub에는 Oracle Cloud Infrastructure 지역의 여러 구획에 배포할 Terraform 모듈이 포함되어 있습니다.
다음 다이어그램은 이 관계를 보여줍니다.
- 코드 변경
GitHub의 중앙 코드 저장소에는 개발 작업(DevOps) 팀이 체크인한 Terraform 모듈이 포함되어 있습니다. 이 엔지니어 팀은 인프라 리포지토리 내에서 수명이 짧은 v1.0 분기에 작동합니다. 수명이 짧은 분기의 코드 변경이 준비되면 DevOps 엔지니어가 검토하여 주 분기로 병합합니다. 그런 다음 DevOps 엔지니어가 저장소에 Git 태그를 제공합니다. 인프라 저장소의 향후 변경 사항에 대해 DevOps 엔지니어는 이와 동일한 프로세스를 반복합니다.
배포는 Terraform 코드가 포함된 저장소에 태그를 지정하는 DevOps 엔지니어로부터 트리거됩니다. 배치 파이프라인 실행을 시작합니다.
저장소에
dev-us-ashburn-1/dev/1.0태그를 지정하면 컴퓨트 개발 계정이 US-Ashburn-1 영역에 배치되도록 파이프라인이 트리거됩니다.예제 태그
dev-us-ashburn-1/dev/1.0에는 대상 환경(Dev), Oracle Region(US-Ashburn-1), 팀(Dev) 및 버전 번호(1.0)가 포함됩니다. 이와 유사한 방식으로 QA, 스테이징 및 프로덕션과 같은 다른 대상 배포를 관리할 수 있습니다.
- 개발 환경 배치
다중 클라우드 배포의 us-ashburn-1, us-phoenix-1 및 us-sanjose-1 지역에 개발 환경을 배포하려면 인프라를 배포할 VCN을 확인하십시오. 별도의 코드 파이프라인이 위에 표시된 대로 GitHub 저장소에 체크 인됩니다. 리소스 추가 또는 제거와 같은 변경 사항이 파이프라인에 적용되고 새 버전의 Git 태그가 생성된 후 리소스를 배치하기 위해 영역에 푸시됩니다.
- 구성 소스 제공자 생성
Oracle Cloud Infrastructure Resource Manager에서 첫번째 단계는 terraform 모듈이 배치된 GitHub 서버에 대한 공용 끝점을 사용하여 구성 소스 제공자를 생성하는 것입니다. 각 영역에는 고유한 소스 제공자가 있으며, 리소스를 배치할 구획(개발, QA, 스테이지 또는 운용)에 리소스가 배치됩니다. 코드 승인 단계가 완료된 후 필요에 따라 Oracle Cloud Infrastructure CLI(명령행 인터페이스)를 사용하여 스택을 생성합니다. 스택을 생성한 후 Terraform 계획을 실행합니다. 계획이 성공적으로 실행된 후 Terraform이 적용됩니다. 실행 후 해당 구획 및 영역에 생성된 리소스가 있는지 확인하십시오. Terraform 상태 파일은 Oracle Cloud Infrastructure Registry에 저장되고 유지 관리됩니다. YAML 파일과 같은 메타데이터는 Oracle Cloud Infrastructure Artifacts Registry에 저장됩니다. 또한 Oracle Cloud Infrastructure Notifications 및 Oracle Cloud Infrastructure Events를 사용으로 설정하여 인프라 배포 프로비저닝 진행 상황을 경고하고 통지할 수 있습니다.

