책 소개
2022년 세종도서 학술부문 선정도서
요약
기업 클라우드 보안 정책을 수립하고 적합성 평가를 직접 수행하며 겪은 저자의 노하우가 담긴 VPC 네트워킹 책이다. VPC 공간과 컴퓨팅, 네트워킹 연결 서비스의 구조와 원리를 AWS 토폴로지로 친절히 설명해 초보자도 쉽게 이해할 수 있다. AWS 클라우드 서비스 설계부터 구축, 운영, 보안까지 실무 활용 중심으로 상세하게 구성했다.
추천의 글
이 책은 기존 인프라나 네트워크에 대한 지식 없이 클라우드를 처음 접하시는 분들이나 클라우드를 사용하고 있더라도 좀 더 안전하고 효율적으로 사용하고자 하는 분들께 이론과 실습을 함께 익힐 수 있는 매우 유용한 학습서가 될 수 있을 것이라 생각합니다.
이 책의 가장 뛰어난 점은 이론에 대한 설명과 실습이 잘 버무려져 있다는 것입니다. 단순히 머리로만 이해하는 것이 아니라 매 챕터마다 손을 움직여 직접 만들어보고 테스트해볼 수 있습니다. 이러한 구성은 AWS를 처음 배우는 독자뿐만 아니라 AWS에 대한 경험을 어느 정도 보유한 실무자에게도 높은 학습 효과를 줄 것입니다.
모쪼록 많은 분들이 이 책을 통해 방대한 기능을 지닌 AWS의 네트워크 서비스들을 보다 효율적이고 안전하게 사용할 수 있기를 바랍니다.
— 정도현/ AWS 시니어 테크니컬 트레이너
이 책은 온프레미스의 네트워킹에 익숙하거나 그렇지 않은 엔지니어 모두에게 AWS 클라우드 네트워킹 기술 습득에 필요한 내용과 과정을 담고 있습니다. 계정 생성 단계부터 VPC, 로드밸런서, Direct Connect, Transit Gateway 그리고 VPC Endpoint에 이르기까지 쉽고 효율적으로 설명하고 있습니다. 또한 우리가 일상생활에서 쉽게 접할 수 있는 환경을 기반으로 설명하거나 독자들이 개념을 빠르게 정립할 수 있도록 네트워킹의 각 구성 요소의 상호관계를 설명하는 방식 등은 AWS 네트워킹을 처음 접하거나 어려워하는 사람들에게 너무나도 도움이 되는 내용이라고 생각합니다. 그리고 AWS에서 제공하는 보안 기능에 대해서도 해당 기능이 어떤 원리로 동작하며 어떻게 활용될 수 있는지 설명하고 있어 보안 담당자에게도 큰 도움이 될 것 같습니다.
마지막으로 앞서 설명한 중요 기술 이론을 실습 내용으로 담아, 실제 하나하나 설정하며 독자들의 이해를 돕는 부분을 통해 저자의 세심한 배려와 노력을 엿볼 수 있었습니다.
이제 클라우드는 더 이상 새로운 기술이 아닌 누구나 쉽게 접하고 사용할 수 있는 표준 기술이 됐습니다. 이 책은 이런 변화의 시기에 AWS 네트워킹 전문가를 꿈꾸는 엔지니어나 AWS 네트워킹의 기본을 튼튼히 다지려는 엔지니어 모두를 만족시킬 수 있을 것이라 믿어 의심치 않습니다.
— 신은수/ AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트
클라우드는 처음 접하는 사람에게는 한없이 복잡하고 어렵게 보입니다. 이 책은 초보자가 길을 헤매지 않도록 기초 개념, 네트워크, 컴퓨터 서비스, 연결, 연결 제어까지 클라우드를 다루는 데 필요한 모든 도구와 기능을 하나씩 설명하고 있어, 이 책 한 권만 일독해도 클라우드를 기초에서 핵심 실무까지 경험해본 효과를 볼 수 있을 것 같습니다.
처음 클라우드를 접하시는 분들이나 이미 구름(CLOUD)속에서 일하고 있지만 클라우드를 보다 적극적으로 실무에 활용하고자 하는 분들 모두에게 일독을 권해 봅니다.
— 허해녕/ 한국인터넷진흥원 소통협력실장(前 인터넷서비스팀장)
이 책에서 다루는 내용
◆ VPC 네트워킹 서비스 구조를 AWS 토폴로지와 그림으로 쉽게 설명
◆ 챕터별 단계적인 서비스 생성 실습 예제
◆ 온프레미스와 클라우드 환경 비교 설명
◆ AWS 서비스의 네트워킹 콘셉트와 VPC 네트워킹의 요건
◆ AWS 계정 생성과 보안 가이드
◆ VPC 네트워크와 서비스의 CIDR 전략
◆ VPC 주 보호 대상인 네트워크 인터페이스 유형별 특징
◆ 인스턴스에 연결된 네트워크 인터페이스의 변화 패턴
◆ 보안 그룹, 네트워크 ACL, 라우팅 테이블의 보안 최적 운영 방법
◆ 게이트웨이 유형별 특징과 활용 방법
◆ 로드밸런서 유형(ALB, NLB, CLB, GWLB)별 특징
◆ 피어링, VPN, Direct Connect, Transit Gateway 연결 서비스의 세부 형태
◆ 하이브리드 네트워킹 아키텍처
◆ AWS PrivateLink 기술, VPC 엔드포인트 액세스 유형과 서비스 보호
이 책의 대상 독자
◆ VPC 네트워크 구조와 동작 원리를 이해하고 싶은 독자
◆ AWS 클라우드 입문자
◆ AWS 네트워크 관리자와 보안 관리자
◆ VPC 라우팅 이해가 필요한 독자
◆ AWS 아키텍처 디자이너
◆ AWS 서비스 운영자
◆ 클라우드 보안 정책 수립 담당자
◆ 클라우드 인프라 보안성 평가 담당자
◆ AWS SDK를 활용한 자동화 솔루션 개발자
상세 이미지
목차
목차
- 1부. AWS 네트워킹 개요
- 1장 AWS 네트워킹 콘셉트
- 1.1. VPC 개념을 도입하다
- 1.2. VPC 네트워킹의 개념
- 1.2.1 네트워킹 서비스의 분류
- 1.2.2. 네트워크 인터페이스? 그럼 VPC!
- 2장. VPC 네트워킹 구성 요소의 역할 분류
- 2.1. 우리 동네와 닮은 VPC
- 2.2. VPC 네트워킹의 3요소 : 공간, 연결, 컴퓨팅
- 3장. VPC 네트워킹 구성 요소의 포함 관계
- 3.1. 수학의 집합
- 3.2. 공간의 포함 관계
- 3.2.1. 계정과 리전의 관계
- 3.2.2. 리전과 VPC의 관계
- 3.2.3. 리전과 가용 영역의 관계
- 3.2.4. VPC와 가용 영역의 관계
- 3.2.5. 서브넷과 VPC, 서브넷과 가용 영역의 관계
- 3.2.6. 공간의 포함 관계 정리
- 3.3. 공간과 다른 요소(연결, 컴퓨팅) 간 포함 관계
- 3.3.1. 패런트와 연결(Attach or Associate)
- 3.3.2. VPC 포함 관계의 이해 : 패런트와 연결 예제
- 2부. 네트워크 공간과 그 경계
- 4장. 나의 AWS 전용 공간 : 계정
- 4.1. [실습] AWS 계정 생성하기
- 4.2. AWS 계정의 이해와 올바른 사용법
- 4.2.1. AWS 계정 ≒ 루트 사용자
- 4.2.2. [실습] 루트 사용자 MFA 적용하기
- 4.3. IAM
- 4.3.1. IAM 작동 방식의 이해
- 4.3.2. 루트의 권한 대행 : IAM 사용자
- 4.3.3. IAM 보안 관리 방안
- 5장. AWS가 만들어 놓은 네트워크 공간
- 5.1. 클라우드의 이점
- 5.1.1. 데이터센터는 오늘도 전쟁 중
- 5.2. 글로벌 영역
- 5.3. 리전과 가용 영역
- 5.3.1. 리전
- 5.3.2. 가용 영역
- 6장. 우리가 만들어 나갈 네트워크 공간
- 6.1. VPC
- 6.1.1. VPC와 VPC 네트워킹
- 6.1.2. VPC와 온프레미스의 비교
- 6.1.3. CIDR 블록
- 6.1.4. 퍼블릭 CIDR 전략
- 6.1.5. VPC 네트워킹 리소스 할당량 조정
- 6.1.6. 기본 VPC란?
- 6.1.7. 기본(Default)의 위험성
- 6.1.8. [실습] VPC 생성 예제
- 6.2. 서브넷
- 6.2.1. 서브넷 = 가용 영역 ∩ VPC
- 6.2.2. 서브넷의 역할
- 6.2.3. 서브넷 우회 경로의 근원
- 6.2.4. [실습] 서브넷 생성 예제
- 3부. 컴퓨팅 서비스
- 7장. 컴퓨팅 서비스의 네트워킹 요건
- 7.1. 트래픽의 시작 : IP 주소
- 7.1.1. IP 유형 = [정적/동적] + [퍼블릭/프라이빗]
- 7.1.2. 퍼블릭 IP와 인터넷 라우팅
- 7.1.3. 프라이빗 IP와 VPC CIDR 선정
- 7.1.4. AWS의 IP 분류
- 7.1.5. [실습] 탄력적 IP 할당 예제
- 7.2. 트래픽 전달의 주체 : 탄력적 네트워크 인터페이스(ENI)
- 7.2.1. VPC 서비스의 전용 배송원 : ENI
- 7.2.2. ENI의 2가지 유형
- 7.2.3. ENI 유형 비교(1) : 소스/대상 확인
- 7.2.4. 요청자 관리형 ENI
- 7.2.5. ENI 유형 비교(2) : 보안 그룹(SG) 강제 적용
- 7.2.6. SG와 서브넷에 의존하는 ENI
- 7.2.7. ENI 보호 = VPC 보호
- 7.2.8. [실습] ENI 생성 예제
- 7.3. 트래픽 생성의 주체 : EC2 인스턴스
- 7.3.1. 트래픽 공장의 대표 이사 : 인스턴스
- 7.3.2. 인스턴스로 위장한 AWS 서비스들
- 7.3.3. 인스턴스의 위상
- 7.3.4. 인스턴스는 바람둥이? 2개 서브넷에 양다리 걸치기
- 7.3.5. [실습] 인스턴스 생성 예제
- 8장. 컴퓨팅 서비스 활용
- 8.1. 인스턴스의 네트워킹 패턴
- 8.1.1. 인스턴스 기본 통신 요건
- 8.1.2. 컴퓨팅 기본 3요소의 독립 형태
- 8.1.3. 인스턴스 유형별 ENI와 프라이빗 IP 최대 개수
- 8.1.4. 퍼블릭 IP 자동 할당
- 8.1.5. ENI 연결과 탄력적 IP 할당
- 8.1.6. 결코 뗄 수 없는 꼬리표 : 동적 퍼블릭 IP
- 8.1.7. 보조 프라이빗 IP에 탄력적 IP 할당
- 8.1.8. [실습] 인스턴스에 ENI 연결/분리, 신규 퍼블릭 IP 확인
- 8.2. 컴퓨팅 서비스 응용 : RDS
- 8.2.1. VPC를 사용하는 데이터베이스의 종류
- 8.2.2. RDS 서브넷 그룹의 특징
- 8.2.3. RDS 서브넷 그룹의 역할
- 8.2.4. VPC 경계를 넘나드는 RDS : 서브넷 그룹 변경
- 8.2.5. 다중 AZ 배포
- 8.2.6. Aurora RDS의 다중 AZ
- 8.2.7. Aurora 이외 RDS의 다중 AZ
- 4부. 연결
- 9장. 연결 제어 I : VPC 통제 3요소
- 9.1. 접근 제어 : 보안 그룹과 네트워크 ACL
- 9.1.1. 접근 제어 방식 비교(1) : Whitelist vs. Blacklist
- 9.1.2. [SG] 표면적 특징과 다중 연결성(1:N, N:1)
- 9.1.3. [SG] 규칙의 형태
- 9.1.4. [SG] 소스/대상에 SG 허용
- 9.1.5. [NACL] 표면적 특징과 다중 연결성(1:N)
- 9.1.6. [NACL] 규칙의 형태
- 9.1.7. 접근 제어 방식 비교(2) : Stateful vs. Stateless
- 9.1.8. SG vs. NACL 비교
- 9.1.9. SG와 NACL 바르게 사용하기
- 9.1.10. [실습] SG 생성 예제
- 9.1.11. [실습] NACL 생성 예제
- 9.2. 경로 제어 : 라우팅 테이블
- 9.2.1. 라우팅이란?
- 9.2.2. 반환 트래픽의 라우팅
- 9.2.3. 서비스의 아지트 : On-link(로컬) 라우팅
- 9.2.4. VPC의 라우팅
- 9.2.5. 새로운 세상을 여는 문 : 게이트웨이(GW)
- 9.2.6. 인터넷 게이트웨이(IGW)와 NAT 테이블
- 9.2.7. 퍼블릭과 프라이빗 서브넷의 경계 : IGW
- 9.2.8. NAT 게이트웨이
- 9.2.9. 라우팅의 솔로몬 : Longest Prefix Match
- 9.2.10. VPC 라우팅 구체화 : East-West 트래픽 검사
- 9.2.11. 엣지 연결과 Ingress Routing : North-South 트래픽 검사
- 9.2.12. 기본 게이트웨이와 그 위험성
- 9.2.13. 라우팅 테이블의 표면적 특징과 다중 연결성(1:N)
- 9.2.14. [실습 1] 라우팅 테이블 생성 및 서브넷 연결
- 9.2.15. [실습 2] 라우팅 추가 및 Blackhole 상태 확인
- 9.2.16. [실습 3] 엣지 연결
- 9.2.17. Destination : 라우팅 전파 → Target : 11장
- 10장. 연결 제어 II : 분산 제어
- 10.1. 서버 로드밸런싱(SLB) 개요
- 10.1.1. 온프레미스의 SLB 제어 : L4 스위치
- 10.1.2. L4 스위치의 특징
- 10.1.3. L4 스위치 Config 예시 : Alteon
- 10.2. AWS의 SLB 제어 : 로드밸런서(ELB)
- 10.2.1. L4 스위치 vs. 로드밸런서(ELB)
- 10.2.2. ELB 학습 순서
- 10.2.3. ELB 유형 비교 : ALB, NLB, CLB, GWLB
- 10.3. 로드밸런싱 처리부
- 10.3.1. ELB 가용 영역과 노드
- 10.3.2. ELB 중복 구현 : 교차 영역 로드밸런싱
- 10.3.3. 대상 그룹과 대상
- 10.3.4. 가변 노드를 장착한 ELB : ALB, CLB
- 10.3.5. NLB 대상 그룹에 ALB 연결하기
- 10.4. 요청 수신부
- 10.4.1. ELB 체계와 DNS 이름
- 10.4.2. 리스너
- 10.5. 요청 수신부터 로드밸런싱 처리까지
- 10.5.1. 리스너와 대상 그룹
- 10.5.2. 상태 검사 결과가 ELB에 미치는 영향
- 10.5.3. 컴퓨팅 노드와 라우팅 노드 비교 : ALB vs. NLB
- 10.6. 게이트웨이 로드밸런서(GWLB)
- 10.7. [실습] ALB 생성 과제
- 11장. 연결 서비스 I : 공간과 공간 연결(양방향)
- 11.1. 연결 서비스 개요
- 11.1.1. 기본(Implicit) 연결 서비스 : 로컬 라우팅, IGW
- 11.1.2. 명시적(Explicit) 연결 서비스 : PCX, VPN, DX, TGW
- 11.2. VPC와 VPC의 연결 : PCX
- 11.2.1. [실습] PCX 생성 예제
- 11.2.2. CIDR이 겹치는 VPC 간 피어링 - 불가
- 11.2.3. 전이적 VPC 피어링 - 불가
- 11.2.4. Full-mesh 피어링
- 11.2.5. PCX 특징 정리
- 11.3. VPC와 온프레미스의 연결(하이브리드 네트워킹) : VPN, DX
- 11.3.1. VPN 연결 개요
- 11.3.2. [실습] Site-to-Site(사이트 간) VPN 연결 생성 과제
- 11.3.3. Direct Connect(DX) 연결 개요
- 11.3.4. 가상 인터페이스(VIF)의 특징과 유형
- 11.3.5. 글로벌 DX 게이트웨이(DXGW)
- 11.3.6. 다른 계정에게 VIF 만들어 주기
- 11.3.7. DXGW에 다른 계정의 게이트웨이(VGW/TGW) 연결하기
- 11.3.8. 퍼블릭 VIF를 활용한 VPN Over DX
- 11.3.9. DX 리소스 할당량
- 11.4. VPC와 온프레미스의 중앙 라우터 : TGW
- 11.4.1. 전송 게이트웨이(TGW) 개요
- 11.4.2. 연결(Attachment)과 연결(Association)
- 11.4.3. TGW 라우팅 테이블 작동 원리
- 11.4.4. TGW 공유
- 11.4.5. [실습] TGW 생성 과제
- 11.4.6. TGW와 통합된 하이브리드 네트워킹
- 12장. 연결 서비스 II : 공간과 서비스 연결(단방향)
- 12.1. VPC 네트워킹의 꽃, VPC 엔드포인트
- 12.1.1. VPC 엔드포인트 개요 : 트래픽 순간이동
- 12.1.2. AWS PrivateLink 기술과 엔드포인트 유형 분류
- 12.1.3. 서비스 범주별 엔드포인트 유형 매칭
- 12.1.4. 기본 DNS 이름과 프라이빗 DNS 이름
- 12.2. 게이트웨이 엔드포인트 : 퍼블릭 액세스
- 12.2.1. 엔드포인트 라우팅 = 접두사 목록 + 엔드포인트(GW)
- 12.2.2. 접두사 목록 접근 제어
- 12.2.3. 인터넷 vs. 엔드포인트 접속 비교 : 비용과 보안 측면
- 12.2.4. [실습] 게이트웨이 엔드포인트 생성 예제
- 12.3. AWS PrivateLink 엔드포인트 : 프라이빗 액세스
- 12.3.1. AWS PrivateLink 엔드포인트의 4가지 유형
- 12.3.2. [실습 1] 엔드포인트 서비스 생성 예제
- 12.3.3. [실습 2] 엔드포인트 생성 예제
- 12.3.4. 엔드포인트 ENI와 NLB 노드의 관계(feat. 교차 영역 로드밸런싱)
- 12.3.5. 리전 DNS 이름과 가용 영역 DNS 이름
- 12.3.6. 공급자 서비스 접근 제어
- 12.3.7. 엔드포인트 ENI 접근 제어 : 아웃바운드 프리패스
- 12.3.8. 엔드포인트 – 엔드포인트 서비스 – NLB의 관계
- 12.3.9. [실습 3] 타계정 엔드포인트 허용
- 12.3.10. 공급자와 소비자의 CIDR 일치
- 12.3.11. 엔드포인트 서비스 보호
- 12.3.12. 리전 외부 공간에서 엔드포인트 액세스