CrowdFunding 추가구현(nat gateway, bastion host) - 1

지정온·2023년 7월 21일
0

[DevOps]CrowdFunding

목록 보기
9/9

private subnet과 연결하기!


다음과 같은 구조를 가질 수 있겠다고 생각!

ec2, rds 모두 private

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생성

alb로 접근을 할 수가 없다!! (health check fail!)
-> 현재 private에 생성된 ec2를 template화해서 public에 생성하면 접근할 수 있다!

alb로 접근할 수 없다!

원인 1) index.html 경로 문제!
index.html을 생성해서 접근하게 userdata를 작성하고 public에 ec2를 생성하면 잘 작동함
-> healthcheck만 작동하지 않는구나!

원인 2) 로드밸런서의 문제
어떤게 정확히 문제인지는 아직..

원인 3) pubsub에서 접근할 prisub이 없다

prisub를 하나 더 만들어 주어도 같은 결과

로드밸런서도 떼고 private ec2만 놓아보기!
-> private으로 들어갈 수 있는게 없다고 생각!
-> 오류! 이와같은 구조로는 연결할 수가 없어!
-> 추가 적인 작업이 필요하겠군!

Bation Host

  • bastion host는 다른 것이 아닌
    이처럼 특정 경로를 통과한 ec2만 접근하게 끔 private ec2의 보안그룹을 설정하는 것!

  • 접속!

Nat Gateway

  • natgateway 생성전

  • natgateway 생성

외부와 연결됨

apt-get을 통해 외부에서 받아올 수 있게됨

해결!

이렇게 해도 alb의 health check는 fail

  • private subnet의 ec2에 대해 health check하는 포트인 80이 private subnet의 보안그룹에 없어서 문제가 생겼던 것!

보안을 위한 구조


private에 natgateway만 추가하게 되면 가장 보안적으로 뛰어나다고 생각이 되는 구조라고 생각이 됨

앞으로 아키텍쳐 구성시 위와 같은 그림을 가지는 구조로 만들어야겠다고 생각!

profile
가보쟈고

0개의 댓글