
SAP-C02 박살내기 15 - 모더나이제이션 패턴
온프레미스 야간 배치가 70분 동안 24GiB 메모리를 사용한다면 Lambda로 옮기는 것이 모더나이제이션처럼 보이지 않을 수 있습니다. 반대로 하루에 몇 번만 실행되는 짧은 작업을 EC2에 계속 올려 두면 운영 부담이 그대로 남습니다. 모더나이제이션의 첫 질문은 어떤 AWS 서비스가 유행하는지가 아니라, 기존 워크로드가 가진 제약이 무엇인지입니다. ...

온프레미스 야간 배치가 70분 동안 24GiB 메모리를 사용한다면 Lambda로 옮기는 것이 모더나이제이션처럼 보이지 않을 수 있습니다. 반대로 하루에 몇 번만 실행되는 짧은 작업을 EC2에 계속 올려 두면 운영 부담이 그대로 남습니다. 모더나이제이션의 첫 질문은 어떤 AWS 서비스가 유행하는지가 아니라, 기존 워크로드가 가진 제약이 무엇인지입니다. ...

온프레미스 NAS에 쌓인 600 TB를 S3로 옮기는 계획서를 받았다고 해보겠습니다. 인터넷 회선은 1 Gbps이고, 업무 시간 트래픽 때문에 마이그레이션에 실제로 할당할 수 있는 몫은 40%입니다. 기한은 8주입니다. 계획서에는 “1 Gbps면 하루 약 10 TB이므로 60일이면 끝난다”라고 적혀 있고, 여유가 없으니 Snowball Edge를 몇 ...

포트폴리오 900대를 7R로 다 분류해 놓고도 wave 1이 넘어가지 않는 상황이 있습니다. 분류 스프레드시트는 완성됐고, rehost 대상 서버에는 복제 에이전트가 깔렸고, staging area의 복제도 lag 0으로 붙어 있습니다. 그런데 컷오버 리허설에서 애플리케이션이 기동한 직후 로그인이 전부 실패합니다. 원인은 복제가 아니라 도메인 컨트롤러...

Savings Plans 커버리지를 98퍼센트까지 올려 놓고 다음 달 청구서를 열었는데 총액이 기대만큼 내려가지 않는 경우가 있습니다. Cost Explorer 에서 usage type 으로 쪼개 보면 이유가 나옵니다. 상위 항목이 BoxUsage 가 아니라 NatGateway-Bytes 와 DataTransfer-Regional-Bytes 이고, 이...

야간 배치를 돌리는 인스턴스가 멎었는데 붙여 둔 EC2 recover action이 실행되지 않은 적이 있습니다. 알람 이력을 열어 보면 알람은 ALARM으로 가지 않았고 INSUFFICIENT_DATA에 머물러 있습니다. 임계값도 evaluation periods도 그대로였고, 바뀐 것은 인스턴스가 멎으면서 메트릭 자체가 끊겼다는 사실뿐입니다. 여...

DR 리전을 warm standby로 구성해 두고 첫 전환 훈련을 돌렸습니다. 데이터는 Aurora Global Database가 초 단위로 따라오고 있었고, DR 리전에는 프로덕션의 4분의 1 규모가 상시 떠 있었으며, Route 53 failover record와 health check도 걸려 있었습니다. 서류상 RTO 15분은 충분해 보였습니다....

S3 버킷을 암호화하고 WAF를 붙인 뒤에도 보안 사고의 원인은 하나의 서비스에서 끝나지 않습니다. 키 정책이 교차 계정 호출을 막고, WAF가 본문을 일부만 검사하며, GuardDuty가 위협을 찾고, Config가 설정 위반을 교정해야 전체 통제가 닫힙니다. 어느 서비스가 무엇을 보장하는지 분리하지 않으면 보안 도구를 많이 켜도 빈틈이 남습니다. ...

계좌별 주문 이벤트를 SQS FIFO 큐로 보내면서 message group ID를 계좌 번호로 두면 계좌 안에서의 순서가 지켜집니다. 여기까지는 설계대로 동작합니다. 그런데 컨슈머 버그로 특정 메시지가 계속 실패해 큐가 밀리기 시작하고, 운영 대응으로 dead-letter queue를 붙이면서 maxReceiveCount를 5로 잡으면 정산이 틀어집...

운영 중인 DynamoDB 테이블에 새 조회 패턴이 생겨서 global secondary index를 붙였습니다. 담당자가 상태를 바꾼 직후 같은 화면을 다시 열면 이전 값이 보인다는 제보가 들어와서 Query에 ConsistentRead를 true로 넣었더니, 이번에는 응답이 오지 않고 요청이 유효성 검사에서 거부됩니다. GSI는 eventuall...

ECS on EC2에서 돌던 서비스를 Fargate로 옮기면서 비용을 줄이려고 Spot을 섞으려 하면, 태스크 정의를 아무리 뒤져도 Spot을 켜는 자리가 나오지 않습니다. CreateService 요청의 launchType에는 EC2, FARGATE, EXTERNAL, MANAGED_INSTANCES 네 값만 있고 Spot이라는 값이 없기 때문입니다...