기본 콘텐츠로 건너뛰기

[클라우드네트워크(AWS)] 11. AWS Network 보안 - 기본개념

요약: AWS 클라우드 보안의 모든 것을 알려드립니다. 엣지 컴퓨팅 보안의 핵심 Lambda@Edge부터 IAM, WAF, Shield를 활용한 다계층 방어(Defense in Depth) 전략까지, 현업 멘토가 실무 아키텍처와 함께 완벽하게 정리해 드립니다. 이 글 하나로 AWS 보안의 큰 그림을 잡아보세요.


안녕하세요, 미래의 AWS 네트워크·보안 전문가 여러분! 🚀 IT 업계의 베테랑 실무자이자, 여러분의 성장을 응원하는 멘토, '네트워크 및 보안 전문가'입니다. 클라우드의 시대, 그중에서도 AWS 환경에서의 네트워크와 보안은 아무리 강조해도 지나치지 않은 핵심 역량이 되었죠. 하지만 막상 공부를 시작하려고 하면 방대한 서비스와 어려운 용어들 때문에 막막하게 느껴질 수 있습니다.

그래서 준비했습니다! 이 포스팅 하나로 AWS 네트워크와 보안의 큰 그림을 그리고, 각 서비스가 어떤 역할을 하는지, 실제 업무에서는 어떻게 활용되는지 명확하게 이해하실 수 있도록 도와드릴게요. 이제 막 발을 들인 학생분들부터, 실무 역량을 한 단계 업그레이드하고 싶은 신입 사원분들까지 모두 집중해주세요!

자, 그럼 지금부터 저와 함께 AWS 네트워크·보안의 세계로 떠나볼까요? 💻

[1장] 세상의 가장자리에서 시작되는 혁신: CloudFront와 Lambda@Edge

Lambda@Edge, 스마트한 컨시어지를 만나다 🧐

전 세계 곳곳에 퍼져있는 AWS의 엣지 로케이션(Edge Location)은 사용자와 가장 가까운 일종의 '작은 데이터 센터'입니다. 사용자가 웹사이트에 접속하면, 멀리 있는 본사 서버(오리진 서버)까지 가지 않고 가장 가까운 엣지 로케이션에서 저장된 콘텐츠를 바로 보여주죠. 이게 바로 CDN 서비스인 AWS CloudFront입니다.

Lambda@Edge는 이 똑똑한 CloudFront에 날개를 달아주는 서비스입니다. 엣지 로케이션에서 간단한 코드를 실행시켜서, 사용자의 요청이나 서버의 응답을 중간에 '가공'할 수 있게 해주는 서버리스 컴퓨팅 서비스죠.

🏨 쉽게 비유해볼까요? Lambda@Edge는 "전 세계 호텔 체인의 스마트 컨시어지"와 같습니다. 고객(사용자)이 호텔(웹 서비스)에 도착하기 전에, 컨시어지가 고객의 국적, 언어 등을 미리 파악해서 맞춤형 룸서비스를 준비하거나 출입을 통제하는 것과 같죠. 본사(오리진 서버)에 일일이 물어보지 않아도 엣지에서 빠르고 스마트하게 대응하니, 고객 경험과 보안이 모두 향상됩니다.

언제, 어디서 일할까? Lambda@Edge의 4가지 실행 시점 ⏰

이 스마트한 컨시어지는 정확히 4개의 지정된 시점에서만 활동합니다.

1. 뷰어 요청 (Viewer Request): 사용자가 엣지 로케이션에 딱 도착한 순간! 가장 먼저 실행됩니다.

2. 오리진 요청 (Origin Request): 엣지 로케이션에 콘텐츠가 없어 본사 서버(오리진)에 요청하는 순간 실행됩니다.

3. 오리진 응답 (Origin Response): 본사 서버(오리진)가 엣지 로케이션으로 응답을 보내는 순간 실행됩니다.

4. 뷰어 응답 (Viewer Response): 엣지 로케이션이 사용자에게 최종 응답을 보내기 바로 직전에 실행됩니다.

실전 활용법: 이미지 리사이징부터 A/B 테스트까지 🖼️

활용 사례는 무궁무진합니다!

