Backend


현대의 애플리케이션 아키텍처에서는 서비스 간 결합도를 낮추고 유연한 처리를 가능하게 하기 위해 메시지 큐(Message Queue)를 활용하는 경우가 많다. 특히 마이크로서비스 환경에서는 각 서비스가 독립적으로 동작하면서도 필요한 데이터를 주고받아야 한다.이때 직접 호출 방식 대신 메시지 큐를 사용하면, 서비스 간 결합도를 낮추고 장애 복원력과 확장성을 높일 수 있다. AWS는 이런 메시지 기반 아키텍처를 손쉽게 구축할 수 있도록 다양한 서비스를 제공한다. 이번 포스팅에서는 AWS가 제공하는 대표적인 메시지 서비스인 SQS와 SNS의 특징과 유스케이스를 살펴보려고 한다. AWS의 메시지 서비스 AWS에서는 다양한 메시지 서비스들을 제공하여 아키텍처의 디커플링(Decoupling), 즉 구성요소 간의 의..

Apache Kafka는 대용량의 이벤트 데이터를 처리하기 위한 분산 스트리밍 플랫폼이다. Kafka를 사용하는 대부분의 상황에서는 메시지를 안정적으로 읽고 필요한 처리를 수행한 뒤 중복 없이 다음 메시지를 이어서 처리하는 것이 중요하다. 이 과정의 핵심 개념이 바로 Offset과 Commit이다. 이번 포스팅에서는 Kafka의 메시지 처리 흐름을 이해하는 데 필수적인 Offset과 Commit에 대해 정리하고, 자동 커밋과 수동 커밋 방식의 차이와 선택 기준에 대해서 소개한다. Offset Kafka의 메시지는 Topic 내부의 Partition에 저장되며 각각의 메시지에는 고유한 일련번호가 붙는다. 이 번호를 Offset이라고 하며 Partition 내에서의 메시지 위치를 나타낸다. 예를 들어, ..


이번 포스팅에서는 AWS의 활동 보안 및 감사를 위한 서비스인 CloudTrail에 대해서 살펴볼 예정이다. AWS CloudTrail AWS 리소스에 대한 사용 활동을 기록하고 감사할 수 있게 해주는 보안 및 컴플라이언스 서비스서비스 사용(EC2 종료, S3 버킷 생성 등), 콘솔, CLI, API 등을 통해 발생한 이벤트를 시간, 결과, 오류, 인증 정보와 함께 로그로 저장기본적으로 최근 90일간의 이벤트 로그는 무료로 제공되며 장기 보관을 원할 경우 Trail을 생성해 S3에 저장해야 한다.CloudTrail의 주요 구성 요소는 Event, Trail이 있다. CloudTrail vs CloudWatchCloudTrail : AWS의 모든 서비스에 대한 사용 로그, AWS 서비스가 언제, 어디서, ..


이번 포스팅에서는 CloudWatch에서 로그, 지표, 경보 등 기본 구성요소를 기반으로 제공하는 기능들인 Dashboard, Synthetics, Resource Health 등 다양한 기능을 살펴볼 예정이다. [AWS] CloudWatch : 주요 개념과 구성요소 (로그, 지표, 경보)https://sjh9708.tistory.com/266 [AWS] CloudWatch : 주요 개념과 구성요소 (로그, 지표, 경보)이번 포스팅에서는 AWS 인프라를 포함한 시스템을 모니터링 할 수 있는 서비스인 AWS CloudWatch의 주요 구성 요소에 대해서 살펴보려고 한다. AWS Cloudwatch CloudWatch는 AWS에서 제공하는 모니터링sjh9708.tistory.com CloudWatc..


이번 포스팅에서는 AWS 인프라를 포함한 시스템을 모니터링 할 수 있는 서비스인 AWS CloudWatch의 주요 구성 요소에 대해서 살펴보려고 한다. AWS Cloudwatch CloudWatch는 AWS에서 제공하는 모니터링 서비스로 다양한 AWS 서비스와 애플리케이션의 로그, 지표, 이벤트 등의 운영 데이터를 수집하고 시각화할 수 있다. 운영 데이터 수집: 로그(Log), 지표(Metric), 이벤트(Event) 등 다양한 형태의 데이터를 수집한다.모니터링 및 시각화: 실시간 대시보드로 데이터를 시각화하고 시스템 상태를 모니터링할 수 있다.경보(Alarm) 기능: 특정 조건에 따라 경보를 생성하고, SNS, Lambda, EC2 Auto Scaling 등과 연계해 자동화된 대응을 수행할 수 있다..


이번 포스팅은 Spring Application에서의 RDS의 Connection 방법과, Secrets Manager를 활용하여 데이터베이스의 Connection 정보를 관리해보려고 한다. Amazone Secrets Manager의 필요성 spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3307/wisefee-database?characterEncoding=UTF-8&serverTimezone=UTC username: root password: 1111 기존에는 환경 변수에 위의 예시처럼 Connection에 필요한 자격 증명 정보들을 설정하여 사용하는 방식..


이번 포스팅에서는 프로비저닝한 RDS 서비스에 접근하기 위한 인증 방식과, 그것을 활용한 접근 방법에 대해서 살펴보려고 한다. RDS 인증 방식 1. 전통적인 User/Password 기반 인증일반적인 DB 사용자명과 비밀번호를 사용하여 인증AWS Secrets Manager와 연동 가능, 비밀번호 자동 관리 및 보안 강화2. 추가 인증 방식: IAM 기반 인증IAM 사용자 또는 역할을 통해 RDS에 접근 가능비밀번호 없이 안전한 접근을 제공하며, AWS 환경에서 보안성을 강화하는 방식임시 토큰을 생성하여 인증 수행RDS에서 IAM 인증을 허용할 사용자(User)를 사전에 설정해야 함토큰 생성을 위해 IAM 정책에 rds-db:connect 권한이 필요 Public Subnet에 위치한 DB ..


이번 포스팅에서는 AWS에서 제공하는 관계형 데이터베이스 서비스인 RDS의 기능 및 프로비저닝 설정 과정에 대해서 포스팅해보려고 한다. 1. DB 엔진 설정2. 가상 머신(EC2) 및 스토리지 설정3. VPC 설정 및 보안 그룹 - DB Subnet Group4. 백업5. 암호화6. 읽기 전용 복제본7. RDS Multi AZ - RDS Multi Region8. 데이터베이스 설정 및 파라미터 - DB Parameter Group9. Cloudwatch 지표 및 로그 수집 RDS (Relational Database Service) AWS의 관계형 데이터베이스 (RDBMS)하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업 등 관리 작업 자동화, 유연한 용량 제공가상 머신(EC2)에서..


그리스 신화에 등장하는 아테나는 지혜와 전략, 전쟁, 기술, 예술을 관장하는 신으로 알려져 있으며, 지식과 분석 능력을 상징한다.이름에서 유래되었듯 Amazone Athena는 S3, DynamoDB 등의 데이터 소스에 대해서 SQL Query를 실행하여 데이터를 질의하고 분석할 수 있는 서비스이다. Amazone Athena Amazon Athena는 S3 등에 저장된 데이터 소스를 SQL을 사용해 간편하게 분석할 수 있는 대화식 쿼리 서비스이다.서버리스 서비스로 인프라를 관리할 필요가 없으며, 실행한 쿼리에 대해서만 비용이 청구된다.Athena는 Glue에서 생성한 스키마를 사용하여 데이터를 효율적으로 조회할 수 있다.주요 사용 사례로 로그 필터링, 이벤트 데이터 분석 및 정보 추출 등이 있다..