Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[핸즈온 AWS] Chapter 3. AWS 네트워킹 서비스 본문

KHUDA 6th/Study

[핸즈온 AWS] Chapter 3. AWS 네트워킹 서비스

시데브 2024. 7. 31. 12:52

3.1. Networking이란

3.1.1. Networking 정의

  • networking: '서로 연결한다'는 뜻으로, 서로 간에 communication을 하는 환경을 의미
  • IT에서의 networking: IT 자원 간 연결하여 통신하는 환경

 

3.1.2. Networking 요소

  • 네트워킹 통신 구조를 나타내는 대표적인 모델 - OSI 7계층 모델
  1. 1계층 - physical layer: 물리적으로 연결된 매체가 서로 데이터를 송수신할 수 있게 유지, 연결하는 역할
  2. 2계층 - datalink layer: 물리 계층에서 송수신되는 정보의 오류와 흐름 제어
  3. 3계층 - network layer: 데이터를 목적지까지 전달하는 계층, 최적의 통신 경로 탐색
  4. 4계층 - transport layer: 종단의 대상 간에 데이터 전송을 다루는 계층, 데이터 전송의 유효성과 효율성 보장
  5. 5계층 - session layer: 종단의 대상 간 응용 프로세스 통신을 관리하는 방법, 데이터 통신을 위한 논리적인 연결 담당
  6. 6계층 - presentation layer: 데이터 형식에 차이가 있을 때 데이터를 서로 이해할 수 있는 형태로 변환하는 역할
  7. 7계층 - application layer: 응용 프로세스와 직접 연계하여 실제 응용 프로그램을 서비스하는 역할

 

IP address

  • IP(Internet Protocol) address: 인터넷 상에서 IT 자원을 식별하는 고유한 주소
  • IPv4, IPv6가 존재
  • IPv4는 10진수 혹은 2진수 네 자리로 표현 -> 192.168.100.1 or 11000000.10101000.01100100.00000001

 

Public & Private IP Address

  • public IP Address: 실제 인터넷에서 사용 -> ISP(Internet Service Provider)에서 제공하는 유일한 공인 IP 주소
  • private IP Address: 인터넷이 아닌 독립적 네트워크 내부에서만 사용 -> 사설 IP wnth

 

Static & Dynamic IP Address

  • IP 주소는 할당하는 방식에 따라 static, dynamic IP address로 분류됨
  • Static IP Address: 네트워크 관리자가 수동으로 할당하는 방식
  • Dynamic IP Address: 특정 서버가 IP 주소 범위에 따라 동적으로 할당하는 방식
  • DHCP(Dynamic Host Configuration Protocol): 주소를 제공하는 server, 주소를 할당받는 client로 구성, IP 주소를 임대(lease)하는 형태를 취함 - DHCP DORA(Discover, Offer, Request, Ack) 사용

 

Subnet & Subnet Mask

  • 모든 네트워크는 주체와 목적에 따라 부분 네트워크로 나뉨 -> 여기서 부분 네트워크가 subnet
  • subnet을 식별하기 위해 필요한 것이 subnet mask
  • subnet mask는 network IDhost ID로 구성
  • network ID: 서브넷을 구분하는 기준 값 (1로 구성)
  • host ID: 동일 서브넷 내에서 대상을 구분하는 기준 값 (0으로 구성)
  • 10.0.0.0/8 -> IP CIDR(Classless Inter Domain Routing) 표기법

 

Routing & Router

  • routing: 네트워킹 통신을 수행할 때, 목적지 경로를 선택하는 작업
  • router: routing을 수행하는 장비 - routing table(서브넷 경로 리스트)를 이용해 최적 경로 선택

 

TCP & UDP

  • OSI 7계층의 transport layer에서 사용하는 대표적인 protocol - TCP(Transmission Control Protocol) & UDP(User Diagram Protocol)
  • TCP: 송수신 대상 간 연결을 맺고 데이터 전송 여부를 하나씩 확인하며 전송하는 연결형 프로토콜 - 신뢰성 up, 전송 속도 down
  • UDP: 송수신 대상 간 연결 없이 전달하는 비연결형 프로토콜 - 연결/제어 작업 X -> 신뢰성 보장 X, 데이터 전송 속도 up

 

Port Number

  • port: 네트워크 서비스나 특정 프로세스를 구분하는 단위이며, port number에 의해서 구분된다. -> port number에 의해서 전송 계층 프로토콜이 결정된다.
  • IANA(Internet Assigned Numbers Authority)라는 인터넷 할당 번호 관리 기관에서 정의

 

