Chapter5. 네트워크 및 콘텐츠 전송 서비스 (1)

강민지·2023년 12월 7일
0

AWS

목록 보기
5/6

  AWS구조와 서비스 책을 읽고 정리해본 내용이다. 5장에서는 VPC와 관련된 네트워크 서비스에 대해 설명하고 있다. 내용이 많아 2개의 Part로 나눠 정리하겠다.

🖥️ 네트워크 중요용어 익히기

📖IP주소(Address)는 네트워크의 번지(주소)

IP주소 :웹 서버에 접근하기 위해 웹서버가 그곳에 있다는 특정 정보
-> 웹 서버뿐만 아니라 pc, 스마트폰 등 네트워크가 연결된 모든 장치에는 IP주소가 할당된다.   일반적으로 IPv4가 표준으로 사용된다. (IPv6도 존재.)

📖퍼블릭 IP 주소와 프라이빗 IP주소

IP주소는 두 가지로 구분된다.

퍼블릭 IP주소 : 한국 또는 전 세계에서 '이 주소는 인터넷에서 이곳'이라고 특정할 수 있는 주소.
프라이빗 IP주소 : 닫힌 네트워크내에서만 식별할 수 있는 IP주소. (사설 IP라고도 함)
-> 프라이빗 IP주소로 사용 할 수 있는 범위는 다음과 같다

10.0.0.0 ~ 10.255.255.255(10.0.0/8)
172.16.0.0 ~ 172.31.255.255(172.13.0.0/12)
192.168.0.0 ~ 192.168.255.255(192.168.0.0/16)

위의 주소를 제외한 나머지 주소는 퍼블릭 IP주소이다.

📖CIDR 블록으로 IP 주소 범위 결정

CIDR 블록 : IP주소를 이용해 네트워크 범위를 정의하는 것

IP 주소를 나타내는 숫자열을 크게 네트워크부분과 호스트부분으로 나뉜다.

172 . 31 . 0 . 0 / 16

10101100 . 00011111 . 00000000 . 00000000                    
  • Amazon VPC 기본 VPC의 CIDR블록이다.
  • 서브넷 마스크는 2진수로 표기 한다.
  • /16 부분은 '서브넷 마스크'를 나타낸다. (10진수로 표기)
  • 앞의 두 숫자는 네트워크 부분이다.
  • 3번째로 오는 숫자는 호스트에 해당한다. 여기서는 0이 호스트이다.

172.31.0.0(호스트 부분이 모두 0인 주소)은 네트워크 주소, 172.31.255.255(호스트 부분이 모두 1인 주소)는 브로드캐스트 주소 라는 특별한 주소로, 할당이 불가능한 주소이다.
모든 네트워크에는 네트워크 주소와 브로드 캐스트 주소가 있으므로 할당 할 수 있는 주소 수는 '네트워크 총 주소 수 - 2'개다.

📖방화벽에서 허용된 통신만 통과

방화벽 : 보안 위협으로부터 시스템을 지키기 위해 사용하는 것.
-> AWS에서는 보안 그룹이나 네트워크 ACL같은 방화벽 기능을 가진 서비스가 있다.

📖부하 분산을 위해 여러 서버에 접속을 분배

  시스템을 사용하는 사용자가 많아질수록 서버의 부담이 커지기 때문에 부하분산을 고려해야 한다.
 서버가 느려지거나 멈추는 상황을 막기 위해 서버를 여러 대 구성하여 각 서버가 처리를 나워서 할 수 있게 구축을 해야하는데 부하를 분산시키기 위해 일반적으로 로드 밸런서(Load Balancer)라는 장치를 사용한다.

웹 서버를 이중화하여 '로드밸런서'를 이용하면 서버 한대가 정지된 경우에도 다른 서버가 계속 실행되므로 시스템 전체적으로는 문제없이 서비스를 제공 할 수있다.

📖라우팅 및 라우팅 테이블

라우팅 : 라우터가 IP주소까지 경로는 결정하는 것
라우팅 테이블 : 경로의 정보 (AWS의 Amazon VPC의 라우팅 테이블 기능이 존재한다.)



🖥️Amazon VPC로 가상 네트워크 만들기

📖가상 네트워크 Amazon VPC

Amazon Virtual Private Cloud (VPC) : AWS에서 생성할 수 있는 프라이빗 가상 네트워크 공간이다. 이 네트워크에 EC2와 같은 AWS자원을 배치해 이용한다.

  • VPC를 만들 때 CIDR블록(IP주소 범위)을 지정하고 지정한 CIDR블록 네트워크를     확보한다.
  • VPC는 일반적으로 프라이빗 IP주소를 사용한다.
  • 접속할 네트워크와 VPC의 CIDR블록이 중복되지 않게 주의한다.
  • 호스트의 주소는 여유를 갖도록 가능한 한 많이 확보해 두는 것이 좋다.

📖VPC 및 서브넷 생성

VPC는 관리콘솔을 통해 생성할 수 있는데 화면에서 4가지 항목을 설정해야 한다.

  • VPC이름(Name 태그)
  • CIDR 블록
  • IPv6 설정
  • 테넌시(전용 하드웨어 사용 여부) : 라이선스 및 보안 요구 사항으로 하드웨어를 독점하려는 경우에만 독점 옵션을 지정한다.

✏️ VPC만으로는 EC2와 같은 자원을 네트워크에 만들 수 없기 때문에 VPC안에 더 작은 네트워크 단위인 서브넷을 만들어야 한다.

" 서브넷은 하나의 AZ에 속해야 한다. "
   - 여러 AZ에 자원을 배치해 가용성을 높이려면 서브넷도 여러 개 만들어야 한다.