동적 이미지 리사이징: 원본 고화질 이미지는 하나만 올려두고, Lambda@Edge가 사용자 기기(PC/모바일)를 분석해 실시간으로 이미지 크기를 조절해 보내줍니다.

A/B 테스트: 특정 사용자 그룹에게는 A 디자인을, 다른 그룹에게는 B 디자인을 보여주며 어떤 버전이 더 효과적인지 테스트할 수 있습니다.

보안 헤더 추가: 사용자가 최종 응답을 받기 직전(Viewer Response), Lambda@Edge가 보안 관련 헤더(HSTS 등)를 응답에 추가하여 웹사이트 보안을 강화할 수 있습니다.

접근 제어: 특정 국가나 IP 대역에서 오는 요청을 엣지 단계에서부터 차단하여 악성 봇이나 공격 트래픽을 원천 봉쇄할 수 있습니다.

[실무 Tip 💡] Lambda@Edge, 이것만은 주의하세요!
Lambda@Edge는 강력하지만 비용에 주의해야 합니다. 특히 '뷰어 요청' 시점의 함수는 모든 요청마다 실행되므로, 트래픽이 많은 서비스라면 호출 횟수가 엄청나게 늘어날 수 있습니다. "이 기능이 정말 모든 요청에 대해 엣지에서 처리되어야만 하는가?"를 신중히 고민하고, 더 비용 효율적인 트리거 시점을 선택하는 지혜가 필요합니다.

[2장] 우리 집을 지키는 첫걸음: AWS 보안의 기본 원칙

나쁜 손님은 누구? 대표적인 사이버 공격 유형 🎭

디도스(DDoS) 공격: 수만 대의 좀비 PC를 동원해서 서비스 자체를 중단시키는 공격입니다.

애플리케이션 공격: 웹사이트의 보안 취약점(SQL Injection, XSS 등)으로 몰래 침입하여 정보를 빼가거나 권한을 훔치는 공격입니다.

봇(Bot) 트래픽: 나쁜 봇이 주기적으로 접속하여 취약점을 스캔하고 정보를 수집하는 불청객입니다.

혼자는 힘들어! 다계층 방어(Defense in Depth) 전략 🛡️

단 하나의 보안 솔루션으로 모든 공격을 막을 수는 없습니다. 그래서 우리는 여러 겹의 방어막을 치는 '다계층 방어' 전략을 사용해야 합니다.

🏦 쉽게 비유해볼까요? AWS 보안은 "은행 금고를 지키는 시스템"과 같습니다.

1차 방어 (AWS Shield, WAF): 은행 정문에서 수상한 사람(DDoS, 웹 공격)을 막아냅니다.

2차 방어 (NACL, 보안 그룹): 건물 안 각 층과 사무실로 가는 길목마다 보안 게이트가 출입을 통제합니다.

접근 권한 관리 (IAM): 금고에 접근할 수 있는 직원을 지정하고 신분증과 열쇠 권한을 엄격하게 관리합니다.

내부 감사 (CloudTrail, GuardDuty): 모든 움직임을 CCTV로 녹화하고 출입 기록을 남겨 이상 행위를 탐지합니다.


[3장] 철옹성 아키텍처 구축하기: AWS 보안 서비스 심층 분석

모든 권한의 시작: IAM (신분증 및 출입 권한 관리 시스템) 🔑

IAM(Identity and Access Management)은 AWS 보안의 알파이자 오메가입니다. "누가(Who) 무엇을(What) 할 수 있는지(Can Do)"를 정의하는 서비스죠.

User(사용자), Group(그룹), Policy(권한 문서), Role(역할)로 구성됩니다.

Role, 왜 중요할까요? 예를 들어, EC2 인스턴스가 S3 버킷에 접근해야 할 때 Access Key(비밀번호)를 코드에 저장하는 것은 매우 위험합니다. 하지만 'S3에 접근하는 역할(Role)'을 만들어 EC2 인스턴스에 부여하면, 별도의 자격 증명 없이도 안전하게 임시 자격 증명을 발급받아 S3에 접근할 수 있습니다. 이것이 AWS가 권장하는 모범 사례입니다.

트래픽 흐름에 따른 보안 계층 설계 🌊

