기초 개념
On-premise : 온프레미스란 기업의 서버를 클라우드 같은 원격 환경이 아닌 , 자체적으로 보유한 전산실 서버에 직접 설치하여 운영하는 방식을 의미합니다.
Cloud : 클라우드란 데이터를 인터넷과 연결된 중앙 컴퓨터에 저장해서 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수 있는 것을 의미합니다.
AZ, ablility zone ,가용영역 : 온프레미스에서의 IDC와 유사하다고 생각하면 된다.
AWS는 디폴트 네트워크(vpc)를 제공한다. : public subnet 4개를 제공한다. subnet은 AZ단위로 할당한다.
Public Subnet은 인터넷 사용이 가능하다.
Subnet의 분류 : Public, private, DB Subnet
Private subnet : 사설 ip를 가진 서버가 구축된다. 기본적으로 외부와 연결이 안 됨, public의 NATGW를 통해 외부와 통신한다. 혹은 ELB를 통해 서비스가 가능하다. , public 서버를 통해 로그인이 가능하다.
NATGW : NAT(네트워크 주소 변환) 서비스입니다. 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작할 수 없도록 NAT 게이트웨이를 사용할 수 있습니다.
ELB : 로드 밸런서(Load Balancer)는 부하(load)를 적절하게 분배해주는 장치입니다. AWS에서는 ELB(Elastic Load Balancer)라는 이름으로 로드 밸런서를 제공합니다. 이 시스템은 자동으로 로드 밸런싱을 제공하며 시스템이 서버가 죽지 않도록 알아서 관리해 줍니다.
DB 서버 종류 : Amazon Aurora , MySql, MariaDB, PostgreSql, Oracle, Microsoft SQL Server
ACM을 사용 무료 SSL 인증서 발급이 가능하다. : 자동 갱신 이점이 있다.
ACM : AWS Certificate Manager(ACM)은 AWS 웹 사이트와 애플리케이션을 보호하는 퍼블릭 및 프라이빗 SSL/TLS X.509 인증서와 키를 만들고, 저장하고, 갱신하는 복잡성을 처리합니다. ACM에서 직접 발행하거나 서드 파티 인증서를 ACM 관리 시스템으로 가져오는 방법으로 통합 AWS 서비스에 대한 인증서를 제공할 수 있습니다. ACM 인증서는 단일 도메인 이름, 여러 특정 도메인 이름, 와일드카드 도메인 또는 이러한 도메인의 조합을 보호할 수 있습니다. ACM 와일드카드 인증서는 원하는 만큼의 하위 도메인을 보호할 수 있습니다. 내부 PKI의 모든 위치에서 사용할 수 있도록 ACM Private CA로 서명한 ACM 인증서를 내보낼 수도 있습니다.
S3 : 네트워크 외부에 존재한다. 외부에서 스토리지를 접속할 수 있다.
공인 IP (Public IP) vs 사설 IP (Private IP)
할당 주체 | ISP(인터넷 서비스 공급자) | 라우터(공유기) |
할당 대상 | 개인 또는 회사의 서버(라우터) | 개인 또는 회사의 기기 |
고유성 | 인터넷 상에서 유일한 주소 | 하나의 네트워크 안에서 유일 |
공개 여부 | 내/외부 접근 가능. | 외부 접근 불가능 |
사설 IP 주소는 다음 3가지 주소 대역으로 고정된다.
- Class A : 10.0.0.0 ~ 10.255.255.255
- Class B : 172.16.0.0 ~ 172.31.255.255
- Class C : 192.168.0.0 ~ 192.168.255.255
NAT : 네트워크 주소 변환 IPV4는 2**32의 주소 표현 가능 50억 정도 하지만 지금 인터넷에 연결되는 기기가 너무 많아졌기 때문에 주소 부족이 발생하고 있다. 그래서 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 아이피를 사용한다. NAT은 이를 해결하는 것에 기여하며 비공인 네트워크 주소를 사용하는 망에서 외부의 공인 망과의 통신을 위해 네트워크 주소를 변환하는 것을 말한다.
로드 밸런싱 : 라운드 로빈 균일하게 돌아가면서 서버 자원 소비, Hash 특정 클라이언트는 특정 서버로만 , Least Connetion 세션이 적은 쪽으로 트래픽 전달.
CDN : 넷플릭스처럼 사용자가 많은 서비스의 콘텐츠 저장소가 한 곳이라면... 생각만 해도 끔찍하다. 데이터를 가지고 있는 서버를 여러 군대 만들고 해당 콘텐츠를 원하는 고객에게 적합한 저장소를 연결시켜준다.
GSLB : Global Server Load Balancing의 약어로 이용 목적은 이름과 달리 일반적인 로드밸런싱과는 다소 차이가 있습니다. GSLB는 전통적인 DNS와 같이 동작하며 추가적으로 health check와 active/backup을 지정 가능하게 하여 재해 복구(DR), 지역적인 부하분산, 응답 시간 중심의 서비스를 제공 가능하게 할 수 있습니다.
온프레미스 네트워크 전략 : 앞단 L4에 public ip를 부여하고 뒷단은 private ip를 사용한다. subnetting을 통해 네트워크를 나누어 사용한다.
프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다.
Aws 네트워크 구축 시 필요한 4가지 : VPC, SUBNET, Routing table, gateway
vpn : 덩치 큰 집단의 여러 곳에 퍼져있는 컴퓨터를 잇는 사설 네트워크를 만들 때, 일일이 전선으로 연결하기는 돈이 많이 들고 물리적으로 보안에 취약하다. 그래서 그 대신 인터넷 네트워크와 암호화 기술을 이용하여 통신 시스템을 구축하는 것을 말한다. 가상의 사설망입니다 만약 네트워크를 물리적으로 직접 연결을 다 해둔다면 비용도 비용이고 추후 네트워킹을 변경할 일이 발생하였을 때 할 일이 어마 무시할 것입니다. 이를 위해 가상망 vpn을 사용합니다. 공공기관이나 사기업 등 단체에서 내부인들만 쓸 수 있는 특수목적의 인트라넷을 구축할 때는 보통 해당되는 컴퓨터만 전용선으로 연결해서 제삼자가 함부로 접근하지 못하는 서버를 쓴다. 그러나 회선이 없는 지역에서는 망 자체에 접근이 불가능해진다. 또한 전국, 해외 단위로 회사가 커지면 커질수록 전용선 구축 비용이 천문학적으로 늘어난다. 따라서 확장성이 뛰어난 인터넷을 인트라넷처럼 사용할 수 있도록 하는 기술이 개발되었다. 그게 바로 가상 사설망, 즉 VPN이다.
vpc : Virtual Private Cloud 사용자가 정의하는 IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 VPC라고 합니다.
Amazon Virtual Private Cloud (VPC)는 AWS 클라우드에서 다른 고객과 완벽하게 논리적으로 격리된 네트워크 공간을 제공하여 프로비저닝 하여 가상 네트워크에서 AWS 리소스를 만드는 데 사용하는 리소스입니다.
Elastic IP : 인스턴스에 공인 IP를 할당한다. IP는 유지된다.
DHCP : 네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미하고, 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜입니다. PC의 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능하고, IP를 자동으로 할당해주기 때문에 IP 충돌을 막을 수 있습니다.
VPC
- private cloud를 만드는데 기본이 되는 리소스
- 논리적인 독립 네트워크
- 이름과 IPv4 CIDR 블록이 필수
- 지정된 CIDR 내에서 적절한 IP를 할당받게 됩니다.
- VPC의 최대 크기는 16
- 2^(32-16)=65536개의 IP를 사용 가능
- 한번 지정된 CIDR은 변경 불가능
- 추가는 가능
- 같은 CIDR로 여러 개의 VPC 사용 가능
- 다만 너무 많은 VPC 가 겹칠 경우 IP가 겹쳐서 문제가 발생할 수 있음
- 내부의 CIDR 규칙과 외부의 IP 연결은 사용이 불가
- ex. 52.12.0.0/16의 VPC에서 외부 IP 52.12.0.0/16를 사용 불가
- 기본 VPC의 CIDR 블록은 172.31.0.0/16
- vpc 서브넷도 VPC 리소스 중 하나입니다. 서브넷은 VPC에 속해있는 리소스이며, 하나의 인스턴스는 반드시 하나의 서브넷에 속해야합니다. 단, 기본값을 사용한다면 기본 VPC에서 인스턴스가 생성될 것입니다.
Subnet
- Subnet은 물리적인 공간인 AZ과 연결 (1:1)
- VPC는 논리적 범위, Subnet 은 물리적으로 리소스가 생성될 수 있는 네트워크
- 서브넷의 최대 크기는 VPC의 크기와 같음
- 하나의 VPC는 N개의 서브넷을 가질 수 있음
- 서브넷을 만들지 않을 수도 있지만, 이 경우 VPC로 아무것도 할 수 없음
- 서브넷의 넷마스크 범위는 16(65535개)에서 28(16개)을 사용할 수 있으며, VPC CIDR 블록 범위에 속하는 CIDR 블록을 지정할 수 있음.
- 리전에 따라서 사용 가능한 가용 존의 개수는 다름
Route Table
- 서브넷에서 네트워크를 이용할 때는 이 라우트 테이블을 사용해서 목적지를 찾게 됩니다
- VPC생성 시 VPC에 연결 (Subnet과 연결 X)
- 라우트 테이블은 VPC에 속한 다수의 서브넷에서 사용할 수 있습니다.
- 기본 Route Table 은 VPC의 CIDR 블록을 목적지로 하는 경우 타깃이 local인 규칙만 정의되어 있습니다.
- ex. VPC의 CIDR 블록이 172.31.0.0/16일 때 이 네트워크 안에서 목적지가 172.31.0.0/16 범위에 있는 리소스를 찾는다면 VPC 내부에서 찾습니다
- 이 규칙은 삭제할 수 없습니다
- 인터넷을 연결하거나 다른 VPC와 통신하기 위해서는 라우트 테이블에 라우트 규칙을 추가적으로 정의해야만 합니다
Internet GateWay
- VPC에서 생성된 리소스들은 기본적으로 인터넷을 사용할 수가 없습니다
- 라우팅 테이블에 인터넷 게이트웨이를 향하는 적절한 규칙을 추가해주면 특정 서브넷이 인터넷과 연결됩니다
- 서브넷과 인터넷 게이트웨이를 연결하는 것만으로는 인터넷을 사용할 수 없습니다. 인터넷을 사용하고자 하는 리소스는 퍼블릭 IP를 가지고 있어야 합니다
DHCP options set
- TCP/IP 네트워크 상의 호스트로 설정 정보를 전달하는 DHCP 표준입니다.
- 도메인 네임 서버, 도메인 네임, NTP 서버, NetBIOS 서버 등의 정보를 설정할 수 있습니다.
Network ACL
- outbound, inbound 트래픽을 제어하는 가상 방화벽입니다.
- Network ACL : Subnet = 1 : N
- 서브넷 앞단에서 트래픽을 제어하는 역할
Security Group
- 인스턴스의 앞단에서 트래픽을 제어하는 가상 방화벽
[AWS] 가장쉽게 VPC 개념잡기
가장쉽게 VPC 알아보기
medium.com