본문 바로가기
개발자 :-)/AWS

AWS 기초와 VPC

by 뚜생첨 2022. 10. 4.

1. 클라우드 컴퓨팅

장점 

 - 언제 어디서든 접근 가능

 - 원하면 언제든지 컴퓨터 자원을 늘릴 수 있음

 - 사용한 만큼만 지불하면 된다. (사용량 기반 과금)

 - 초기 비용이 적게 든다.

 - 몇 분 만에 전 세계에 서비스 런칭할 수 있다.

 

단점

 - 관리를 위해선 고급 전문 지식이 필요.

 - 파악하기 힘든 광범위한 서비스

 

2. AWS의 주요 서비스 소개

1) 컴퓨팅 서비스

AWS EC2 - 사양과 크기를 조절할 수 있는 컴퓨팅 서비스

AWS LightSail - 가상화 프라이빗 서버

AWS Auto Scaling - 서버의 특정 조건에 따라 서버를 추가/삭제할 수 있게하는 서비스

                                (사용자가 갑자기 증가하면 하나의 ec2 서버에 몰빵이 아니라 자동 트래픽 분산)

AWS Workspaces - 사내 pc를 가상화로 구성하여, 문서를 개인 pc에 보관하는 것이 아닌 서버에서 보관하게 하는 서비스

 

2) 네트워킹 서비스

AWS Route S3 - DNS 웹 서비스

AWS VPC - 가상 네트워크를 클라우드 내에 생성/구성

AWS Direct Connect - On premise 인프라와 aws를 연결하는 네트워킹 서비스

                                   (On premise : 현실상에서 활용하고 있는 소스)

AWS ELB - 부하 분산(로드 밸런싱) 서비스

 

3) 스토리지/데이터베이스 서비스

AWS S3 - 여러가지 파일을 형식에 구애 받지 않고 저장(.hwd, .word 파일 등)

AWS RDS - 가상 SQL 데이터베이스 서비스

AWS DynamoDB - 가상 NoSQL 데이터베이스 서비스(not only SQL)

AWS ElastiCache - In-memory 기반의 cache 서비스(빠른 속도를 필요로하는 서비스와 연계)

범위 : RDS < DynamoDB < S3

 

4) 데이터 분석 & AI

AWS Redshift - 데이터 분석에 특화된 스토리지 시스템

AWS EMR - 대량의 데이터를 효율적으로 가공&처리

AWS Sagemaker - 머신 러닝 & 데이터 분석을 위한 클라우드 환경 제공

 

3. 네트워킹의 기본

1) IP란?

컴퓨터 사이에 통신을 하려면 컴퓨터의 위치값을 알아야한다. 각 컴퓨터의 위치값(주소)를 IP 주소라고 한다.(IPv4)

 

C 클래스 : 1개의 네트워크가 2^8개의 IP를 가지고 있고, 네트워크는 2^21 개있음

네트워크 규모 : A > B > C

 

* 211.11.124.2는 어떤 네트워크 안에 포함되어있을까? (C 클래스) 

211.11.124.0 ~ 211.11.124.255 의 IP대역을 포함한 네트워크에 있다.

 

* Network 나누기 - CIDR (서브넷)

하나의 VPC 내에 있는 여러 IP 주소를 각각의 Subnet 으로 분리/분배하는 방법

서브넷 A와 서브넷 B 로 나눴을 때,

빨간색 박스안의 비트만 변하는 것을 확인할 수 있다.

서브넷 A의 CIDR 표기는 211.11.124.0/25 (서브넷의 첫번째 IP/맨 앞부터 변경되지않는 비트)

서브넷 B 는 211.11.124.128/25

(* 11010011.~~.0xxxxxxx 처럼 앞의 25개 비트가 변하지 않음.)

 

4. AWS 네트워킹의 동작원리

1) VPC란?

Amazon Virtual Private Cloud를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다.

이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사하다.

 

2) VPC 특징

- 계정 생성 시 default 로 VPC를 만들어줌

- EC2, RDS, S3 등의 서비스 활용 가능

- 서브넷 구성

- 보안설정(IP block, inbound outbound 설정)

- VPC Peering(VPC 간의 연결)

- IP 대역 지정 가능

- VPC는 하나의 Region에만 속할 수 있음(다른 Region으로 확장 불가능)

 * region : AWS 가 전세계적으로 서비스를 제공하기 위한 지역 분할

 

