프로젝트/컴파일 설치로 AWS 3-Tier 구축하기(+테라폼)

[AWS 3-Tier 구축하기 2] Bastion으로 Private 인스턴스 접속하기(AnyWhere IP 없이)

su-mmer 2023. 3. 28. 11:14
728x90

 

EC2 구성

요구되는 구성 사항에 맞춰서 EC2를 설정한다.

 

Bastion Host

보안그룹에서 먼저 하나 만들고, 내 IP에서 22번 포트로만 SSH 접속을 할 수 있게 인바운드 규칙을 설정했다.

아웃바운드는 아직 안 건드렸다.

 

EC2를 생성하는데, public vpc로 설정해야 외부에서 접근이 가능하다.

외부 접근을 위해 퍼블릭 IP도 자동할당 해준다.

보안그룹은 아까 만든 걸로 설정했다.

 

EC2에 접속 완료!

 

EC2 - WEB01, WEB02, WAS01, WAS02, DB01

private subnet에 넣어주고 퍼블릭 IP는 비활성화 시킨다.

보안 그룹은 새로 생성한다.

 

보안그룹의 규칙은 소스로 bastion sg를 선택하여 bastion EC2를 통해서만 이 WEB01 EC2에 들어올 수 있도록 한다.

보안 그룹의 인바운드 소스를 다른 보안그룹으로 설정하면 서로 보안그룹에 연결된 EC2의 private IP를 통해 트래픽이 전달된다.

 

bastion EC2 서버에 pem 키를 올리고 WEB01 인스턴스로 ssh 접속한다.

 

같은 방식으로 private-1c-01 subnet에 WEB02도 만들어준다.

보안그룹은 WEB01에서 생성한 보안그룹으로 선택한다.

bastion에서 접속되는지 확인한다.

 

private-1a-02에 WAS01 EC2를 생성한다.

 

WAS는 보안그룹을 따로 쓰니까 또 보안그룹을 새로 생성해준다.

인바운드에는 22번 포트로 bastion-sg를 연결해주었다.

생성하고 bastion에서 접속 가능한지 확인하자.

 

private-1c-02에 WAS02 인스턴스를 생성하자.

bastion으로 접속되는지 확인한다.

 

마지막으로 private-1a-03 서브넷에 DB01 인스턴스!!

인바운드 규칙의 소스로 bastion-sg 등록해주었다.

생성 후 bastion으로 접속 되는지 확인한다.

 

다음에는 생성한 인스턴스에 Apache, Tomcat, MySQL 설치 ⸜(*ˊᗜˋ*)⸝

728x90