분류 전체보기 138

AWS Auto Scaling Lifecycle Hook

Auto Scaling 그룹을 구성하면 EC2 인스턴스의 수가 자동으로 늘어나거나 줄어들게 되는데, 인스턴스가 시작되거나 종료될 때 반드시 선행되어야 할 작업이 있다면? 예를 들어,인스턴스 종료 전, 로그를 S3에 백업인스턴스 시작 전, 초기 설정 스크립트 실행이처럼 Auto Scaling의 자동 흐름에 중간 작업을 삽입하고 싶을 때 사용하는 기능이 바로 Lifecycle Hook이다. Lifecycle Hook이란?Lifecycle Hook은 Auto Scaling 그룹 내 EC2 인스턴스의 생애주기(Lifecycle) 중 특정 지점에서 일시적으로 대기 상태를 유지시키고 필요한 작업을 수행할 수 있게 해주는 기능이다. Auto Scaling의 자동화된 흐름 중간에 “갈고리(hook)”를 걸어 수동 작업..

AWS 2025.06.28

AWS Systems Manager를 활용한 EC2 및 온프레미스 서버 패치 관리 & 리포트 통합

AWS Systems Manager는 EC2 인스턴스뿐 아니라 온프레미스 서버까지 통합 관리해주며, 운영체제 수준의 보안 패치를 자동화하고 패치 상태를 시각화된 리포트로 확인할 수 있는 Patch Manager와 Compliance 기능을 제공한다. Patch ManagerPatch Manager는 EC2 및 온프레미스 서버의 OS 패치를 중앙에서 자동으로 관리할 수 있는 기능이다.운영자가 직접 접속하여 수동으로 패치를 적용할 필요 없이, 미리 정의된 패치 기준(Baseline)과 스케줄에 따라 자동으로 패치가 수행된다.지원 대상: Amazon EC2, 온프레미스 서버 (SSM Agent 설치 필요)지원 운영체제: Amazon Linux, Ubuntu, RHEL, Windows 등기능 요약:특정 중요도(..

AWS 2025.06.27

AWS PrivateLink – 안전하고 제한적인 VPC 간 통신

AWS PrivateLink는 인터넷을 통하지 않고, 내 VPC에서 다른 VPC나 AWS 서비스의 엔드포인트에 비공개로 접근할 수 있도록 해주는 기능이다. 민감한 데이터나 내부 API 호출에 적합하며, 보안 정책상 인터넷 경로를 차단해야 하는 경우 매우 유용하다 보안이 중요한 환경에서는 "인터넷 경로 차단"이 기본 전제일 수 있다. 예를 들어 다음과 같은 상황에서 PrivateLink를 사용할 수 있다. 제3자의 SaaS 서비스(API) 를 호출해야 하지만 인터넷을 사용하지 못하는 경우다른 계정의 서비스에 접근할 필요가 있으나 내 VPC는 외부에 노출되면 안 되는 경우보안 그룹, IAM, VPC 정책 등 최소 권한 원칙을 철저히 지켜야 하는 경우 PrivateLink는 크게 2가지 역할로 나뉜다:제공자 ..

AWS 2025.06.26

AWS Resource Access Manager(RAM)로 계정 간 리소스 공유하기

AWS에서는 보안성과 계정 분리를 위해 여러 AWS 계정을 사용하는 구조가 일반적이다. 하지만 예를 들어 공통 네트워크를 한 계정에서 관리하고, 다른 계정들이 그 네트워크를 함께 사용하는 구조 같은 경우, 계정 간에 특정 리소스들을 공유해야 할 필요가 있다. 이럴 때 사용하는 서비스가 AWS Resource Access Manager(RAM)이다. RAM은 VPC 서브넷, Transit Gateway, Route 53 Resolver 규칙, Prefix List 등 네트워크 및 인프라 관련 리소스들을 여러 AWS 계정이나 AWS Organizations 내 OU 단위로 공유할 수 있는 서비스다. RAM을 사용하면 리소스를 직접 복제하거나 VPC 피어링 없이도 하나의 자원을 여러 계정이 사용할 수 있어..

AWS 2025.06.25

Cross-Origin Resource Sharing: 웹 브라우저로 리소스 요청하기

웹 개발을 하다 보면 브라우저 콘솔에 Access to fetch at 'https://example.com' from origin 'http://localhost:3000' has been blocked by CORS policy와 같은 에러 메시지를 접하게 된다. 이는 대부분 CORS(Cross-Origin Resource Sharing) 정책으로 인해 발생하는 문제이다. CORS는 웹 보안 정책 중 하나로, 브라우저가 다른 출처(origin)에 있는 리소스를 요청할 경우 서버가 이를 명시적으로 허용하지 않으면 요청을 차단하도록 설계되어 있다. 여기서 출처란 도메인, 포트, 프로토콜이 모두 동일한 경우를 말한다. 예를 들어 http://localhost:3000과 https://api.example...

AWS 2025.06.24

Lambda@Edge: 글로벌 엣지에서 동작하는 서버리스 컴퓨팅

Lambda@Edge는 Amazon CloudFront에 붙여서 실행할 수 있는 Lambda 함수로 아래와 같은 특징을 갖는다. 사용자의 요청을 처리하는 CloudFront 엣지 로케이션에서 직접 실행됨Viewer Request/Response, Origin Request/Response 모든 단계 지원JavaScript(Node.js), Python 등으로 작성 가능복잡한 로직, 인증, 지역 기반 콘텐츠 제공, 쿠키 기반 분기 등에 활용됨 예를 들어 특정 국가에서 접근한 사용자에게 다른 페이지를 보여주거나, 로그인 여부에 따라 콘텐츠를 변경하는 등 정교한 요청·응답 제어가 필요할 때 Lambda@Edge를 사용할 수 있다. Lambda@Edge는 일반 Lambda와 달리 리전이 아닌 전 세계 엣지..

AWS 2025.06.23

CloudFront Function - 간단한 로직을 엣지에서 처리할 때 유용한 도구

CloudFront Function은 CloudFront에 붙일 수 있는 초경량 JavaScript 기반 함수이다. 주로 Viewer Request / Viewer Response 단계에서 실행되어, 요청 또는 응답을 빠르게 조작하는 데 사용된다. CloudFront Function은 Lambda@Edge보다 가볍고, 빠르며, 배포 시간이 매우 짧다는 특징이 있다. 복잡한 연산보다는 조건 분기, 헤더 제거/수정, URL 리디렉션과 같은 간단한 작업에 사용하는 것이 적합하다. 예) 오래된 디바이스(User-Agent가 특정 값일 경우)에 대해 특정 응답 헤더를 제거하고 싶다면, 아뢔와 같은 CloudFront Function을 사용할 수 있다.function handler(event) { var resp..

AWS 2025.06.22

CloudFront의 프록시 역할

Amazon CloudFront는 흔히 정적 콘텐츠를 캐싱하고 전송하는 CDN(Content Delivery Network)으로 알려져 있지만, 실제로는 API 트래픽을 처리하는 프록시 역할로도 활용할 수 있다. CloudFront는 ALB(Application Load Balancer), API Gateway, Lambda 등 다양한 백엔드 리소스와 연동할 수 있으며, 캐싱 정책, 보안 정책, 응답 헤더 제어 등 고급 기능을 통해 정적·동적 트래픽 모두를 프론트에서 제어하는 구조를 구성할 수 있다. 예를 들어 API Gateway를 백엔드로 사용하는 서버리스 아키텍처에서도 CloudFront를 앞단에 배치해 트래픽을 수신하고, CloudFront Function이나 Lambda@Edge를 이용해 요..

AWS 2025.06.21

AWS SCP 적용 구조와 OU 단위 관리 전략

AWS Organizations를 사용하면 여러 계정을 하나의 조직 단위로 통합하고, Service Control Policy(SCP)를 통해 계정 수준에서 허용 가능한 권한의 범위를 제어할 수 있다.SCP는 IAM과는 달리 무엇을 허용할 수 있는지의 상한선을 설정하는 역할을 하는, 매우 강력하지만 동시에 잘못 설계하면 정상적인 작업까지 제한할 수 있는 서비스로 구조적으로 관리하는 전략이 필요하다. SCP는 AWS Organizations의 루트(Root)나 OU(Organizational Unit)에 연결할 수 있다. 많은 조직에서 아래와 같은 이유들로 SCP를 root가 아닌 OU 단위로 관리하는 방식을 선호한다. 1. 정책 범위의 명확한 통제루트에 SCP를 연결하면 조직의 모든 계정에 영향을 미치기..

AWS 2025.06.20

Route 53의 DNS 레코드와 장애 조치(Failover) 구성 전략

도메인 이름 시스템(DNS, Domain Name System)은 사용자가 example.com 같은 도메인 이름을 입력하면, 그 도메인을 실제 IP 주소나 AWS 리소스로 해석해주는 시스템으로, 인터넷 서비스의 "주소록" 역할을 하며, 사용자는 실제 IP를 기억하지 않아도 웹 사이트나 API에 접근할 수 있다. AWS Route 53은 도메인 이름과 AWS 리소스를 연결해주는 DNS 서비스로, 아래와 같은 DNS 레코드를 설정할 수 있다:A 레코드도메인 → IP 주소 매핑CNAME 레코드도메인 → 다른 도메인 매핑Alias 레코드도메인 → AWS 리소스(API Gateway, ELB 등) 매핑Failover 레코드장애 조치용 주/보조 대상 설정 이 중 Failover 레코드는 고가용성을 위한 구성에 핵..

AWS 2025.06.19