3.2. AWS Networking

3.2.1. AWS Region Networking Design

  • Region: 전 세계 주요 도시의 데이터 센터를 군집화(clustering)하는 물리적 위치
  • AWS region 내부에는 transit center와 availability zone(가용 영역)이 서로 연결되어 네트워크 환경을 이룸
  • 어떤 대상과 연결되었는지에 따라 분류됨
availability zone: 1개 이상의 물리 데이터 센터를 개념적으로 하나의 데이터 센터로 묶은 논리적 데이터 센터
region: 2개 이상의 availability zone이 구성된 지리적 영역

출처: https://zigispace.net/1116

 

 

Intra-AZ 연결

  • 데이터 센터 간 고밀도 광섬유 케이블을 사용하여 100GE 또는 400GE(Gigabit Ethernet)로 상호 연결되어 네트워킹을 구성

 

Inter-AZ 연결

  • region 내부에 위치하는 가용 영역은 실제 100km 이내로 떨어짐 -> 정전이나 자연재해 같은 문제에 가용성 유지하기 위해
  • 지리적으로 떨어진 가용 영역끼리 연결된 네트워킹 환경 -> Inter-AZ 연결

 

Transit Center 연결

  • Region에서 외부 인터넷 구간과 통신이 필요할 때 -> transit center를 통해 통신
  • 내부의 가용 영역들은 외부 인터넷 통신을 위해 transit center와 연결되어 네트워킹 환경 구성 -> Transit Center 연결

 

 

3.2.2. AWS Global Network & Edge POP

  • Edge POP(Point Of Presence): AWS Global Network라는 전용망을 활용하여 안정적으로 고성능 서비스를 제공하는 센터
  • Edge Location과 Regional Edge Cache로 구성
  • AWS Global Network는 300개 이상의 edge location과 13개의 regional edge cache로 구성됨
  • 대표적으로 Amazon CloudFront, Amazon Route 553, AWS Shield, AWS Global Accelerator 등
Edge Location: "임시" 데이터 저장 센터, 여러 지역에 복사본 전달 -> 그 지역들이 edge location, 사용자가 많은 지역
Regional Edge Cache: edge location에 컨텐츠가 없는 경우 regional edge cache에서 검색 시도, 사용자가 별로 없는 지역

출처: https://suucong.tistory.com/37

 

  1. 일반적인 서비스: transit center에서 internet 구간으로 통신
  2. Edge POP을 활용한 서비스: transit center에서 AWS backbone network를 통해 edge POP을 경유하고 AWS Global Network로 통신

 

3.2.3. AWS Networking Service

  • AWS Networking Service: AWS의 다양한 자원이 서로 원할하게 통신할 수 있도록 도와주는 서비스
  • VPC: 사용자 전용 Virtual Private Cloud Network -> 네트워크 자원을 탄력적으로 활용하는 서비스 제공
  • Transit Gateway: 중앙 허브 개념처럼 VPC와 On-premises network를 연결하는 게이트웨이 역할의 서비스 제공
  • Route 53: AWS에서 제공하는 관리형 DNS 서비스 -> 도메인 등록, 라우팅, 상태 확인 등 서비스 제공
  • Global Accelerator: AWS Global Network를 통해 application을 빠르고 안정적으로 사용할 수 있도록 가용성 및 성능을 보장하는 서비스 제공
  • Direct Connet: On-premises 환경에서 AWS와 전용 네트워크 연결 서비스를 제공
  • Site-to-Site VPN: IPsec VPN 연결을 생성하여 암호화된 네트워크를 구성하는 서비스 제공

 

3.3. Amazon VPC 소개

3.3.1. Amazon VPC 기본 구성 요소

Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 정의한 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.

출처: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

Region과 VPC

  • Amazon VPC는 Region마다 독립적으로 구성됨 -> 서울 region에 VPC를 생성했다면, 생성한 VPC는 서울 region에만 있으며, 다른 region에는 없음
  • region 내에 다수의 VPC 생성 가능, 각 VPC는 서로 독립적으로 분리됨

 

Subnet과 Availability Zone

  • VPC라는 하나의 독립된 클라우드 네트워크 -> subnet을 이용하여 분리된 network로 구성 가능
  • subnet은 하나의 가용 영역에 위치
  • public subnet: 인터넷 구간과 연결 O -> 외부 인터넷 통신이 가능한 네트워크 영역
  • private subnet: 인터넷 구간과 연결 X

 

