VPN(Virtual Private Network)이란?
- VPN은 한국어로 "가상사설망"이라고 합니다. 이름에서 알수 있듯이 "가상" 사설망입니다. 이미 구성되있는 네트워크를 다시 나누고 싶을때 물리적으로 일일이 고칠수도 있겠지만 돈과 시간이 들기 때문에 이때 VPN을 이용하여 해결할 수도 있습니다.
- VPN은 여러 컴퓨터를 잇는 사설 네트워크를 만들때 일일이 전선으로 연결하기에는 돈이 많이 들고 물리적인 취약점 때문에 인터넷 네트워크와 암호화 기술을 이용하여 통신 시스템을 구축하는 것을 말합니다.
- 또 특수목적의 인트라넷을 구축할 때 해당 되는 컴퓨터만 전용선으로 연결하여 제 3자가 접근하지 못하게 만들수도 있습니다.
VPC(Virtual Private Cloud)이란?
Amazon Virtual Private Cloud(Amazon VPC)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다. - 아마존 공식문서
위에서 설명한 VPN기술을 Cloud에서 적용시킨것이 VPC(Virtual Private Cloud)입니다. VPC는 AWS 클라우드에서 다른 고객과 완벽하게 논리적으로 격리된 네트워크 공간을 제공하여 가상 네트워크에서 AWS 리소스를 만드는데 사용되는 리소스입니다.
- VPC는 리전에 종속되며 AWS내에 격리된 네트워클 만들어줍니다.
- VPC의 이름과 IPv4 CIDR Block이 필수적으로 필요합니다.
- 클라우드에서 생성하는 자원들은 기본적으로 특정 네트워크 위에 생성되며 이에 접근하기 위한 Private IP를 가집니다.
- 이 리소스들은 특정한 VPC 위에서 만들어집니다. 따라서 VPC의 CIDR 범위 안에서 적절한 IP할당을 받습니다.
- 하나의 VPC의 최대 크기는 16이며 이는 65536개의 IP를 사용할 수 있습니다.
- 사설망을 사용합니다.
- 10.0.0.0 ~ 10.255.255.255(10/8 prefix)
- 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix)
- 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)
- 기본 VPC의 CIDR은 172.31.0.0/16입니다.
서브넷(Subnet)이란?
- VPC를 사용하기 위해선 Subnet이 반드시 필요합니다.
- Subnet은 VPC가 지정한 IP범위를 작게 쪼개 사용할 수 있도록 합니다.
- 서브넷의 최대 크기는 VPC의 최대 크기와 같습니다.
- 하나의 가용존에 문제가 생기더라도 서비스에 장애가 발생하지 않도록 서브넷을 최소 2개 이상 만드는 것을 권장합니다.
인터넷 게이트웨이(Internet Gateway)이란?
인터넷 게이트웨이는 수평 확장되고 가용성이 높은 중복 VPC 구성 요소로, VPC와 인터넷 간에 통신할 수 있게 해줍니다.
인터넷 게이트웨이에는 인터넷 라우팅 가능 트래픽에 대한 VPC 라우팅 테이블에 대상을 제공하고, 퍼블릭 IPv4 주소가 할당된 인스턴스에 대해 NAT(네트워크 주소 변환)를 수행하는 두 가지 목적이 있습니다.
인터넷 게이트웨이는 IPv4 및 IPv6 트래픽을 지원합니다. 네트워크 트래픽에 가용성 위험이나 대역폭 제약이 발생하지 않습니다.
- Internet gateway는 VPC에서 호스팅하는 리소스와 인터넷 간의 통신을 가능하게 해주는 AWS 컴퓨넌트로서 서브넷 내 ec2와 같은 리소스가 internet과 연결하기 위해 반드시 필요합니다.
- Internet Gateway는 수평적 확장성과 높은 가용성을 지는 구성요소로 네트워크 대역폭이 제약이 없습니다.
- VPC 내에서 호스팅하는 서비스가 외부 세계에 액세스 되도록 채널 역할을 해주고 아울러 AWS 내에서 호스팅되는 리소스가 인터넷에 연결될 수 있도록 해줍니다.
- 즉 Internet Gateway는 외부 인터넷으로 나가기 위한 통로의 역할하게 됩니다.
라우트 테이블(Route Table)이란?
- 라우트 테이블은 서브넷과 연결되어 있는 리소스입니다.
- 서브넷에서 네트워크를 이용할 때는 이 라우트 테이블을 사용하여 목적지를 찾게됩니다.
- 라우트 테이블은 서브넷과 연결되어 있지만 VPC를 생성할 때 만들어지고 VPC에도 연결되어 있습니다.
- 이 라우트 테이블은 VPC에 속한 서브넷을 만들때 기본 라우트 테이블로 사용됩니다.
- VPC의 CIDR Block을 목적지로 하는 경우 내부 범위에서 찾습니다.
- 인터넷을 연결하거나 다른 VPC와 통신하기 위해서는 라우트 테이블에 라우트 규칙을 추가로 정의해야합니다.
VPC 사용방법
VPC의 이름과 IPv4 CIDR를 적당하게 입력해줍니다. 위 10.0.0.0/16의 범위는 10.0.0.0 ~ 10.0.255.255까지 입니다. 그 후 Create VPC를 눌러 만들어줍니다.
잘 생성된것을 알 수 있습니다. 이제 새로 만든 VPC를 체크한후 우클릭, Edit VPC Settings를 눌러주세요. 그리고 DNS에 관련된 모든 설정의 체크를 활성화시켜주세요.
Save를 누르면 VPC의 생성은 끝나게 됩니다. 이제 Subnet으로 넘어가줍니다.
기본적으로 생성되 있는 VPC가 하나 존재해 Subnets도 4개가 미리 있는것을 볼 수 있습니다. Create subnet를 눌러주세요.
위 사진에 맞게 설정해줍니다. 서울중 ap-northeast-2a 지역에 10.0.32.0/20를 할당하여 생성시켜 주었습니다.
잘 생성된것을 확인할 수 있습니다. 이렇게 같은 지역에 Public 1개 Private 2개씩 2지역을 생성해주겠습니다.
다른 지역은 2c지역으로 만들어 주었습니다.
최종 결과물은 위와 같습니다. 이제 Internet Gateway에 들어가줍니다!
Create Internet gateway를 눌러줍니다.
이름을 설정하고 create internet gateway를 클릭해서 만들어줍니다.
그 후 Actions -> Attach to VPC로 Internet gateway를 VPC에 붙여줍니다.
이로써 만들어준 VPC는 인터넷사용이 가능해집니다. 이제 라우팅을 해주러갑시다. Route table에 들어가주세요!
Create route table를 눌러줍니다.
이름과 올바른 VPC를 선택해주고 Create route table를 눌러줍니다. 처음은 public끼리 연결시켜주는 라우터를 만들어줍니다.
위 사진을 따라해서 public 2개를 선택해서 associations해줍니다.
최종 결과물입니다. public에 관한 route는 Internet Gateway로 가는게 존재하지만 나머지 모든 private들은 존재하지 않습니다. 그렇기 때문에 public에서만 인터넷이 가능하고 private는 인터넷과 상호작용이 불가능합니다.
여기까지 하면 기본적인 VPC에 관한 설정은 끝납니다.
'기능반공부 > 클라우드 컴퓨팅' 카테고리의 다른 글
[CC] AWS Organiztions & AWS IAM (0) | 2023.02.22 |
---|---|
[CC] AWS EFS(Elastic File System) (0) | 2023.01.12 |
[CC] AWS EC2(Elastic Compute Cloud) (0) | 2023.01.11 |
[CC] AWS CloudFront (CDN) (0) | 2023.01.10 |
[CC] AWS S3(Simple Storage Service) (0) | 2023.01.10 |