인터넷 → 엣지 (CloudFront): AWS Shield(DDoS 방어), AWS WAF(웹 방화벽)

엣지 → ELB (로드밸런서): 보안 그룹 (CloudFront IP 대역만 허용)

ELB → 웹 서버 (EC2): 네트워크 ACL(IP 대역 차단), 보안 그룹 (ELB의 보안 그룹 ID만 허용)

보안 솔루션, 서버에 심을까? 앞에 둘까? (Host-based vs Inline) 🧐

호스트 기반 (Host-based / 에이전트 방식): 웹 서버(EC2) 안에 직접 보안 프로그램(에이전트)을 설치하는 방식입니다. 구성이 단순하고 확장성이 좋지만, 에이전트 관리 부담과 서버 리소스 소모가 단점입니다.

인라인 (Inline / 게이트웨이 방식): 웹 서버 앞단에 별도의 보안 전용 장비를 두고 모든 트래픽이 이곳을 통과하게 만드는 방식입니다. 중앙 관리가 용이하지만, 구조가 복잡하고 보안 장비 자체가 병목 지점이 될 수 있습니다.

[실무 Tip 💡] AWS 순정 vs 서드파티, 무엇을 선택할까?
정답은 없습니다. 서비스의 중요도, 비용, 관리 편의성, 그리고 우리 회사의 규정을 종합적으로 고려하여 AWS Native 서비스와 서드파티 솔루션을 적절히 조합하는 하이브리드 전략이 가장 현실적인 해답일 때가 많습니다.

[부록] 이것만은 알고 가자!

🎓 초보자를 위한 용어 정리

Lambda@Edge: CloudFront 엣지 로케이션에서 코드를 실행하는 서버리스 컴퓨팅 서비스.

IAM: AWS 리소스에 대한 사용자 및 서비스의 접근 권한을 관리하는 서비스.

WAF (Web Application Firewall): SQL 인젝션, XSS 등 웹 애플리케이션(L7) 공격을 방어하는 방화벽.

AWS Shield: DDoS 공격으로부터 AWS 리소스를 보호하는 서비스.

보안 그룹: 인스턴스 수준에서 트래픽을 제어하는 가상 방화벽. (Stateful)

네트워크 ACL: 서브넷 수준에서 트래픽을 제어하는 방화벽. (Stateless)

다계층 방어 (Defense in Depth): 여러 단계의 보안 제어를 계층적으로 적용하여 전체 시스템을 보호하는 보안 전략.

🤔 자주 묻는 질문 (FAQ)

Q1. 블로그에 나온 모든 보안 서비스를 다 사용해야 하나요?

A1. 아니요, 서비스의 규모, 중요도, 예산에 따라 필요한 서비스를 선택적으로 적용하는 것이 중요합니다. 작은 프로젝트라면 VPC, 보안 그룹, IAM의 기본 설정만으로도 충분할 수 있습니다.

Q2. 보안 그룹(Security Group)과 WAF의 차이점이 뭔가요?

A2. 보안 그룹은 IP/포트(L3/L4) 기반으로 "누가, 어떤 문으로 들어올 수 있는가"를 제어하는 건물 경비실과 같습니다. WAF는 HTTP 트래픽 내용(L7)을 분석하여 "악성 코드가 숨겨져 있는가"를 검사하는 전문 경호원과 같습니다.

Q3. 보안 그룹(Security Group)과 네트워크 ACL(NACL)의 차이는 무엇인가요?

A3. 보안 그룹은 인스턴스에 직접 적용되며 'Stateful'(응답 트래픽 자동 허용) 방식입니다. NACL은 서브넷 전체에 적용되며 'Stateless'(인바운드/아웃바운드 규칙 각각 설정) 방식입니다.

Q4. AWS 보안 공부, 뭐부터 시작해야 할까요?

A4. 가장 먼저 IAMVPC(보안 그룹, NACL 포함)의 개념을 확실히 잡는 것을 추천합니다. 이 두 가지가 AWS 모든 인프라의 가장 기본적인 접근 제어와 네트워크 격리를 담당하기 때문입니다.

마무리하며

