[TECH UP] AWS ROOT 간 리소스 이전 (스냅샷, AMI)

핵심 요약
- AWS 계정 간 EC2 인스턴스 직접 이전은 지원되지 않음
- 스냅샷 / AMI / S3 / 키페어 등을 공유하거나 복사해서 대상 계정에서 동일한 인스턴스를 재생성하는 방식으로 이전 수행
- 보안상 스냅샷을 퍼블릭 공개하는 것은 비추천
스냅샷 공유 절차
- 소스 계정에서 EBS 스냅샷 생성
- 대상 계정(B)의 AWS Account ID(12자리)를 스냅샷 권한에 추가해 공유
- 대상 계정에서 공유된 스냅샷을 기반으로 AMI 생성 또는 볼륨 복원
- 주의: 스냅샷에 개인정보나 private key가 포함되어있을 가능성 있음, 민감정보 제거 후 공유 권장
AMI 공유 / 복사 / 리전 이동
- AMI는 리전 단위로 관리됨
- 같은 리전 내 공유: AMI 권한 편집에서 대상 계정 추가
- 리전 간 이전: AMI 복사 기능 사용(예: 서울 → us-east-2) 후 대상 리전에서 AMI로 인스턴스 시작
- AMI 등록 취소 시 연결된 스냅샷이 남아 비용 발생 가능 → 불필요 스냅샷 별도 삭제 권장
인스턴스 재생성 권장 설정
- 인스턴스 유형은 기본값 권장
- 키페어는 주로 사용하는 키 사용 권장
- 네트워크 설정에서 웹 서비스라면 HTTP/HTTPS 포트 열기
- 상태 검사(Initial checks) 완료 여부 확인 후 서비스 테스트
실무 팁 및 체크리스트
- 인스턴스 재부팅으로 데이터 일관성 확보
- 로그 용량 관리 확인(/var/log 등)으로 "No space left on device" 예방
- 큰 로그 파일(예: 67MB .sql)은 백업 후 제거 또는 압축 보관
- 파일 백업 시 WinSCP / XFTP 등 22번 포트(ssh) 활용
- MySQL 재시작 / 상태 확인:
systemctl status mysql.service / systemctl restart mysql.service
- 파일 및 폴더 권한은 777 지양, 필요한 최소 권한만 부여
문제 발생 시 점검 항목
- 접속 불가 원인
- 방화벽(Security Group / NACL) 설정 확인
- 서버 프로세스(Nginx, MySQL 등) 동작 여부 확인
- 디스크 용량 부족 여부 확인
df -h, ls -alh로 파일 크기 확인
- 로그가 쌓여 디스크를 차지하는 경우 tar로 백업 후 삭제 권장
- 예:
tar -czvf rank_log_251013.tar.gz rank_log
도메인 및 CDN 관련
- Route53에서 도메인 설정 가능
- Cloudflare 활용 시 무료 HTTPS, 트래픽 보호 및 IP 변경 시 고정 IP 설정 고려
- WHOIS 조회: KISA WHOIS 또는 후이즈 서비스 활용
비용·보안 관련 주의사항
- 스냅샷은 삭제하지 않으면 비용 계속 발생
- AMI 등록 취소 후 연결된 스냅샷도 확인·삭제해야 비용 차단 가능
- 퍼블릭 공유는 민감정보 유출 위험이 있으므로 권한 공유 방식 권장
운영 인수인계 관련 주의사항
- 인수인계가 안 된 케이스에서 설정 파일(config.ini, settings.py, .env 등)과 비밀번호 찾는 데 시간 소요
- 개발 환경 세팅과 비밀번호 목록 정리해 문서화 권장
허니팟 관련 메모
- 허니팟은 비정상적 접근을 탐지하기 위한 덫
- 매크로나 비정상 스크립트 접근 수집에 유용, IP/Device 정보 수집에 도움됨
- 운영 중인 서비스가 '관리 안 되는 사이트'로 보이면 자동화 공격 유입 가능
요약 체크리스트
안녕하세요