Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
티스토리 뷰
VPC( Virtual Private Cloud )
AWS의 VPC는 논리적으로 격리된 네트워크 서비스이다.
VPC는 온프레미스에서 사용하는 사설 네트워크와 비슷한 용도로 사용한다.
따라서 VPC 또한 사설 IP를 사용해서 생성하게 된다.
하나의 VPC 내부에서는 논리적인 Router가 동작한다.
subnet은 VPC 내부의 IP 대역대를 가지도록 세팅되고, 각각이 라우팅 테이블을 가지고 있다.
아래의 그림을 확인해 보자.
여기서 public subnet만이 외부로 접속할 수 있도록 해야 하기 때문에,
Public subnet의 라우팅 테이블만 모든 트래픽을 Internet GateWay로 보내도록
0.0.0.0 => IGW 경로를 추가한다.
즉, public Subnet이라는 네트워크가 따로 존재하는 것이 아니라, 인터넷과 접속이 되도록 세팅한 subnet이 public subnet이 되는 것이다.
반대로 public subnet의 라우팅 테이블의 IGW로의 경로를 삭제하면 private subnet이 된다.
private subnet 은 라우팅 테이블에 default GW를 NAT gateway로 세팅한다.
즉, 프라이빗은 바로 나갈 수가 없고 NAT를 통해서 만 외부로 나가게 된다.
이번에는 위의 Flow처럼 하나의 VPC 내부에 두 개의 public 서브넷을 생성하고 IGW와 연결해서 외부접속을 해보자.
VPC 생성하기
VPC and more를 선택한다.
10.0.0.0/16 대역으로 만들어보자.
퍼블릭 서브넷으로 세팅하면 자동으로 IGW와 연결이 된다.
VPC 내부에서는 겹치면 안 되므로, VPC 범위 내에서 다른 서브넷으로 생성해야 한다.
이대로 생성해 주자.
이러한 작업을 거쳐서 생성된다.
기본적으로 인터넷 게이트웨이가 함께 생성되는 것도 확인할 수 있다.
생성된 라우팅 테이블에 접속해 보자.
라우팅 편집에서 모든 트래픽이 IGW로 나가도록 라우팅을 추가해 준다.
이제 퍼블릭 서브넷이 외부로 나갈 수 있게 된다.
이번에는 VPC의 보안 그룹을 생성해 보자.
이때 기본 VPC가 아닌 생성한 VPC를 선택해 주어야 한다.
보안 그룹은 기본적으로 모든 인바운드 패킷을 차단한다.
여기서는 HTTP만 허용시켜 주자.
이대로 생성해 준다.
이제 퍼블릭 서브넷에 EC2 인스턴스를 하나 생성해서 외부에서 접근해 보자.
EC2의 네트워크 설정에서는 생성한 VPC와 security group을 선택한다.
그리고 고급 정보에서 사용자 데이터로 node js로 웹서비스를 띄우는 코드를 넣어서 생성해 준다.
이 EC2의 public ip로 접근해 보자.
이제 IGW를 통 웹서비스에 접속할 수 있다.
'Cloud > AWS' 카테고리의 다른 글
AWS CLI로 S3 버킷 생성 후 파일 업로드하기 (0) | 2024.03.21 |
---|---|
AWS S3 Bucket 리소스 기반 정책 부여하기 (1) | 2024.03.20 |
AWS IAM User Group (사용자 그룹) (0) | 2024.03.20 |
AWS load balancer internal vs internet-facing (0) | 2023.12.23 |
AWS Lambda에서 다른 Lambda 비동기 호출하기(python) (0) | 2023.10.22 |