dev-ops/aws
-
[AWS] Aurora MySQL와 표준 MySQL에서의 binary logging 차이점dev-ops/aws 2025. 5. 11. 16:50
MySQL의 binary logMySQL의 binary log는 데이터 변경을 기록하는 방식에 따라 세 가지 형식(ROW, STATEMENT, MIXED)을 지원한다. 각 형식의 특징과 차이점은 다음과 같다.ROW각 테이블 행(Row) 단위로 변경 내용을 binary log에 기록한다.어떤 SQL 문이 실행되었는지가 아닌, 어떤 행이 어떻게 변경되었는지를 기록한다.데이터 변경의 정확성이 높아 replication 시 데이터 불일치 문제를 방지할 수 있다.대량의 데이터 변경 시 binary log의 크기가 커질 수 있다.MysQL 5.7.7 버전부터 기본 값이다.STATEMENT 실행된 SQL 문 자체를 binary log에 기록한다.DB Replication 시에 SQL 문이 replica에서 그대로 실..
-
[AWS] EventBridge Scheduler와 Lambda로 개발 서버 비용 절감하기dev-ops/aws 2025. 5. 6. 02:13
1. 서론개발 서버용 EC2 인스턴스는 운영 서버와 달리 24시간 가동이 불필요하다. 운영 서버는 실제 사용자에게 서비스를 제공하는 인프라이므로 항상 안정적으로 동작해야 하지만, 개발 서버는 개발자가 코드를 작성하고 테스트하기 위한 용도로만 사용되기 때문이다. 개발자는 주로 업무 시간 내에만 작업을 수행하므로 업무 시간 외에는 EC2 인스턴스에 접근하지 않는다.예를 들어, 업무 시간이 10:00~19:00라면 해당 시간에만 개발 서버 인스턴스가 가동되도록 하고, 그 외 시간에는 중지하면 된다. 당연히 주말에는 업무 시간이 아니므로 24시간 중지 상태를 유지해도 된다. 회사 업무 중 우선순위가 높은 작업 중 하나는 AWS 비용 절감이다. 우리 회사는 메가존 클라우드의 Hyper Billing 서비스를 사용..
-
FaaS 기반 Lambda 실행 흐름과 Cold Start 최적화 기법dev-ops/aws 2025. 4. 20. 16:26
FaaS 기반 Lambda 실행 흐름과 Cold Start 최적화 기법온디맨드 방식의 EC2 인스턴스의 경우 애플리케이션 자체를 VM에 올리기 때문에 API 호출이 없더라도 인스턴스가 실행되는 시간 단위로 비용이 발생한다. 반면에 FaaS(Function as a Service)는 애플리케이션을 함수 단위로 분리한다. FaaS는 이벤트 기반 아키텍처로써, 함수는 이벤트가 발생할 때만 실행된다. 여기서 이벤트란 클라이언트의 API 호출을 예시로 들 수 있다. 서버나 인프라를 직접 관리하지 않고, 이벤트를 처리할 수 있는 함수 코드만 작성하여 배포하면 된다. 함수는 API 호출, 파일 업로드, 스케줄링 등의 이벤트가 발생할 때만 실행되며, 호출 및 실행 시간 동안만 비용이 발생한다. FaaS의 대표적인 예시..
-
[AWS] IMDSv1과 IMDSv2 비교dev-ops/aws 2025. 4. 12. 16:53
글을 작성하게된 계기현재 Pulumi 기반 IaC 도구로 EC2 인스턴스 생성 자동화를 진행 중이다. 인스턴스 생성 시 User Data를 적용하고, 이 데이터를 기반으로 CloudWatch 대시보드까지 한 번의 프로세스로 만들어내는 작업을 수행하고 있다. CloudWatch 대시보드에는 생성된 인스턴스의 ID, Name, EBS, EFS 등 인스턴스 생성 후 확인 가능한 메타데이터 값들이 포함되어야 했다. 이 값을 동적으로 조회하기 위해 IMDSv2 방식을 사용했다. 처음에는 "IMDSv2 방식으로 인스턴스 정보를 동적으로 가져올 수 있다" 정도로만 알고 있었지만, IMDSv1과 v2의 차이점과 정확한 개념은 명확하지 않았다. 이번 기회에 IMDS의 동작 방식, v1과 v2의 차이, 그리고 v2가 어떤..
-
[AWS] AWS KMS(Key Management Service)dev-ops/aws 2025. 4. 10. 22:38
CMK (Customer Master Key)CMK는 KMS에서 생성되어 HSM 내부에서 관리되는 마스터 키CMK의 역할:Data Key 생성: GeneratedDataKey API(KMS에서 제공) 호출 시, HSM 내부에서 CMK를 사용해 Plaintext Data Key와 Encrypted Data key를 생성Key Rotation: CMK에 대한 키 회전을 자동 또는 수동으로 수향CloudTrail 로깅: CMK를 활용한 모든 활동은 로그로 기록됨 (감사 추적용)Key 삭제/폐기: 사용하지 않게 된 CMK는 삭제 예약 및 폐기 가능GeneratedDataKey API가 호출되면서 2개의 Data Key를 생성한다.Plaintext Data Key: 데이터 암호화에 사용되는 키Encrypted D..
-
[AWS] AWS S3의 내구성과 가용성dev-ops/aws 2025. 4. 7. 20:32
객체 스토리지 방식으로 데이터를 저장한다AWS S3는 객체 스토리지 방식이다. 객체 스토리지는 객체 형태로 데이터를 저장하는데 객체는 데이터 + 메타데이터 + 고유 식별자로 이루어져 있다.객체 = 데이터 + 메타데이터 + 고유 식별자데이터(Body): 실제 저장되는 데이터 내용메타데이터(Metadata): 객체에 대한 부가 정보시스템 메타데이터: AWS S3가 자동으로 관리하는 정보ex. Content-Type: image/jpeg, Content-Length: 140사용자 정의 메타데이터: 사용자가 직접 추가할 수 있는 커스텀 정보ex. x-amz-meta- 가 prefix로 사용된다.고유 식별자(Object Key): AWS S3에는 폴더가 존재하지 않고 Key가 경로처럼 동작한다.ex. Key=im..