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 네트워크를 벗어나지 않는다.
'개발자 :-) > AWS' 카테고리의 다른 글
(VPC) Internet Gateway와 라우팅 테이블생성 (1) | 2022.10.07 |
---|---|
VPC와 Private, Public Subnet 만들기 (1) | 2022.10.07 |
DevOps 소개 (0) | 2022.10.04 |
[AWS] DevOps Engineer Professional (4) - CodeCommit (0) | 2022.08.23 |
[AWS] DevOps Engineer Professional (3) - CodeCommit (0) | 2022.08.18 |
댓글