다음과 같은 구조를 가질 수 있겠다고 생각!
private은 접근할 수가 없어서 확인 할 수 없음!
ec2를 생성하고 public subnet에 넣어서 동작하는지 확인!
ec2의 userdata에
#!/bin/bash
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
sudo service nginx start
sudo chmod 777 /var/www/html
sudo echo "Hello World ! ! !" > /var/www/html/index.html
위의 코드 넣기
public에서 ssh, http 연결가능!
이 상태 그대로 template 만들어서 private에 생성! -> ssh, http 연결 x
alb로 접근을 할 수가 없다!! (health check fail!)
-> 현재 private에 생성된 ec2를 template화해서 public에 생성하면 접근할 수 있다!
원인 1) index.html 경로 문제!
index.html을 생성해서 접근하게 userdata를 작성하고 public에 ec2를 생성하면 잘 작동함
-> healthcheck만 작동하지 않는구나!
원인 2) 로드밸런서의 문제
어떤게 정확히 문제인지는 아직..
원인 3) pubsub에서 접근할 prisub이 없다
prisub를 하나 더 만들어 주어도 같은 결과
로드밸런서도 떼고 private ec2만 놓아보기!
-> private으로 들어갈 수 있는게 없다고 생각!
-> 오류! 이와같은 구조로는 연결할 수가 없어!
-> 추가 적인 작업이 필요하겠군!
bastion host는 다른 것이 아닌
이처럼 특정 경로를 통과한 ec2만 접근하게 끔 private ec2의 보안그룹을 설정하는 것!
접속!
natgateway 생성전
natgateway 생성
외부와 연결됨
apt-get을 통해 외부에서 받아올 수 있게됨
이렇게 해도 alb의 health check는 fail
private에 natgateway만 추가하게 되면 가장 보안적으로 뛰어나다고 생각이 되는 구조라고 생각이 됨
앞으로 아키텍쳐 구성시 위와 같은 그림을 가지는 구조로 만들어야겠다고 생각!