오늘 저와 함께한 AWS 네트워크·보안 여행, 어떠셨나요? 보안은 한 번에 완성되는 것이 아니라, 끊임없이 배우고 개선해나가는 과정입니다. 오늘 배운 내용을 바탕으로 AWS 문서를 찾아보고, 작은 프로젝트에 직접 적용해보며 여러분만의 '보안 철옹성'을 단단하게 만들어나가시길 응원합니다! 💪

궁금한 점이 있다면 언제든 댓글로 질문해주세요!


더 상세한 내용은 Youtube채널(@NetworkingClass)을 참고해서 공부하실 수 있습니다.

아래 동영상을 참고하시면 내용을 이해하시는 데 더욱 도움이 될 것입니다.

댓글

이 블로그의 인기 게시물

[기초입문] IT 신입 필독! (1)컴퓨터 네트워킹 기초 - 개념부터 구성요소 까지

IT 및 네트워크 엔지니어 입문자를 위한 컴퓨터 네트워킹 핵심 가이드입니다. 네트워크의 기본 개념과 필요성부터 구성 요소, 통신 방식, 그리고 IP, MAC과 같은 주소 체계의 모든 것을 가장 이해하기 쉽게 설명하여 여러분의 튼튼한 기초를 만들어 드립니다. 안녕하세요, IT 엔지니어를 꿈꾸시는 예비/신입 네트워크 엔지니어 여러분! 반갑습니다. 😊 베테랑 네트워크/보안 전문가로서, 오늘은 여러분이 복잡해 보이는 네트워크의 세계에 첫발을 성공적으로 내디딜 수 있도록 컴퓨터 네트워킹의 핵심 기본 개념들을 알기 쉽게 정리해 드리려고 합니다. 이 글을 통해 "네트워크가 대체 뭐지?", "어떻게 돌아가는 걸까?" 하는 궁금증을 시원하게 해결하고, 앞으로 멋진 네트워크 엔지니어로 성장하기 위한 튼튼한 기초를 함께 다져봅시다! 🚀 📜 목차 (Table of Contents) 컴퓨터 네트워킹, 도대체 무엇일까요? (개념 및 필요성) 네트워크를 구성하는 핵심 요소들 (구성 요소) 데이터는 어떻게 길을 찾아갈까요? (통신 방식) 데이터의 주소: IP, MAC, Domain Name (주소 체계) 빠르고 안정적인 네트워크? (품질과 비용) 네트워크의 종류별 특징 (아키텍처 분류) 기업의 심장, 엔터프라이즈 네트워크와 엔지니어의 역할 (엔터프라이즈 네트워크 특징) 마무리하며 ✅ 1. 컴퓨터 네트워킹, 도대체 무엇일까요? 🤔 컴퓨터 네트워킹이란, 간단히 말해 여러 컴퓨터나 장치들이 서로 연결되어 데이터를 주고받는 모든 과정을 의미합니다. 우리가 매일 쓰는 인터넷 🌐, 친구와 카톡 메시지를 주고받는 스마트폰 📱, 회사에서 사용하는 업무 시스템 🖥️ 등 이 모든 것이 네트워킹 덕분에 가능하죠! 예를 들어, 지금 여러분이 이 글을 보고 있다고 상상해 보세요. 이 블로그 글 데이터는 어딘가(서버)에 저장되어 있겠죠? 이 데이터가 물리적인 케이블이나 무선 전파를 타고, 여러 네트워크...

[기초입문] IT 신입 필독! (4) 네트워크 상에서 동작하는 전문 디바이스들 - 개념부터 실무까지 완벽 정복!

