이건 내 영업비밀...........이지만 나중의 나를 위해 정리해본다.
간단하게 올린 것이므로 인스턴스 유형이 매우 작지만... 개인 웹페이지는 이정도면 일단 충분할 것으로 생각된다.
먼저 Structure를 보자
private subnet은 amazon linux 위에 직접 올린 nat instance를 이용해 외부와 통신하고,
비용적(그리고 여러 이유..)인 측면을 고려해 nat instance는 bastion host의 역할도 겸하여
DB Instance에 ssh 통신이 필요할 경우 nat instance를 통해 통신할 수 있도록 bastion host의 역할도 주었다.
이 과정에서 nat instance 설정은 내 게시글 NAT Isntance 직접 구축하기를 참조하였고,
en0X eth0 의 문제가 잠깐 있었지만 트러블슈팅 후 게시글에 추가해두었다.
django 설치 및 연동은 이 게시글 django로 웹페이지 만들기를 통해 진행하였다.
기본적으로 VPC는 인스턴스를 생성하는 순간 하나 만들어주는데,
해당 VPC의 subnet은 public subnet 뿐이므로 private subnet을 채용하고 싶다면 subnet을 추가해주어야 한다.
기본으로 있는 subnet 중에 웹이 올라가있는 하나를 public으로 하고 private을 생성하였다.
만들때는 따로 private이라는 옵션이 없는데, 그것은 당연하게도 라우팅 테이블을 연동해줄 때 private과 public을 사용하기 때문이다.
라우팅 테이블로 가서 설정이 하기와 같이 되는 테이블을 하나 만들어준다.
첫번째 규칙에서 대상은 nat instance이고
두번째 규칙은 vpc내의 vm끼리 통신하겠다는 내용이므로 이 라우팅 테이블을 private subnet에 연동시켜준다.
이외에는 이전에 nat instance 설정한것과 똑같이 하면 된다.
그러면 간단하게 웹 , DB , nat 가 존재하는 라이트한 구조를 만들어볼 수 있다.