EC2 보안그룹(my-bastion-host-sg)을 생성한다. 인바운드 규칙에서 SSH 유형에 내 IP 소스를 입력한다.
이후 인스턴스(my-bastion-host)를 생성하고 위의 보안그룹을 할당한다. subnet은 my-public-subnet-a 선택.(키 페어는 기존에 만든 my-ec2-keypair 사용)
탄력적 IP를 만들어 위의 인스턴스에 할당한다.
MobaXterm을 실행시켜서 새로운 SFTP 세션에 연결해준다. 방금 할당된 퍼블릭 IPv4 주소를 호스트 이름에 입력 후, my-ec2-keypair.ppk 파일을 private key에 등록.
이후, pem형식의 키페어를 드래그하여 업로드한다.
다음 PuTTY로 이동하여, ppk 키페어를 사용, ec2-user로 로그인한다.
다시 aws로 넘어가서 private 보안그룹(my-private-ec2-sg)을 생성한다. 인바운드 규칙에서 SSH 유형에 my-bastion-host-sg 소스를 선택한다. 이것으로 bastion host와 private 인스턴스의 보안규칙이 연결된다.
private 인스턴스(my-private-ec2)를 생성하고, subnet은 my-private-subnet-app-a 선택.
다시 PuTTY로 넘어가서 ls로 pem키 등록된지 확인해주고
ssh -i my-ec2-keypair.pem ec2-user@프라이빗 IPv4 주소
명령어를 사용한다.
실행 후 yes를 누르면 오류가 뜨는데, 이는 pem키에 권한이 너무 많아서 그렇다.
chmod 600 my-ec2-keypair.pem 입력 후 다시 위의 명령어를 입력하면 private IP 서버로 넘어온 것을 확인할 수 있다. (10.1.1.134)
IGW로 잘 통신이 되는지 확인하려면, curl -v <링크>를 입력해보면 된다.
통신이 잘 되는 이유는 subnet에 NAT게이트가 잘 붙어있기 때문이다. 서브넷의 라우팅 테이블에서 NAT 여부를 확인해보면 모두 잘 연결되어 있는 것을 확인할 수 있다.