EC2 인스턴스를 생성했다면 ssh 명령을 이용해 연결을 확인할 수 있습니다. 웹 서버는 보통 프라이빗 서브넷에 생성하므로 점프 서버를 경유해서 연결합니다. 간단히 연결하려면 먼저 점프서버에 SSH로 연결한 뒤, 거기에서 다시 웹 서버에 SSH로 연결하는 방식을 씁니다. 하지만 이 연결 방식에는 다음과 같은 두 가지 문제점이 있습니다.
다단계 연결 설정은 config라는 이름의 파일(확장자 없음)을 생성하고 그 안에 기술합니다. 이 파일은 비밀 키 파일과 마찬가지로 홈 디렉터리의 .ssh
폴더에 저장합니다.
config 파일 내용은 아래와 같습니다.
다단계 연결 설정 파일(.ssh/config)
### for fepe aws
Host bastion
HostName {점프 서버의 퍼블릭 IP}
User ec2-user
IdentityFile ~\.ssh\fepe-ogu.pem
Host web01
HostName {웹 서버 01의 퍼블릭 IP}
User ec2-user
IdentityFile ~\.ssh\fepe-ogu.pem
ProxyCommand ssh.exe bastion -W %h:%p
Host web02
HostName {웹 서버 02의 퍼블릭 IP}
User ec2-user
IdentityFile ~\.ssh\fepe-ogu.pem
ProxyCommand ssh.exe bastion -W %h:%p
config 파일 설정으로 웹 서버에 연결할 준비를 마쳤습니다. ssh 명령어를 이용해 연결해봅니다. config 파일에 연결할 떄의 사용자 명이나 비밀 키 파일을 설정했으므로 실제 연결할 때는 다음 명령어만 입력하면 됩니다.
ssh {서버 별명}
다단계 연결을 이용해 웹 서버에 연결
본 포스팅은 [AWS로 시작하는 인프라 구축의 정석 - 나카가키 겐지/제이펍] 을 참고하여 작성되었습니다.