Notice
Recent Posts
Recent Comments
Link
devops
AWS 네트워크 구성 VPC, 서브넷 기본 및 연결 옵션 간단 정리 본문
반응형
VPC
VPC 출시 전에는 AWS 고객들이 생성하는 인스턴스의 가상 네트워크는 제각기였다. 그러나 VPC 출시가 되어서야 고객이 직접 본인이 원하는 계정 별 네트워크인 VPC를 만들고 관리할 수 있게되었다고 한다.
*이전에 VPC가 없던 환경을 EC2 Classic이라고 함.
서울 리전에 AZ가 2개가 있는데, 각 AZ에 subnet을 둘 수 있다.
서브넷은 IP가 중복되어선 안된다. 오버랩핑을 피해야하기 때문.
AWS에서 권하는 서브넷 설정
- /16 VPC (64K addresses)
- /24 subnets (251 addresses)
- One subnet per Availability Zone
Routing in your VPC
- 라우트 테이블(Route table)은 패킷이 이동하는 규칙을 포함한다.
- VPC에 기본 Route table이 존재
- 하지만 서브넷에 다른 Route table을 할당할 수 있다.
- 인터넷 게이트웨이는 VPC와 연결되어 외부 인터넷과 연결시켜주는 역할을 한다.
- 그림 2의 아래 0.0.0.0/0의 목적지가 의미하는 것은 VPC로 향하지않는 모든 것은 인터넷으로 보내라는 의미
- AWS 기본적으로 허용전에는 모두 불허하는 정책을 가지고 있다.
- 방화벽 허용 설정없인 외부에서 접속할 수 없다.
- AWS가 제공하는 방화벽 서비스는 크게 2가지로, 하나는 Netwrok ACL(서브넷 단위로 적용)
- NACL은 Stateless로 동작한다.
- 보안그룹은 Statefull이다.
- 웹서버는 모든 인터넷 접근을 허용하지만 백엔드는 다이렉트 접속을 제한한다면 보안그룹을 사용한다.
- 백엔드의 접근은 웹서버만 허용하고 싶다면 위처럼 설정한다.
- 그림 1은 0.0.0.0/0 설정으로 모든 인터넷 접근을 허용한다.
- 백엔드는 TCP 2345 포트를 쓰며, source는 sg-82ba7ee6만 허용한다. 즉, 웹서버의 보안그룹만 설정한다.
- 쉽게 말해서 일일이 IP를 설정하지않고도 그룹을 기준으로 접근 허용이 가능하다.
- statefull 방화벽은 들어올 때의 채널을 기억하기 때문에, 패킷이 나가는 것도 허용한다. -> 보안그룹
- stateless는 들어올 때 허용을 하더라도 나가는 것 또한 일일이 허용해야한다. -> Network ACL
보안그룹(Security) 체크 포인트
- 최소 권한 원칙 준수
- VPC는 egress/ingress에 대한 Security Group 생성 가능
VPC 연결 옵션
VPC 간 연결: VPC Peering
- 게임마다 개별 VPC로 운영하지만 인증, 모니터링, 로깅 등의 서비스는 한곳에서만 처리해야한다.
- VPC 연결할 때는 신청과 승인 작업이 필요하다. (account가 다를 수 있다)
- 피어링을 위해서 먼저 피어링 신청, 승인 마지막 경로생성(PCX)을 해야한다.
- 영상이 나오는 시점에선 트랜지 VPC는 지원안함 (VPC C와 VPC A는 통신이 가능하지만 C와 D는 안됨)
- 굳이 피어링하고 싶다면 C, D와 연결하면 된다. 그러나 모두 연결하기 위해선 피어링 게이트웨이가 아주 많아질 수 밖에 없다.
회사 네트워크에 연결: Virtual Private Network(VPN) & Direct Connect(DX)
- 온프레미스 네트워크를 VPC로 확장하는 개념, 하이브리드라고도 함
- VPN으로 연결하기 위해서 로컬 네트워크에 Customer Gateway를 설치하여 VPC의 Virtual Gateway와 연결한다.
- VPC를 제대로 만들어야 원하는 네트워크 구성이 가능하다.
- S3는 VPC안에 있지않다. S3는 인터넷이 연결된 곳이면 누구나 액세스할 수 있는 서비스다.
VPC 내부의 서비스가 S3와 통신하기 위해서는 중간에 게이트웨이(인터넷과 연결된)를 꼭 거쳐야한다.
S3는 인터넷을 통해서만 접근할 수 있기 때문.
S3는 IP가 고정되어 있지않다. 그러나 아래와 같이 VPC endpoint를 통해서 private하게 사용할 수 있다.
- IAM과 버킷 정책을 통해서 특정 S3 Bucket 액세스만 허용할 수 있다.
- S3 또한, 인터넷 요청을 차단하고 어플리케이션에서 오는 접근만 허용할 수 있다.
https://www.youtube.com/watch?time_continue=740&v=R1UWYQYTPKo&feature=emb_logo
반응형
'DevOps > AWS' 카테고리의 다른 글
시스템을 고성능으로 만드는 방법 - DB (0) | 2022.07.20 |
---|---|
AWS EC2, VSCODE로 접속하기 (0) | 2022.07.04 |
IaC(Infrastructure as Code) (0) | 2022.06.24 |
AWS Lambda & API Gateway (0) | 2022.06.21 |
CQRS(Comman Query Responsibility Segregation) (0) | 2022.06.20 |
Comments