AWS VPC & Subnet 설정

김현학·2023년 10월 11일
2

Custom CIDR로 정의한 Subnet 활용

Custom CIDR Subnet 설정을 위해 기본이 아닌 VPC로 생성해야 합니다.

기본 서브넷 제약

기본 VPC의 다음 사용 가능한 연속 공간에 IPv4 CIDR 블록의 크기가 /20인 서브넷이 생성됩니다. 다음 규칙이 적용됩니다.

  • CIDR 블록을 직접 지정할 수 없습니다.
  • 삭제한 이전 기본 서브넷을 복원할 수 없습니다.
  • 가용 영역당 기본 서브넷은 한 개만 가질 수 있습니다.
  • 기본 VPC가 아닌 VPC에는 기본 서브넷을 생성할 수 없습니다.

IPv4 CIDR 설정

RFC1918에 따라 사설 IP 대역을 설정

다음과 같이 Subnet을 분리할 예정이다.

SubnetCIDR
private-subnet-1172.16.3.0/24
public-subnet-1172.16.2.0/24
private-subnet-0172.16.1.0/24
public-subnet-0172.16.0.0/24

** AWS 내부적으로 점유된 IP가 존재하므로, 특정 region에서
어떤 종류의 EC2 인스턴스 (ex: t2.micro)는 subnet group에 할당될 수 없다.
(ap-northeast-2에서는 172.16.2.0/16에 t2.micro를 할당할 수 없는 이슈가 있다.)


1. VPC 설정

2. AZ 개수

3. 서브넷 개수 및 CIDR 설정

4. 기타 옵션 설정

5. 설정 결과

** AWS Connect Server를 활용하여 콘솔 접속 및 확인으로 변경

6. 보안 그룹 생성 - 인바운드

7. 보안 그룹 생성 - 아웃바운드

8. Key 페어 생성

9. EC2 네트워크 설정 > 편집

편집해서 준비한 VPC를 선택해야함

10. EC2 인스턴스 생성

사진과는 달리 퍼블릭 IP 자동 할당활성화로 두어야 한다.
만약 다수의 인스턴스가 있는 경우,
엔트리 포인트로서 하나의 인스턴스에만 퍼블릭 IP를 둬도 된다.

11. SSH 클라이언트를 통한 인스턴스 연결 페이지

12. SSH을 OpenSSH, Putty, WSL 중 선택

AWS에서는 OpenSSH를 권장한다.

13. Powershell 관리자 권한으로 실행

다음 링크에 따라 OpenSSH를 설치한다.

14. Windows 환경에서 chmod 실행

(11)에서 chmod는 Linux 명령어이기 때문에, Windows 환경에서 실행할 수 없다. 이를 우회하기 위해 다양한 방법을 사용할 수 있다.

15. 키를 담아 폴더에서 관리

(11)에 있는 내용을 readme에 저장

16. VS Code > Git Bash

VS Code로 폴더를 열고, Git Bash를 활용하여 chmod 명령을 수행했다. 쓰기 권한이 사라진 것을 확인할 수 있다.

17. ssh 접근 명령어

readme에 저장해 둔 ssh 접근 명령어를 활용한다.

18. ssh 연결 성공

19. ping google.com

ping google.com 결과를 확인하고, EC2 인스턴스를 중지했다.

[6, 7] 보안 그룹 설정으로 인한 트러블 슈팅

최초에 보안 그룹에서 불특정 외부 IP를 모두 승인하는 것은 적절하지 않아서 막아뒀더니 통신이 안 됐다. Google Cloud Server는 변칙적으로 통신 IP가 바뀌어서, Ping 명령에 대응되는 ICMP(Internet Control Message Protocol) 에코 요청에 한해서만 다음과 같이 인바운드/아웃바운드 규칙을 설정해두었다.

2개의 댓글

comment-user-thumbnail
2023년 10월 12일

wow

1개의 답글