313. CIDR, 비공개 및 공개 IP
Understanding CIDR - IPv4
- Classless Inter-Domain Routing - IP 주소를 할당하는 방법
- 보안 그룹 규칙과 aws 네트워킹에 사용됨
- IP 의 범위를 지정해준다.
- WW.XX.YY.ZZ/32 ⇒ one IP
- 0.0.0.0/0 ⇒ all IPs
- 192.168.0.0/26 → 192.168.0.0 - 192.168.0.63 ( 64개의 IP 주소)
- CIDR 의 두가지 구성 요소
- Base IP 기본 IP
- 범위에 포함된 IP
- 일반적으로는 범위의 시작이 되는데 범위 내부에 있기도 한다.
- ex) 10.0.0.0 , 192.168.0.0, 등이 있다.
- Subnet Mask 서브넷 마스크
- IP에서 변경 가능한 비트의 개수를 정의
- ex): /0 , /24, /32
- 두가지 형태로 가능
- /8 → 255.0.0.0
- /16 → 255.255.0.0
- /24 → 255.255.255.0
- /32 → 255.255.255.255
Understanding CIDR - Subnet Mask
- base IP 로부터 추가적인 IP 값을 추가한다.
만약 서브넷마스크가 /0 이되면 모든 IP를 허용하는게 된다.
/0 은 모든 옥텟 변경가능 /32 하나만 사용가능
Understanding CIDR - Little Exercise
- 192.168.0.0/24 의 의미는 무엇일까?
- 마지막 2의 8 승 256개 변경가능 0부터 255까지
- 192.168.0.0/16 =?
- 마지막 2의 16승 256*256=65536 개
- 134.56.78.123/32 =?
- 134.56.78.123 하나의 IP 만 사용가능
- 0.0.0.0/0 =?
- 모든 IP 허용
CIDR to IPv4 Address Range Utility Tool | IPAddressGuide
해당 페이지에서 IP 범위를 계산할 수 있다.
Public vs. Private IP ( IPv4)
- Internet Assigned Numbers Authority (IANA)
- 사설 IP는 특정 값만 허용한다.
- 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) | 매우 큰 네트워크에서 사용
- 172.16.0.0 - 172.31.255.255 (172.16.0.0 /12) | aws 의 기본 vpc 범위
- 192.168.0.0 - 192.168.255.255 ( 192.168.0.0/16) | 홈 네트워크 에서 사용
314. 기본 VPC 개요
Default VPC Walkthrough
- 모든 aws 계정은 기본 VPC를 갖는다.
- EC2 인스턴스는 기본 VPC에서 실행된다. 서브넷 명시가 없다면
- 기본 VPC는 인터넷에 연결되어 있어서 EC2 인스턴스도 인터넷에 연결될 수 있다.
- 공용 및 사설 IPv4 DNS 이름을 얻을 수 있다.
실습 - VPC 콘솔 확인
기본 IPv4 CIDR 범위
해당 범위를 계산했을때
IP 하나만 생성되어있다.
해당 VPC 와 연결되어있는 서브넷이다.
CIDR 범위는 172.31.32.0/20 이다.
범위를 계산하면 4096개의 IP를 사용가능한데
4091 개만 사용할 수 있다.
315. VPC 개요
VPC in AWS - IPv4
- VPC = Virtual Private Cloud
- 단일 AWS 리전에 여러 VPC 를 둘 수 있다. (리전당 최대 5개)
- VPC 마다 할당 CIDR 는 5개
- 최소는 /28개 (16개 IP)
- 최대는 /16개 (65536ro IP)
- VPC는 사설이기 때문에 사설 IPv4 범위만 허용된다.
- 10.0.0.0 - 10.255.255.255 ( 10.0.0.0/8)
- 172.16.0.0 - 172.31.255.255 (172.16.0.0/ 12)
- 192.168.0.0 - 192.168.255.255 ( 192.168.0.0 / 16)
- VPC CIDR의 주소가 다른 네트워크와 겹치면 안된다.
316. VPC 실습
vpc 가 생성되었다.
CIDR 편집에서
추가할 수 있다.
VPC 당 CIDR 5개 까지 가능
317. 서브넷 개요
VPC - Subnet (IPv4)
- VPC 내부에 있는 IPv4 주소의 부분 범위 이다.
- 이 범위 내에서 AWS가 IP 주소 다섯 개를 예약한다.
- ex) 10.0.0.0/24
- 10.0.0.0 - 네트워크 주소로 예약
- 10.0.0.1 - aws vpc 라우터로 예약
- 10.0.0.2 - aws dns 에 매핑
- 10.0.0.3 - aws 예비용
- 10.0.0.255 - 브로드캐스트 주소 255 하지만 aws 는 vpc에서 브로드캐스트를 지원하지 않는다.
- 만약 29개의 IP가 필요하다면
- /27 서브넷은 고르면 안된다. 2의 5승 32 , 32 -5 = 27
- 대신 /26 서브넷을 골라야한다. 2의 6승 64, 64 -5 = 59
318. 서브넷 실습
DemoVPC 선택하고 서브넷 생성하기
공용, 사설 서브넷을 만들었지만 이름만 그렇다.
게이트웨이를 추가함으로써 구현하자 .
319. 인터넷 Gateway 및 라우팅 테이블
Internet Gateway (IGW)
- VPC의 리소스를 인터넷과 연결되게 한다.
- 수평으로 확장되고 가용성과 중복성이 높다.
- VPC 와 별개로 생성된다.
- 하나의 VPC 는 인터넷 Gateway 하나에만 연결된다. 반대의 경우도 마찬가지
- IGW 스스로 인터넷 액세스를 허용하지 않는다.
igw → 라우터 → 라우팅 테이블 → sg → 인스턴스 이다.
320. 인터넷 Gateway 및 라우팅 테이블 실습
EC2 실행
간단히 실행
연결해보자
바로 커넥션 오류가 뜬다 .
- Failed to connect to your instance
- EC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect. For more information, see Set up EC2 Instance Connect at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html.
vpc가 igw 와 연결이 안되어있기 때문
인터넷 게이트웨이 생성
생성후 VPC 에 연결한다.
여전히 EC2 에 연결할 수 없다?
라우팅 테이블 생성
사설 라우트 테이블도 하나 만든다.
서브넷 연결 편집
서브넷을 선택
라우팅 추가하기
IGW 추가하기
이제 ec2 에 연결 가능하다 .
321. Bastion 호스트
배스천 호스트로 사설 서브넷의 ec2에 접속할 수 있다.
- 배스천 → 사설 서브넷의 EC2 에 접속 가능
- 배스천은 공용 서브넷에 존재한다.
- 배스천 호스트의 보안 그룹은 22번 포트로 들어오는 인바운드를 허용한다. 모든 CIDR로 들어오면 위험하기 때문에 제한해야한다.
- EC2의 보안그룹은 서로 허용되어야 한다.
322. Bastion 호스트 실습
이전에 생성한 Ec2 를 BastionHost 라 명명한다.
키페어 생성
pem 키로 생성하자
인스턴스 생성
당연히 키페어 추가하고
보안그룹의 소스를 launch wizard 1 bastion host 로 부터 받는 걸로 하자!
privateinstance 로 명명하고
해당 사설 서브넷은 IGW 와 연결이 안되어있기 때문에 접속 불가
접속 테스트
프라이빗 인스턴스에 접속할려면 해당 키를 배스천 호스트 ec2에 저장하고 접속시에 사용해야한다.
확인 완료
권한 변경 chmod 0400 DemoKepair2.pem
i
10.0.17.176 에 접속 되었다.