# AWS
Amazon Web Service
전 세계적으로 분포한 데이터 센터에서 200개가 넘는 완벽한 기능의 서비스를 제공하는,
세계적으로 가장 포괄적이며, 널리 채택되고 있는 클라우드 플랫폼이다.
## Regions
- AWS의 서비스가 제공되는 서버의 물리적 위치
- 각 리전에는 고유의 코드가 부여됨 (서울 리전은 ap-northeast-2)
- 리전 별로 가능한 서비스가 다르다 (us-east-1 리전이 가장 먼저 서비스 제공)
리전 선택 시 고려사항
- 지연 속도
- 법률 (데이터, 서비스 제공 관련)
- 사용 가능한 AWS 서비스
## Availability Zone
- 리전의 하부 단위 (하나의 리전은 반드시 2개 이상의 가용 영역으로 구성)
- 하나 이상의 데이터 센터로 구성
- 반드시 물리적으로 일정 거리 떨어져 있다. (재해에 대한 대비)
- 각 계정별로 AZ(Availaility Zone) 코드와 실제 위치는 다르다. (보안 및 한 AZ로 몰림 방지)
## Edge Location
- AWS의 CloudFront(CDN)등의 여러 서비스들을 가장 빠른 속도로 제공(캐싱) 하기 위한 거점
## AWS Global Service
- 데이터 및 서비스를 전 세계의 모든 인프라가 공유
- CloudFront
- IAM
- Route53
- WAF
## AWS Regions Service
- 특정 리전을 기반으로 데이터 및 서비스를 제공
- 대부분의 서비스
- S3 (S3의 경우 전 세계에서 동일하게 사용할 수 있으나 데이터 자체는 리전에 종속)
## ARN
Amazon Resource Name : AWS의 모든 리소스의 고유 아이디
## AMI
Amazon Machine Image : AWS의 소프트웨어 구성이 기재된 템플릿
운영체제만 설치된 컴퓨터를 대여할 수도 있고, 운영체제와 함께 특정 런타임이 설치된 컴퓨터를 대여할 수도 있다.
## IAM
Identity and Access Management : AWS 사용자와 그룹의 권한을 부여하고 관리할 수 있도록 해주는 서비스
즉, 인증과 접근 허가 기능을 구현한다.
- 인증 : 사용자가 누구인지에 관한 정보를 aws에 전달하는 과정
- 접근 허가 : aws 사용자가 어떤 기능을 사용할 수 있는가를 관리하고 허가하는 것
사용자는 루트 사용자(Root)와 일반 사용자(IAM 사용자)로 구분된다.
aws를 이용하여 인프라를 구축할 때는 루트 사용자보다는 일반 사용자를 생성하고 이용하는 것을 권장한다.
- 루트 사용자 : aws 계약 해지, 일반 사용자 관리 등
- 일반 사용자 : VPC 생성, EC2 생성 등 개발자 역할
사용자가 많아지는 경우, 개별적으로 접근 허가를 설정하는 것은 어려운 일이다.
그렇기에 사용자 그룹을 이용한 접근 허가도 가능하다.
## VPC
Virtual Private Cloud : AWS의 다양한 기능을 사용할 수 있는 가상의 네트워크
즉, 네트워크 장비에 해당하는 aws 리소스를 VPC 안에 추가하는 것이다.
VPC를 생성할 때는 네트워크 정보를 결정해야 한다.
- IPv4 CIDR 블록
- IPv6 CIDR 블록
- 테넌시(tenancy) : VPC 리소스의 전용 하드웨어에서의 실행 여부
[ IP 주소 범위 ]
VPC로 지정할 수 있는 서브넷 마스크는 최대 16비트(10.0.0.0/16) 이다.
10.0.0.0 ~ 10.0.255.255, 즉 65,536개의 IP 주소만을 이용할 수 있다.
[ IPv4 CIDR 설계 방법 ]
생성할 서브넷의 수, 서브넷 안에 생성할 리소스 수를 고려하여 블록 설정을 해야 한다.
## Subnet
역할 분리와 기기 분리를 목적으로 VPC의 IP 주소 범위를 나누는 단위
역할 분리
리소스가 담당하는 역할에 따라 분리한다.
예를 들어 로드 밸런서는 외부 공개가 목적이므로 외부에서 접근할 수 있어야 한다.
하지만, DB 서버는 VPC 내부 서버에서의 사용을 전제로 하므로 외부에 고액되어서는 안 된다.
기기 분리
내결함성(fault tolerance)을 높이기 위해 기기를 분리한다.
내결함성이란 하드웨어 고장 등 예측할 수 없는 사태가 발생했을 때 시스템 자체를 사요하지못하게 되는 것을 방지하는 능력이다.
예를 들어 한 서브넷에 장애가 발생하여 기기가 작동하지 않을 때, 다른 서브넷에 존재하는 기기는 동작이 가능하기에 분리한다.
## Internet Gateway
VPC에서 생성된 네트워크와 인터넷 사이의 통신을 가능하게 하는 리소스
인터넷 게이트웨이가 없으면 인터넷과 VPC 내부 리소스는 서로 통신할 수 없다.
## NAT Gateway
NAT를 구현하는 리소스
프라이빗 서브넷에 생성된 리소스는 인터넷으로 내보낼 수는 있지만 인터넷에서 접근할 수는 없어야 한다.
NAT 게이트웨이는 퍼블릭 서브넷에 위치한다.
NAT (Network Address Translation) : 네트워크 주소 변환 시스템
IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술.
사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해 일반적으로 사용한다.
IPv4의 주소 부족 문제를 해결하기 위해 고려되었으며, 주로 사설 네트워크 주소를 사용하는 망에서 외부의 공인망과의 통신을 위해서 네트워크 주소를 변환하는 것이다.
즉, 내부 망에서는 사설 IP 주소를 사용하여 통신하고, 외부망과의 통신은 NAT를 거쳐 공인 IP 주소로 자동 변환된다.
탄력적 IP (Elastic IP)
AWS에서는 리소스에 공개 IP를 직접 할당할 수 없다.
대신 NAT 게이트웨이 생성 시 공개 IP를 관리하는 탄력적 IP를 제공한다.
NAT 게이트웨이 삭제 시 자동으로 생성된 탄력적 IP도 삭제해야 한다.
그렇지 않으면 과금....!
## Routing Table
서브넷 사이의 통신 경로를 설정하는 기능
라우팅 테이블에는 '이 서버에 접속할 때는 이 곳을 경유한다'라는 규칙을 설정할 수 있다.
- 송신 대상지 : 접속 대상 위치 (IP 주소 지정 or CIDR 범위 지정)
- 타깃 : 경유지 정보 (Local, Internet GW, NAT GW, VPN GW, VPC 피어링)
퍼블릭 서브넷용 라우팅 테이블에는 Internet GW를 대상으로 적용하고,
프라이빗 서브넷용 라우팅 테이블은 NAT GW를 대상으로 적용하여 통신한다.
## Security Group
VPC 내부 리소스를 보호하기 위해 외부로부터 접근 제한을 수행하는 기능
포트 번호와 IP 주소를 이용하여 제어 한다.
- 포트 번호를 이용 : 제공하는 서비스의 종류를 지정한다.
- IP 주소를 이용 : 접속원을 지정한다.
추가로 네트워크 ACL 기능도 있다.
Security Group : 리소스(EC2, ELB, RDS 등)에 대해 설정 가능
네트워크 ACL(Access Control List) : 네트워크에 대한 설정, 즉 서브넷에 포함되는 리소스 모두에 적용
'Develope > AWS' 카테고리의 다른 글
[AWS] ACM & Route53으로 DNS 연동하기 (0) | 2022.11.10 |
---|---|
[AWS] EC2에 Apatch & Tomcat 설치 (0) | 2022.11.07 |
[AWS] CI/CD 구축 : EC2에 Jenkins 설치하기 (0) | 2022.11.04 |
[AWS] CI/CD 구축 : 사용자 및 역할 생성 (0) | 2022.11.04 |
[AWS] 클라우드 기본 개념 (0) | 2022.11.02 |