신입 및 현직 네트워크 엔지니어라면 꼭 알아야 할 L1부터 L4까지 네트워크 장비의 모든 것을 담았습니다. 각 장비의 역할과 존재 이유, 핵심 동작 원리를 명확하게 파악하여 실무 역량을 한 단계 업그레이드하세요! 🚀 네트워크 엔지니어 필독! L1부터 L4까지 네트워크 장비 완벽 정복 (feat. 25년차 전문가) 안녕하세요, 네트워크 엔지니어를 꿈꾸는 학생 및 현업에서 열정적으로 일하고 계신 실무자 여러분! 🚀 IT 업계의 베테랑이자 여러분의 성장을 돕고 싶은 네트워크 멘토입니다. 😊 오늘 우리는 컴퓨터 네트워크의 핵심 구성 요소인 '네트워크 디바이스' 에 대해 쉽고 재미있게 알아보려고 합니다. 단순히 장비 설정 명령어 몇 개 아는 것을 넘어, 각 디바이스가 어떤 역할을 하고, 왜 필요하며, 데이터를 어떻게 처리하는지 그 근본 원리 를 이해하는 것이 무엇보다 중요해요. 이 지식은 여러분이 어떤 벤더사의 장비를 만나든 빠르게 적응하고 실무 역량을 키우는 데 든든한 밑거름이 될 겁니다. 자, 그럼 지금부터 네트워크 디바이스의 세계로 함께 떠나볼까요? ✈️ ✅ 📜 목차 네트워크 디바이스, 대체 정체가 뭐야? 알아두면 피가 되고 살이 되는 기본 개념! 데이터의 여행 준비: 인캡슐레이션 & 디캡슐레이션 네트워크 장비의 두뇌와 팔다리: 컨트롤 플레인 & 데이터 플레인 네트워크 디바이스 탐험: 계층별 역할과 기능 L1 전송 장비 (OTN 등) L2 스위치 L3 라우터 L3 스위치 (L2와 L3의 만남) L4 스위치 (로드 밸런서) 핵심 용어 다시 보기 & 알쏭달쏭 FAQ 네트워크 기술 및 장비, 간략한 역사 훑어보기 맺음말: 기본을 다지면 미래가 보인다! ✅ 🧐 네트워크 디바이스, 대체 정체가 뭐야? 여러분, 네트워크 디바이스는 우리가 매일 사용하는...

[기초입문] IT 신입 필독! (2) 네트워크 기초 완벽 정복: 데이터는 어떻게 우리에게 오는가? (캡슐화, TCP/IP, 라우팅의 비밀)

인터넷 세상에서 데이터가 어떻게 목적지까지 안전하게 도착하는지 궁금하신가요? 네트워크 통신의 핵심 원리인 TCP/IP 계층 모델, 캡슐화와 역캡슐화 과정을 통해 데이터의 흥미진진한 여정을 완벽하게 파헤쳐 봅니다. 이 글 하나로 네트워크 데이터 전달 과정의 기초를 탄탄히 다져보세요! 안녕하세요, 미래의 네트워크 & 보안 전문가를 꿈꾸는 주니어, 학생 여러분! 🚀 IT 업계의 베테랑 멘토입니다. 지난 1편에서는 네트워크의 기본 개념에 대해 알아보았죠? 오늘은 그 기초 위에 한 걸음 더 나아가, 우리가 매일 사용하는 인터넷 세상에서 데이터가 어떻게 출발지에서 목적지까지 안전하고 정확하게 찾아가는지, 그 흥미진진한 여정을 함께 따라가 보려고 합니다. 이 과정을 이해하는 것은 네트워크 엔지니어로서 문제 해결 능력과 시스템 설계 역량을 키우는 데 있어 가장 기본적이면서도 중요한 "기초 체력"과 같아요. 자, 그럼 시작해 볼까요? 🤝 1. 네트워크 통신의 첫걸음, 약속! "프로토콜 (Protocol)" 혹시 외국인 친구와 대화해 본 적 있나요? 서로 다른 언어를 사용하면 소통이 어렵겠죠? 그래서 우리는 '영어'와 같은 공통의 언어를 사용하거나, 번역기를 사용하곤 합니다. 네트워크 세상도 마찬가지예요! 컴퓨터, 스마트폰, 서버 등 수많은 장비들이 서로 데이터를 주고받으려면 공통의 약속과 규칙이 필요합니다. 이것을 바로 프로토콜(Protocol) 이라고 불러요. 프로토콜은 단순히 "데이터 주고받자!" 정도의 느슨한 약속이 아니에요. 아주 구체적이고 상세한 규칙들의 집합이죠. 예를 들면 다음과 같은 것들을 정의합니다. 데이터의 형식(Syntax): 데이터는 어떤 모양(포맷)과 구조를 가져야 하는가? 데이터의 의미(Semantics): 각 정보가 무엇을 의미하는가? 통신 순서(Timing): 데이터를 주고받는 순서나 절차는 어떻게 되는가?...