기본 VPC의 경우에는 EC2를 생성할때 자동으로 인스턴스에 Public IP가 자동으로 붙는다.
이퍼블릭 IP는 생성되면 뗄수도없고 인스턴스를 종료후 재생성 해야지만 된다.
Private subnet 에서도 Public IP가 생성되는것이므로 보안상의 취약점을 초래한다.
따라서 인스턴스를 생성할때는
이렇게 퍼블릭 IP가 비활성화로 생성해야하는데 매번 일일이 신경써서 하기엔 불편하다.
VPC-서브넷 에서 자동 할당 IP 설정 수정 옵션을 해제해주면 된다.
해제하고 저장후 인스턴스를 생성해보면 아래와 같이 확인된다.
스샷에서 보이듯 서브넷의 기본설정을 수정하여 자동으로 비활성화 할수있다.
이미붙은 Public IP는 뗄수 없다.
명심하자. 모든 EC2는 Public IP 없이 생성해야한다.
읽어주셔서 감사하다!
좋은하루 되시라!
혹시 AWS에 대해 물어봐도 될까요?
WEB-DB 2계층 구성하는데 DB를 RDS(mysql)사용해서 만들고 read replica를 생성해서 사용하고 싶은데,
웹에 DB 연결 할 때 어떻게 연결해야 할까요? 각각 엔드포인트가 있고, master에만 쓰기 몰아주고
read replica에는 읽기만 주고싶은데 어떻게 트래픽을 라우팅 할 수 있을까요?
최종적으로 완성하고 싶은건 오토스케일링으로 묶인 웹계층에서 AZ1의 마스터DB, Read replica1 DB, AZ2의 read replica2 DB를 연결하고 쓰기는 AZ1마스터 DB로 읽기는 AZ1, AZ2의 read replica로 보내고 싶은데 방법을 아시나요?
mysql proxy를 이용하여 읽기쓰기를 분리하세요..
그게아니면 소스단에서 직접분리해야합니다.
일단 Master와 ReadReplica의 읽기 쓰기 쿼리는 웹단에서 구분하기로 했는데
ReadReplica가 여러개면 랜덤하게 DB에 분리하는 방법을 모르겠습니다 ㅠ
혹시 이것에 대한 방법을 알고 계신가요?
일반적으로 그런방식을 분산하려고 한다면 NLB가 일반적이겠죠..
https://downloads.mysql.com/docs/mysql-proxy-en.pdf
위 문서를 참고하시기 바랍니다.
이게 제일 좋은 방법 같네요.
답글 정말 감사합니다.
그런데 aws 내에서는 조절 할 수 없나요 일단 로드밸런서는 안되는거 같고, route53으로 가중치 조절을 해볼려고 했는데 그건 외부 리전에 사용하는거 같더라고요
그리고 마스터DB와 읽기전용본을 같은 vpc에 사용하여 쓰기 성능을 향상 시키는 방법이 좋은 아키텍처인가요?
처음엔 그렇게 목표를 잡고 했는데 찾아보다 보니 활발하게 사용하지 않는거 같아서요..
만약에 사용하고 읽기 /쓰기,수정,삭제를 분리 한다면 웹서버에는 DB연결을 어떤식으로 해야하는지 알 수 있을까요?
웹과 DB연결을 할 때 웹에서 DB를 설정하는 방식인데 마스터와 Read Replica를 어떤식으로 연결해야 할 지 모르겠네요 ㅠ
감사합니다.
일단 aws 에서 인스턴스를 사용한다는것이 좋은 아키텍쳐는 아닙니다..
RDS를 추천합니다.