EC2 웹 서버 접속 (Window/PowerShell)

Ogu·2023년 4월 29일
0

AWS

목록 보기
3/5
post-thumbnail

EC2 인스턴스를 생성했다면 ssh 명령을 이용해 연결을 확인할 수 있습니다. 웹 서버는 보통 프라이빗 서브넷에 생성하므로 점프 서버를 경유해서 연결합니다. 간단히 연결하려면 먼저 점프서버에 SSH로 연결한 뒤, 거기에서 다시 웹 서버에 SSH로 연결하는 방식을 씁니다. 하지만 이 연결 방식에는 다음과 같은 두 가지 문제점이 있습니다.

  • ssh 명령어를 2번 입력해야 한다.
  • 비밀 키 파일을 점프 서버에 전송해야 한다.
    특히 비밀 키 파일 운영과 관련한 것은 보안적 측면에서 가능한 한 피해야 합니다. 우리는 이를 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
  • Host 항목은 연결할 서버 별로 설정합니다. 별명을 자유롭게 붙일 수 있습니다.
  • ProxyCommand에는 경유하는 점프 서버의 정보를 지정합니다. 점프 서버 자체에는 이 정보는 불필요합니다.

ssh 명령어를 이용해 연결

config 파일 설정으로 웹 서버에 연결할 준비를 마쳤습니다. ssh 명령어를 이용해 연결해봅니다. config 파일에 연결할 떄의 사용자 명이나 비밀 키 파일을 설정했으므로 실제 연결할 때는 다음 명령어만 입력하면 됩니다.
ssh {서버 별명}

다단계 연결을 이용해 웹 서버에 연결

본 포스팅은 [AWS로 시작하는 인프라 구축의 정석 - 나카가키 겐지/제이펍] 을 참고하여 작성되었습니다.

profile
私はゲームと日本が好きなBackend Developer志望生のOguです🐤🐤

0개의 댓글