ec2와 rds를 모두 private subnet에 띄우기로 했다.
이에 ssh접속을 위한 bastion host를 public subnet에 위치시켰다.
이 bastion ec2 보안그룹의 인바운드 규칙으로는 내 IP만 허용했다.
그리고 각 ec2와 rds는 당연히 인바운드 규칙으로 bastion ec2의 ip만 허용하여 관리했다.
ssh 접속을 위해서는 ftp로 직접 private subnet에 존재하는 인스턴스에 접근하기 위한 .pem키를 전송 했다.
이를 통해 bastion ec2에서 private의 인스턴스로 접속했다.
IntelliJ에서 private subnet에 존재하는 RDS와 Database연동을 위해 ssh 터널링을 이용했다.
보안을 위해 private subnet을 구성하여 인스턴스를 위치시켰지만,
결국 bastion ec2에 접속할 수 있는 권한이 털리면(?) 뭐 똑같은거 아닌가 싶다.
물론 보안그룹과 키페어가 있기에 그런 일이 일어나기는 쉽지 않다고 생각하지만,
뭐 그것은 사실 ec2와 rds를 public에 띄울 때도 같은 거니까..
관리할 것이 하나로 줄어드니까 더 엄격하게 관리할 수 있다??
혹시 저와 비슷한 궁금증을 가지고 계신 분은
bastion에 대해 좀 더 자세히 포스팅할테니 그 글을 봐주세용
sudo apt update && sudo apt upgrade
apt search openjdk
sudo apt-get install openjdk-17-jdk
echo $JAVA_HOME
vim ~/.bashrc
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
sudo apt install maven
sudo apt install git
mysql 또는 mariadb 설치 rds 엔드포인트로 접속 확인
sudo apt install mysql-server
sudo apt install mariadb-server
mysql -u {username} -p -h {rds엔드포인트}
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
tail -f nohup.out