기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Batch 작업 정의의 개정 관리
이 예제에서는 AWS Batch 서비스를 사용하고 Terraform을 IaC 도구로 사용하여 배치 작업을 배포한다고 가정합니다.
챌린지
AWS Batch 는 각 업데이트와 함께 작업 정의의 새 개정을 생성하여 시간이 지남에 따라 개정이 누적됩니다. 이렇게 하면 리소스 관리가 복잡해지고 특히 작업 정의가 자주 업데이트되고 다운스트림 리소스에 최신 버전에 대한 정확한 참조가 필요한 엔터프라이즈 환경에서 최신 개정을 혼동할 수 있습니다.
Solution
다음 Terraform 코드는 몇 가지 주요 구성 요소를 사용하여 AWS Batch 개정 관리를 처리합니다.
resource "terraform_data" "batch_job_definition_cleanup" { triggers_replace = { always_run = timestamp() } provisioner "local-exec" { command = "..." # AWS CLI commands to list and de-register older revisions } }
이 코드에는 다음이 포함됩니다.
-
terraform_data는 Terraform 작업 중에 AWS Command Line Interface (AWS CLI) 명령을 실행하기 위해local-exec프로비저너와 결합됩니다. -
타임스탬프 트리거는 모든
terraform apply명령이 정리 스크립트를 실행하도록 합니다. -
AWS CLI 통합은 모든 활성 작업 정의 개정에 AWS Batch 대한 쿼리를 수행하고 이전 개정의 등록을 취소합니다.
-
명령 섹션에 사용자 지정 보존 구성을 추가하여 보존할 최근 개정 수를 지정할 수 있습니다.
이점
-
간소화된 관리: 작업 정의에 오래된 개정이 누적되는 것을 방지합니다.
-
명확한 참조: 현재 버전의 작업 정의에 대한 정확한 포인터를 유지합니다.
-
리소스 최적화: AWS Batch 환경의 어수선함을 줄입니다.
-
자동화: 기존 Terraform 워크플로와 원활하게 통합됩니다.
이 접근 방식은 Terraform의 확장성 기능이 IaC 모범 사례를 유지하면서 공급자 제한을 극복하는 방법을 보여줍니다. 이 솔루션을 동적 리소스 검색 및 관리가 필요한 유사한 시나리오의 템플릿으로 사용할 수 있습니다.