3) Components of VPC

internet Gateway : VPC 내부의 객체들과 인터넷이 통신할 수 있도록 하는 매개체

Route Table : 네트워킹을 하기위한 table

NACL : 보안 담당

 

* 구성요소

- Availablity Zone

- Subnet(CIDR)

- Internet Gateway

- Network Access Control List/security group (보안 담당)

- Route table

- NAT(Network Address Translation) instance/NAT gateway

- VPC endpoint

 

① Availablity Zone

Region

Region 안에는 AZ 가 n개 존재한다.

물리적으로 분리되어있는 인프라가 모여있는 데이터 센터.

AZ는 일정 거리 이상 떨어져있으며, 하나의 리전은 2개 이상의 AZ로 구성되어있다.

* 자연재해, 특수한 상황에 따라 데이터센터를 사용할 수 없을 때 대체할 수 있어야함

각 계정의 AZ는 다른 계정의 AZ와 다른 아이디를 부여받는다.

(사용자마다 다름)

서브넷은 하나의 AZ안에 존재해야한다. (왼쪽 그림은 안됨.)

단, 하나의 AZ 안에 여러 서브넷이 존재할 수 있다.

 

② Subnet

Private subnet : 인터넷에 접근이 불가능한 subnet

Public subnet : 인터넷에 접근이 가능한 subnet

CIDR 블록을 통해 subnet을 구분한다.

 

③ Internet Gateway (IGW)

인터넷으로 나가는 통로이며, Private subnet은 IGW와 연결되어있지 않다.

 

④ Route table

트래픽이 어디로 가야할지 알려주는 테이블

로컬 or 외부 인터넷? 어디로 갈지 알려줌

* VPC (10.0.0.0/16) 일때

private subnet은 route table에 10.0.0.0/16 : local 만 존재

public subnet은 route table에 10.0.0.0/16 : local

                                               , 0.0.0.0/0 : IGW-ID

 

⑤ Network Access Control List/security group (보안 담당)

NACL : stateless

SG : stateful

* 특정 ip대역이 내 vpc로 들어오려고 하는 것을 막고싶다? (=Access Block)

> NACL 에서만 가능

 

⑥ NAT(Network Address Translation) instance/NAT gateway

* 왜 NAT가 필요한지?

private subnet 에는 데이터베이스, 보안적으로 중요한 것들이 존재함.

근데 private subnet 을 활용하려면 ex) MySQL을 다운로드 받아야함. 서비스를 다운로드/업데이트해야할 때 인터넷과의 통신이 필요하다.

그럴때 우회해서 해결한다. (=NAT instance/gateway)

 

 

* 정리

VPC 내 private subnet 영역에 있는 EC2 서비스가 MySQL 서비스를 다운로드 받으려고 함.

다운로드 request 를 public subnet 으로 보내고, 

public subnet 영역에 있는 NAT gateway/instance 가 인터넷에 연결, 다운로드 받아서 EC2에 전달

NAT gateway = 우회에 특화된 서비스

NAT instance = EC2(public 서버 내에있는 ec2 인스턴스)

 

* Bastion host

internet에 있는 관리자가 private subnet 에 있는 서비스를 접근하고 싶다면?

public subnet 내에 존재하고,

관리자가 public subnet 안의 Bastion host(EC2) 에 접근 -> private subnet의 EC2 에 접근

 

⑦ VPC endpoint

AWS 의 여러 서비스들과 VPC 를 연결시켜주는 중간 매개체

 - AWS 에서 VPC 바깥으로 트래픽이 나가지 않고 여러 서비스를 사용하게 끔 해줌

 - Private subnet 처럼 격리된 공간이어도  aws의 다양한 서비스를 활용/연결할 수 있게 지원

 

interface Endpoint : Private IP 를 만들어 서비스로 연결

gateway Endpoint : 라우팅 테이블에서 경로의 대상으로 지정해서 사용

 

* AWS 에서 정의

VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 AWS Private Link 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있다. 

VPC 인스턴스는 서비스의 리소스와 통신하는데 퍼블릭 IP 주소가 필요없음.

VPC와 기타 서비스 간의 트래픽은 Amazon 네트워크를 벗어나지 않는다.

 

 

728x90
반응형

댓글