공부/AWS(25)
-
[AWS] HTTPS로 서버 배포하기 4편 (ALB와 private EC2 인스턴스 연결)
https://growth-coder.tistory.com/181 이전 포스팅에서 Route53에 도메인 설정을 마쳤다. 이제 ALB와 private EC2를 연결할 환경이 마련된 것이다. 이제 ALB를 통해서 외부 요청을 private subnet에 존재하는 EC2로 보내고 응답을 받아서 외부로 반환해주는 설정을 할 것이다. 1. public subnet 생성 ALB가 위치할 public subnet을 생성한다. 외부 요청을 받아야하므로 public subnet에 ALB가 존재해야한다. 이전 포스팅과 동일하기 때문에 설명은 생략한다. 참고로 서로 가용 영역이 다른 public subnet 두 개를 생성해야한다. ALB를 생성할 때 최소한 두 개의 가용 영역을 선택해야한다. 이전 포스팅에서 가용 영역 a..
2023.05.30 -
[AWS] HTTPS로 서버 배포하기 3편 (Route53에 도메인 연결)
https://growth-coder.tistory.com/180 이전 포스팅에서 private subnet에 EC2 인스턴스를 생성하고 session manager 방식으로 접근해보았다. 이제 EC2 서버를 배포할 도메인을 구매해서 Route53에 연결해보려고 한다. 우선 도메인을 구매한다. 나는 가비아를 이용하였다. 연습용이기 때문에 가장 싼 store 도메인을 구매하였다. https://www.gabia.com/ 웹을 넘어 클라우드로. 가비아 그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브 www.gabia.com 1. 호스팅 영역 생성 이제 aws의 Route53 -> 호스팅 영역 -> 호스팅 영역 생성에 들어간다. 도메인 이름을 입력해주고 우리는 인터넷에서 트래픽을 라우팅할 예정이므로 퍼블릭 ..
2023.05.26 -
[AWS] HTTPS로 서버 배포하기 2편 (NAT gateway 연결)
https://growth-coder.tistory.com/180 이전 포스팅에서 private subnet에 EC2 인스턴스를 두고 session manager로 접근까지 해봤다. 또한 인터넷 게이트웨이와 연결되어 있지 않기 때문에 ping 명령어로 보낸 패킷에 대한 응답을 받지 못한 것까지 확인했다. 이제 아키텍처 부분의 NAT gateway를 연결하려고 한다. 물론 HTTPS 서버 배포와 관련된 부분이 아니기 때문에 이 부분은 넘어가도 된다. 그런데 NAT gateway를 구성하려는 이유는 private subnet에 존재하는 EC2 인스턴스에서 기본적인 환경 세팅(mysql 설치 등등)의 과정에서 인터넷 연결이 필요해서 NAT gateway를 구성하려고 한다. NAT gateway를 사용하면 pr..
2023.05.24 -
[AWS] HTTPS로 서버 배포하기 1편 (session manager 방식으로 private EC2 접근하기)
https://growth-coder.tistory.com/170 [AWS] public subnet에 EC2, private subnet에 RDS 인스턴스 생성하기 (2) https://growth-coder.tistory.com/169 이전 포스팅에서 public subnet에 EC2 인스턴스를 생성해보았다. 이번 시간에는 private subnet에 RDS 인스턴스를 생성해서 EC2에서만 접근할 수 있도록 해 볼 예정이다. RDS를 growth-coder.tistory.com 이전에 private subnet에 RDS 인스턴스를 두고 public subnet에 EC2 인스턴스에서만 접근할 수 있도록 구성해봤다. RDS를 private subnet에 둠으로써 어느정도 보안은 강화했지만 EC2 인스턴스..
2023.05.22 -
[AWS] EC2 속도가 급격하게 저하되는 현상 (time out)
EC2에 스프링 부트 서버를 배포해서 프론트엔드와 통신하던 도중 EC2 속도가 급격하게 저하되는 현상이 발생하였다. 처음에는 원할하게 잘 진행되다가 어느 순간부터 속도가 느려지더니 결국 time out이 발생하였다. ALB를 통해서 EC2로 라우팅을 하도록 구성을 하였는데 ALB에서 health check에 실패하였고 원인은 time out이었다. time out의 발생 원인은 정말 다양할텐데 그 중 하나의 원인을 포스팅 해보려고 한다. 나 같은 경우는 EC2 인스턴스의 CPU 사용률이 100%에 가깝에 도달해서 발생한 문제였다. EC2 인스턴스의 모니터링 탭을 보면 이를 확인할 수 있다. 보다싶이 CPU 사용률이 최고 99.7%까지 올라갔었고 이로 인해 EC2 속도 저하 및 time out 에러가 발생..
2023.05.16 -
[AWS] public subnet에 EC2, private subnet에 RDS 인스턴스 생성하기 (2)
https://growth-coder.tistory.com/169 이전 포스팅에서 public subnet에 EC2 인스턴스를 생성해보았다. 이번 시간에는 private subnet에 RDS 인스턴스를 생성해서 EC2에서만 접근할 수 있도록 해 볼 예정이다. RDS를 생성하기 전에 서브넷 그룹부터 만들어볼 예정이다. EC2의 경우 인스턴스 하나에 서브넷 하나를 할당했지만 RDS는 "서브넷 그룹"을 할당한다. 서브넷 그룹에 서로 다른 가용 영역에 존재하는 서브넷 두 개를 넣어서 할당할 예정이다. 이렇게 서로 다른 가용 영역을 두는 것을 멀티 AZ(avaialble zone)이라고 한다. 그런데 프리 티어에서는 RDS의 멀티 AZ 기능을 사용할 수 없다. 이번 포스팅에서 실제로는 단일 인스턴스에 하나의 가용..
2023.05.03