Devops Skill Up/AWS

[AWS] Private Subnet Instance ssh 접속을 위한 Bastion 장비 생성

불여우의 길 2024. 4. 8. 16:19

private subnet에 생성된 인스턴스는 터미널에서 직접 ssh 접속이 불가능하다.

따라서 public subnet에 인스턴스를 만들어 장비를 통하여 접속하도록 Bastion 장비를 생성하였다.

해당 접속은 nat gateway 설정이 필요하다.

1. public subnet 에 instance(bastion server) 생성

2. bastion server 에 private 인스턴스 접속에 필요한 pem 키 전송

scp -i {pem키 로컬 위치/pem키명.pem} {저장될 pem키명.pem} ec2-user@{bation-server-dns}:{pem키 저장 경로)

 

3. 그리고 private instance에 ssh 접속 명령어를 치면된다.


간편한 ssh 접속을 위해 스크립트 파일도 작성해보았다.

 

#!/bin/bash

# 사용자로부터 번호를 입력받음
echo "=================================="
echo "어떤 서버에 접속하시겠습니까?"
echo "번호를 입력해주세요."
echo "---------------DEV---------------"
echo "1. 서버1"
echo "2. 서버2"
echo "3. 서버3"
echo "=================================="
read choice

# 선택에 따라 SSH 명령 실행
case $choice in
    1)
        ssh -i "{서버1pem키}" ec2-user@{서버1프라이빗dns}
        ;;
    2)
        ssh -i "{서버2pem키}" ec2-user@{서버2프라이빗dns}
        ;;
    3)
        ssh -i "{서버2pem키}" ec2-user@{서버2프라이빗dns}
        ;;
    *)
        echo "올바른 번호를 선택해주세요."
        ;;
esac