🖥️Amazon VPC의 주용 기능 사용법

📖라우팅 정보를 설정해 인터넷과 통신

라우팅 테이블 : 네트워크의 경로 정보.

  • VPC를 만들 때 기본적으로 하나의 라우팅 테이블이 만들어 진다.
    - 기본 상태에서는 VPC내의 라우팅 정보만 있으므로 VPC외부로의 통신 X
    • 외부와 통신하려는 경우에는 외부 라우팅정보를 추가 해야한다.

인터넷 게이트웨이 : 서브넷 안에 있는 EC2와 같은 자원이 인터넷과 통신 할 수 있게 하기 위한 기능. 인터넷 게이트웨이를 생성하고 서브넷의 라우팅 테이블에 설정하면 인터넷과 VPC가 서로 통신할 수 있게된다.

  • 퍼블릭 서브넷 : 인터넷 게이트웨이로 가는 경로가 설정된 서브넷
  • 프라이빗 서브넷 : 인터넷 게이트웨이를 통해 인터넷과 통신할 수 없는 서브넷

📖NAT 게이트웨이

NAT 게이트웨이 : 프라이빗 서브넷에 있는 EC2와 같은 자원은 일반적으로 인터넷과 통신할 수 없는데 인터넷과 통신을 해야하는 경우 사용하는 것이다.

  • 인터넷 게이트웨이와 달리 인터넷에서 VPC로 통신할 수 없는 단방향 통신이므로 AWS 외부와 더 안전하게 통신할 수 있다.
  • 외부 통신을 수행하는 서브넷의 라우팅 테이블에 경로 정보(라우팅 정보)를 등록해야한다.
  • VPC내에 퍼블릭 서브넷이 존재해야만 NAT게이트웨이를 사용할 수 있다.

📖VPC 접근 제어 및 통신 로그 확인

VPC에는 서브넷 단위로 접근 제어를 설정할 수 있는 네트워크 접근 제어 목록(네트워크 ACL)이라는 기능이 있다. 이 기능은 보안그룹과 조합해 접근 제어 설정이 가능한데 보안그룹과의 차이는 다음과 같다.

네트워크 ACL보안그룹
설정단위서브넷 단위로 설정인스턴스(자원) 단위로 설정
허용/거부 설정허용 및 거부 설정 가능허용만 설정 가능
(허용하지 않은 모든 것은 거부)
상태 저장 여부상태 비저장(stateless),
단일 패킷만 확인하므로 정보를 저장하지 않음
상태저장(stateful),
패킷과 관련된 세션까지 확인하므로 정보를 저장
규칙 우선 순위등록된 규칙의 번호순로 트래픽 허용 및 거부등록된 모든 규칙을 평가해 트래픽 허용
  • 기본 설정 상태에서 네트워크 ACL은 모든 통신을 허용함.
  • 서브넷 전체에서 네트워크 접근을 설정하려는 경우 보안 그룹에서 추가 설정을 할 수 있다.
  • 네트워크 ACL이나 보안 그룹에서 허용되거나 거부된 통신 상황은 VPC흐름 로그라고 하는 VPC 내의 IP트래픽 상황을 로그로 저장할 수 있는 기능을 사용해 확인할 수 있다.



🖥️VPC에서 VPC, 외부 서비스, 온프레미스와의 연결

📖VPC와 외부 네트워크 연결

VPC피어링 : 서로 다른 두 개의 VPC를 연결해 통신 할 수 있다. 피어링은 두 개의 VPC간에 수행되기 때문에 세 개의 VPC가 서로 통신하는 경우 각 VPC끼리 따로 피어링을 구성해야한다.

AWS Transit Gateway : VPC 연결을 하나의 중앙 허브에서 관리할 수 있다. VPN과 같이 온프레미스 환경과의 연결에도 사용할 수 있으므로 AWS네트워크 연결을 중앙에서 관리 할 수 있다. (많은 VPC를 사용해야한다면 사용하는 것이 좋다.)

📖VPC와 VPC 외 AWS서비스를 연결

VPC 엔드포인트 : 프라이빗 네트워크로 통신하게 할 수있는 기능. VPC엔드포인트를 설정한 VPC는 VPC엔드포인트를 통해 S3과 같은 다른 AWS서비스에 직접 접근 할 수 있다.
게이트웨이 엔드포인트 : S3나 DynamoDB에서 사용하는 VPC 엔드포인트를 말하며 AWS서비스와의 통신은 퍼블릭 IP를 이용한다.
인터페이스 엔드포인트 : AWS PrivateLink라는 기능 사용해 서브넷에 서비스 접속용 ENI(네트워크 인터페이스)를 생성해 프라이빗 IP로 통신한다.

📖VPC와 온프레미스 네트워크 연결

AWS Site-to-Site VPN : 온프레미스 환경의 네트워크와 VPC를 VPN으로 연결하는 기능이다. VPN에 접속하면 외부 네트워크와 프라이빗 IP 주소로 통신할 수 있다.

AWS Client VPN : 온프레미스 환경의 단말(PC)와 VPN을 연결하는 기능. 온프레미스 환경 전체가 아니라 특정 단말과 비공개로 연결하고 싶은 경우

AWS Direct Connect : 전용선으로 연결하는 기능



🖥️ 다른 AWS 서비스와 결합된 구성 예

📖VPC 구성 예

  • AWS서비스는 실행 위치에 따라 세가지 유형으로 나뉜다.
  1. 글로벌 서비스 : 특정 리전에 의존하지 않고 실행되는 서비스
  2. 리전 서비스 : 리전 내 VPC외부에서 실행되는 서비스
  3. AZ 서비스 : VPC내에서 실행되는 서비스

0개의 댓글