VPC primer (Virtual Private Cloud)
in AWS CDA
KEY WORDS: VPC, subnet, internet gateways, NAT gateways, Security Groups, Network ACL(NACL),VPC Peering, VPC End points, site to site VPN & Direct connect
VPC & Subnets primer
**VPC **: 나의 resource 를 deploy해줄 private network. AWS 계정 전용 가상 네트워크이다.
**Subnets **: VPC 안에서 network 를 파티션하게 도와준다.VPC의 IP 주소 범위
라우팅 테이블 : 인터넷과 서브넷을 액세스 정의한 규칙 테이블
인터넷 게이트웨이 : VPC의 리소스와 인터넷 간 통신을 위해 VPC에 연결하는 게이트웨이다.
VPC 엔드포인트 : PrivateLink 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 VPC를 비공개로 연결할 수 있다. amazon 네트워크 안에서만
Public subnet은 인터넷으로 접근 가능하지만, private subnet은 인터넷으로 접근이 불가능하다.
Internet gateway & NAT gateway
- private subnet도 update같은 것을 해야하기 때문에, internet에 접근해야하면 public subnet의 NAT gateway를 사용해 Internet gateway 쓰게 한다.
- NAT 게이트웨이는 public subnet에 존재해야하고, NAT 게이트와 연결할 elastic IP 또한 설정해야 한다.
- private subnet 이 router을 통해 NAT gateway로 가고, NAT 게이트웨이의 elastic IP 주소를 소스(정확하게 뭔지 체크) IP주소로 사용해 인터넷 게이트 웨이로 트래픽 보낸다.
Network ACL & Security Groups
NACL : subnet 에서 오가는 traffic의 방화벽.
- subnet level에 사용된다 .
- ip 주소 룰만 가능.
- ALLOW룰 뿐만 아니라 DENY룰도 설정 가능하다.
Security Groups :
- ENI나 EC2 에서의 트래픽의 방화벽. 인스턴스 레벨에 사용.
- ALLOW룰만 가능하다. DENY룰 안됨.
VPC Flow Logs
vpc를 오가는 network는 flow logs에 기록된다.
IP traffics (VPC Flow Logs • Subnet Flow Logs • Elastic Network Interface Flow Logs)
VPC Peering
- AWS 네트워크를 이용해서 두개의 VPC를 private하게 연결한다.
- 같은 VPC에 있는 듯이 행동한다.
- CIDR(IP adress range)가 겹치면 안된다.
- 아래와 같은 경우, VPC A와 VPC C는 서로 연결이 안된다. NOT TRANSITIVE
VPC end points
- S3과 DynamoDB만 사용 가능하다.
- AWS에 private network로 연결하게 해준다. (public www network 사용 안하고)
- 내 VPC 에서만 사용 가능
site to site VPN & Direct Connect
**온프레미스(on-premise) **: 클라우드 같이 원격 환경이 아니라 자체 보유한 전산실에서 서버 설치해 운영하는 방식.
VPN 연결: 온프레미스 장비와 VPC 간의 보안 연결.
site to site VPN
- 온프레미스 VPN과 AWS를 연결한다.
- public network 를 통해 전달되고, 자동으로 암호화된다.
Direct Connect
- 온프레미스와 AWS을 물리적으로 연결한다.
- private network로 전달되고, 빠르고 안전하다.
- 그러나 구축할 때 적어도 한달정도 걸린다.