Backend/AWS

웹 서비스의 사용자들은 위치에 관계없이 빠르고 안정적인 응답을 기대한다. 이에 따라 컨텐츠를 효율적으로 전송하기 위한 CDN(Content Delivery Network)의 중요성이 점점 더 커지고 있다.AWS CloudFront는 Amazon이 제공하는 대표적인 CDN 서비스로, 전 세계에 분산된 엣지 로케이션을 통해 컨텐츠를 빠르게 전달할 수 있도록 도와준다. 다양한 AWS 서비스와 연동하여 사용할 수 있으며, 트래픽 최적화, 보안, 캐싱 전략까지 유연하게 설정할 수 있는 장점이 있다. 이번 포스팅에서는 CloudFront를 이해하기 위한 기본 개념들을 살펴보고, 간단한 적용을 실습해 볼 예정이다.1. AWS CloudFront : 주요 개념 및 기능2. 배포(Distribution)3. 원본(Or..

현대의 인프라 환경에서는 고가용성과 빠른 응답 속도를 확보하기 위해, 단일 서버가 아닌 여러 리전 혹은 엔드포인트에 트래픽을 분산시키는 방식이 일반화되고 있다. 특히 장애 상황에 자동으로 대응하거나, 지역에 따라 더 가까운 서버로 요청을 유도하기 위해서 DNS 레벨의 트래픽 라우팅 정책이 필요하다. AWS Route 53은 단순한 도메인 연결 기능을 넘어서, 헬스 체크 기반의 장애 감지와 다양한 라우팅 정책을 통해 이런 요구를 효과적으로 지원하는 서비스이다. 이번 포스팅에서는 Route 53의 라우팅 정책과 헬스 체크 기능을 알아보고, 이를 활용하여 Failover 웹 서비스 호스팅을 진행해보려고 한다. 지난 포스팅에서 진행한 도메인 호스팅 과정에 대한 이해를 전제로 진행하기 때문에 해당 글을 함께 참조..

현대의 인프라 환경에서는 사용자 요청을 처리할 수 있는 여러 자원(서버, 로드밸런서, CDN 등)이 복잡하게 얽혀 있다. 특히 클라우드 환경에서는 EC2, S3, ALB 등 다양한 서비스에 도메인을 연결하거나 트래픽을 라우팅해야 하는 경우가 많다. AWS는 이러한 요구를 충족할 수 있도록 Route 53이라는 강력한 DNS 서비스를 제공한다. 이번 포스팅에서는 도메인 구입부터 EC2에 연결하는 실습 과정을 따라가며 Route 53의 기본 개념과 구성 방법을 알아보고자 한다. AWS Route53AWS Route 53은 높은 가용성과 확장성을 갖춘 클라우드 기반의 DNS(Domain Name System) 서비스로, 99.99%의 SLA를 보장한다. 이름의 ‘53’은 DNS 통신에 사용하는 포트 번호..

다양한 기능이 유기적으로 연결된 서비스 환경에서 하나의 이벤트가 여러 시스템에 동시에 전달되어야 하는 상황이 자주 발생한다. AWS SQS는 Point-to-Point 모델을 따르기 때문에, 하나의 메시지를 여러 수신자에게 전달하려면 큐마다 별도로 메시지를 전송하는 방식으로 구현해야 한다. AWS SNS는 이러한 문제를 해결하기 위한 발행-구독(Pub/Sub) 방식의 메시지 서비스로, 하나의 메시지를 다양한 채널(SQS, Email 등)로 동시에 전파할 수 있다.이번 글에서는 Spring 기반 애플리케이션에서 SNS를 활용하여 이벤트를 다양한 주체에 분산 전파하는 구조를 구현하는 방법을 정리해본다. 1. AWS 인프라 설정- 1-1. SNS Topic 생성- 1-2. SNS Subscription 생성 ..

현대의 시스템 아키텍쳐에서 시스템 간 데이터를 주고받을 때, 처리를 즉시 완료하지 않아도 되는 작업이라면 비동기 메시징 방식이 효과적으로 사용된다.특히 마이크로소프트 아키텍쳐를 위시한 분산 환경에서는 구성 요소 간 결합도를 낮추는 디커플링을 위해 메시지 큐의 활용도가 증가하고 있다.이번 포스팅에서는 AWS에서 제공하는 메시지 서비스 중 하나인 SQS를 활용하여 서비스 간의 통신을 Spring Application에서 구현하는 과정을 다루어 보려고 한다. 1. AWS 인프라 설정- 1-1. SQS 생성- 1-2. SQS 설정- 1-3. 엑세스 정책 설정- 1-4. AWS CLI 설치 및 프로파일 설정2. Producer 애플리케이션 작성- 2-1. 애플리케이션 의존성 및 환경 설정- 2-2. SQS 관련..

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

이번 포스팅에서는 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 등과 연계해 자동화된 대응을 수행할 수 있다..