그동안은 서버를 직접 준비했다. 사양을 정하고 주문하고 IDC 에 넣고 운영체제를 깔았다. 이번엔 화면에서 몇 번 클릭하니 EC2 인스턴스가 몇 분 만에 생겼다.
Table of contents
Open Table of contents
빨라진 것만이 아니었다
처음엔 빠르다만 보였는데 EC2 하나를 얻는 데 며칠 걸리던 것이 몇 분이 됐다.
며칠 써 보니 다른 것이 더 컸는데 틀려도 지우고 다시 만들면 된다는 점이었다.
사양을 잘못 정했으면 지우고 다시 만든다. 물리 서버였으면 그것이 안 되고 이미 산 것을 어쩌겠나.
그러니 처음부터 완벽하게 정하려고 애쓸 필요가 없다. 작게 만들고 필요하면 키우면 되고 이 차이가 일하는 방식을 바꿨다.
대신 실수의 성격이 달라졌다
물리 서버에서는 실수가 느리게 나타났다. 잘못 주문하면 며칠 뒤에 안다.
여기서는 즉시 나타나고 어떤 것은 돈으로 나타난다. 큰 EC2 를 만들어 놓고 잊으면 요금이 계속 나가고 S3 에 데이터를 넣는 것은 쉬운데 지우는 것을 잊으며 테스트로 만든 것들이 쌓인다.
만들기 쉬우면 지우는 것을 잊는다. 그래서 이름 규칙을 정했다.
tmp- 로 시작하는 것은 언제든 지워도 되는 것
임시로 만드는 것은 접두사를 붙이고 주기적으로 그 접두사를 훑어서 정리했다. AWS 태그로 누가 만든 것인지도 붙였고 인스턴스를 지워도 따로 붙여 둔 EBS 볼륨이 남는 경우가 있어 그것까지 같이 봐야 했다.
제약 — 관리형 DB가 막는 것
DB 도 RDS 로 썼다. 백업과 패치와 복제를 알아서 해 주니 시작이 빨랐다.
편한데 모르는 것이 생겼다. 직접 운영할 때는 my.cnf 를 열어 보고 로그를 직접 읽었는데 관리형은 그것을 못 하고 SSH 로 들어갈 수도 없다.
문제가 생겼을 때 볼 수 있는 것은 콘솔에서 받는 로그와 CloudWatch 지표뿐이라 처음에 이것을 확인했다.
느린 쿼리 로그를 볼 수 있나
설정을 어디까지 바꿀 수 있나
지표는 어느 주기로 나오나
백업에서 복구하는 데 얼마나 걸리나
느린 질의를 보려면 파라미터 그룹에서 관련 설정을 켜 둬야 하고 그것도 미리 해 둬야 문제가 났을 때 쌓인 기록이 있다.
마지막 항목은 실제로 해 봤다. 복구가 안 되는 백업은 백업이 아니니까 시간을 재 봤고 급할 때 알면 늦다.
해 보니 스냅숏 복구는 생각하던 것과 달랐다. 문서에도 적혀 있듯 스냅숏은 기존 인스턴스에 되돌릴 수가 없고 복구하면 새 인스턴스가 만들어진다. 주소가 새로 생기니 애플리케이션이 보는 접속 정보를 바꿔야 하고 새로 만들어진 쪽에는 기본 파라미터 그룹과 기본 보안 그룹이 붙어서 복구한 그대로는 붙지도 않는다.
요금 구조를 먼저 봤다
써 보면서 알게 된 것이 요금이 여러 축이라는 점이었다.
서버 켜져 있는 시간
저장 공간
밖으로 나가는 데이터
요청 수
세 번째가 예상 밖이었다. 안으로 들어오는 것은 대개 무료인데 나가는 것은 돈이 든다.
이미지가 많은 서비스라 이것이 컸고 나중에 CDN 을 앞에 두면서 줄였다. 구조를 알고 나면 설계가 달라지는데 모르면 나중에 청구서를 보고 안다.
늘리기와 줄이기
부하가 몰리면 EC2 를 늘릴 수 있다. 이것도 처음 해 봤는데 늘리는 것은 쉬웠고 줄이는 것이 어려웠다.
연결이 남아 있는 서버를 바로 못 떼고 처리 중인 작업이 있으면 기다려야 하며 세션이 그 서버에 붙어 있으면 끊긴다.
세 번째 때문에 세션을 EC2 밖으로 뺐고 업로드 파일도 S3 에 두어야 아무 서버나 지워도 된다. 늘리는 것을 준비하는 것이 아니라 줄이는 것을 준비해야 했다.
도구가 바뀌어도 안 바뀐 것이 있었다. 여전히 백업을 확인해야 하고 관리형이 자동으로 떠 줘도 복구가 되는지는 별개다.
여전히 로그를 봐야 하고 CloudWatch 지표가 예뻐도 무슨 일이 있었는지는 로그에 있다. 그리고 여전히 되돌릴 방법이 필요하다.
편해진 것은 만드는 과정이고 운영해야 할 것들은 그대로였다.
정리
- 관리형의 이점은 속도보다 틀려도 다시 만들 수 있다는 것이다
- 결정의 무게가 가벼워져 작게 시작하고 키울 수 있다
- 만들기 쉬우면 지우는 것을 잊으니 이름 규칙과 정기 정리가 필요하다
- 인스턴스를 지워도 붙여 둔 볼륨이 남는다
- 관리형은 편한 대신 볼 수 있는 것이 적다
- 무엇을 볼 수 있는지 먼저 확인한다
- 복구를 실제로 해 보고 시간을 잰다
- 스냅숏 복구는 제자리 복구가 아니라 새 인스턴스 생성이다
- 복구본에는 기본 파라미터 그룹과 기본 보안 그룹이 붙는다
- 요금이 여러 축이고 나가는 데이터가 예상 밖일 수 있다
- 늘리기는 쉽고 줄이기가 어려워 세션과 파일을 밖으로 뺀다
- 편해진 것은 만드는 과정이고 운영할 것들은 그대로다