어떤 기능인가요?
현재 Prod DB EC2에는 S3 백업을 위해 Linux ARM64용 AWS CLI v2를 수동으로 설치했고, binlog 복구를 위해 ARM64 기반 solid-connection/mysql-recovery-tools:8.4.8 Docker 이미지를 수동으로 적재한 상태입니다. 이 설정들은 현재 인스턴스에만 존재하므로 DB EC2를 재생성하거나 Custom AMI를 갱신하면 유실될 수 있습니다.
다음 Custom AMI 갱신 시 AWS CLI와 MySQL 복구 도구 이미지를 AMI 구성에 포함하고, 새 AMI를 Terraform 운영 입력값에 반영하여 DB EC2가 재생성되어도 S3 백업 및 binlog 복구 실행 환경이 유지되도록 합니다.
관련 이슈: #66, #67, #68
작업 상세 내용
완료 조건
- DB EC2를 재생성해도 AWS CLI를 별도로 수동 설치하지 않아도 됩니다.
- DB EC2를 재생성해도 MySQL 8.4.8용
mysqlbinlog 및 mysql 복구 도구를 외부 다운로드 없이 실행할 수 있습니다.
- AWS CLI가 Instance Profile의 임시 자격 증명만 사용하며 AMI에 정적 자격 증명이 포함되지 않습니다.
- 복구 도구 이미지는 실행 중인 컨테이너가 아닌 로컬 Docker 이미지로만 AMI에 포함됩니다.
- 기존 데이터 EBS가 보존되고 새 DB EC2에 정상적으로 연결됩니다.
- Terraform state를 직접 수정하지 않고 plan/apply를 통해 새 AMI 사용 상태가 반영됩니다.
- DB EC2에서 S3 백업 버킷 접근과 복구 도구 버전 검증이 성공합니다.
참고할만한 자료(선택)
어떤 기능인가요?
현재 Prod DB EC2에는 S3 백업을 위해 Linux ARM64용 AWS CLI v2를 수동으로 설치했고, binlog 복구를 위해 ARM64 기반
solid-connection/mysql-recovery-tools:8.4.8Docker 이미지를 수동으로 적재한 상태입니다. 이 설정들은 현재 인스턴스에만 존재하므로 DB EC2를 재생성하거나 Custom AMI를 갱신하면 유실될 수 있습니다.다음 Custom AMI 갱신 시 AWS CLI와 MySQL 복구 도구 이미지를 AMI 구성에 포함하고, 새 AMI를 Terraform 운영 입력값에 반영하여 DB EC2가 재생성되어도 S3 백업 및 binlog 복구 실행 환경이 유지되도록 합니다.
관련 이슈: #66, #67, #68
작업 상세 내용
/usr/local/bin/aws --version실행을 검증합니다.solid-connection/mysql-recovery-tools:8.4.8이미지 빌드 절차를 구성합니다.mysqlbinlog과mysql버전이 8.4.8인지 확인합니다.docker load하여 로컬 Docker 이미지로 적재합니다.docker run --rm solid-connection/mysql-recovery-tools:8.4.8 --version실행을 검증합니다.완료 조건
mysqlbinlog및mysql복구 도구를 외부 다운로드 없이 실행할 수 있습니다.참고할만한 자료(선택)