IP CIDR

  • Amazon VPC 내부에 생성된 subnet도 분할된 IP CIDR 소유 -> 서브넷에 생성되는 자원은 IP CIDR 범위 안에 있는 IP 주소를 할당받음

 

Virtual Router & Routing Table

  • Amazon VPC를 생성하면 기본적으로 Virtual Router가 생성됨 
  • Virtual Router는 기본 routing table을 보유 -> 기본 routing table 외에 별도의 routing table 생성 가능
  • 생성된 routing table은 subnet과 연결 -> subnet마다 routing table을 가질 수도 있음
  • Routing Table은 목적지 대상의 IP CIDR 블록타깃 대상으로 구성

 

-> 서브넷마다 라우팅 테이블 A, B를 두어 별도로 관리 

-> NAT(Network Address Translation)

 

Secutiry Group & Network ACL

  • Amazon VPC는 security group과 network ACL 같은 가상의 방화벽 기능을 제공 -> subnet과 생성된 자원에 대한 트래픽을 보호
  • IP CIDR 블록, Protocol, Port Number 등을 정의하여 allow와 deny를 결정하는 보안 규칙을 만듦 -> 가상의 방화벽을 기준으로 inbound & outbound 규칙 결정

트래픽 접근 제어 대상

  • security group - instance와 같은 자원 접근을 제어
  • network ACL - subnet 접근을 제어

Stateful & Stateless

  • security group - stateful 접근 통제 -> 이전 상태 정보를 기억하고 다음에 그 상태를 활용
  • network ACL - stateless 접근 통제 -> 이전 상태 정보 기억 X, 다음에 그 상태 활용 X

허용 및 거부 정책

  • security group - 정책 테이블이 허용 규칙만 나열 -> 허용 규칙에 해당하지 않으면 자동 거부
  • network ACL - 허용/거부 규칙 모두 존재 -> 규칙을 순차적으로 확인하고, 허용과 거부 판단

 

3.3.2. Amazon VPC와 다른 네트워크 연결

Internet Gateway

  • Amazon VPC는 외부 인터넷과 연결되지 않은 독립적인 네트워크 -> 외부 인터넷 구간과 연결이 필요하면 Internet Gateway 필요 
  • Internet Gateway: VPC와 인터넷 구간의 논리적인 연결이자 인터넷으로 나가는 네트워킹 자원
  • subnet의 routing table에서 외부 인터넷으로 나가는 target 대상을 internet gateway로 지정 -> public subnet 환경

 

NAT Gateway

  • NAT(Network Address Translation) Gateway: private subnet에서 외부 인터넷으로 통신하는 관문 역할 
  • private IP Address를 public IP Address로 변환

 

VPC Peering

  • VPC peering: 서로 다른 VPC를 연결하는 기능 -> 동일 region, 다른 region에 위치한 VPC, 다른 계정에 위치한 VPC까지 연결 가능
  • IP CIDR 블록이 중복되는 경우 -> 연결이 불가능 -> VPC peering으로 cloud network 확장할 때는 IP 주소 대역을 점검

 

Transit Gateway

  • Transit gateway: 다수의 VPC나 On-premises를 단일 지점으로 연결하는 중앙 집중형 라우터
  • 단일 지점 연결 -> 네트워크 구성 간소화, 비용 절감의 효과

 

 

Virtual Private Gateway

  • Virtual private gateway: 관리형 AWS Site-to-Site VPN을 연결하거나, AWS Direct Connect로 On-premises 환경을 연결

 

3.3.3. Amazon VPC 요금

  • Amazon VPC는 기본적으로 요금 발생 X, 기능 중 일부는 요금 발생
  • NAT Gateway는 최초 provisioning 이후 시간에 따른 요금 부과, 기가바이트 단위로 데이터 처리 요금도 부과

 

3.4. Amazon VPC로 Public 및 Private Subnet 구성

실습 목표: Amazon VPC를 생성하여 public subnet 환경과 private subnet 환경 구성 후 통신을 확인

 

 

3.4.1. 사용자 VPC 생성

-> IP 대역 10.3.0.0/16에 대한 라우팅 테이블의 target 대상 - local -> routing table이 존재 -> virtual router가 존재

 

-> default network ACL은 모든 트래픽 유형과 모든 IP 범위(0.0.0.0/0)을 허용

 

3.4.2. Public Subnet 생성

 


참고자료

  • AWS 교과서, 김원일 외 2명, 길벗, 2023.10.20