2021.05.12 - aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포
다 끝났다고 생각했는데,...다시 돌아가네..
다시 이전에 문제점부터 생각해보면 2가지가 있었다.
1. ip주소가 바뀐다.
2. 도메인이 필요하다.
그리고 지금까지 한 일은
1. 고정ip를 만들기 위해서 eip를 할당하고, ec2에 연결했다.
2. 가비에서 도메인을 샀다.
3. route53의 호스트존에 가비아에서 발급받은 도메인을 넣었다.
4 .가비아의 네임서버에 route53의 ns레코드를 넣었다.
5. 이제 마지막, a레코드로 도메인에 해당하는 eip를 넣는다.
하지만, 여기에서 ip만으로 어떻게 http프로토콜로 들어오는 5000번 포트를 찾아낼 것이냐! 가 문제였다.
단지 ip주소만으로 찾는것 뿐만 아니라 applicatoin단까지 http와 포트까지 찾아야 해서 elb가 필요한듯 했다.
그리고 elb는 이 자체만으로도 eip의 역할을 하니까, EC2에겐 고정IP처럼 고정적인 이름이 생기는것이다.
그래서 EIP는 삭제하고, elb를 생성해서 EC2와 연결한 뒤, 다시 ROUTE53에 등록하기로 했다.
ELB 생성하기
1. alb생성 : 외부용
트러블슈팅히스토리. 아놔 IP부족해서 서브넷을 못만들잖아..?
2. 보안그룹 구성
로드밸런서의 포트는 80이다. 그래서 80까지 인바운드 규칙을 추가한 보안그룹을 연결한다.
3.라우팅구성
여기에서 나의 의문점이 해결되었다.
로드밸런서를 통해서 찾아오면, 이제 http프로토콜의 5000번 포트로 찾아갈 수 있게 라우팅구성을 해준다.
4.대상 등록
여기까지 완성이 되면, ELB DNS이름으로 접속을 하게 되면 웹이 연결될 것이다1
트러블슈팅히스토리. 타겟이 unhealthy일떄, elb DNS로 접속해보니가 502 BAD Gateway였다.
알고보니 어플리케이션을 꺼놨따. ec2에 접속해서 내 flask 웹을 켰다. python3 app.py
도메인연결, ROUTE53
이제 다왔다!!
이전에 EIP를 넣었는데 이번엔 별칭대상으로 ELB주소가 나온다.
그래서 A레코드 타입으로 ELB를 새로운 레코드로 넣어주면 된다!
트러블슈팅히스토리. CNAME이 아니라 A레코드 타입으로 넣는다!!
ELB의 주소를 넣는다고 생각해서 별칭이라고 이해해버렸나보다.
그래서 그런지 A레코드가 아니라 CNAME으로 들어가야하는 줄 알았다.
그래서 조금 헤맸는데 생각해보니 ELB자체가 내부에선 IP가 여러가지로 바뀌니까, IP주소정보이지 않는가!
대신 실제로 모습이 IP숫자가 아닌 주소라서 이걸 별칭으로 삼았을 뿐이다.
CNAME은 도메인의 별명이라서 직접 사용하는 도메인명과 비슷하다.
예를 들면, www.what-news.shop의 별명이라고 aws.what-news.shop를 cname으로 등록하면
등록한 aws.what-news.shop도 사용할 수 있는 것이다.
그리고 ROUTE53의 레코드에는 이렇게 저장된다.
최종결과 성공! 얏호!
이렇게 레코드세트까지 등로이 되면 완료이다.
아래의 주소로 들어가면, 내가 개발한 flask웹이 나온다!
그러고보니 db는 어떻게 연결이 되려나?
앞으로가 더 문제일지도.....
출처
elb추가해서 route53에 연결하기
'사이드 프로젝트 > 뉴스구독 웹서비스' 카테고리의 다른 글
aws whats'new 뉴스레터 업그레이드4 | 향후 SQS 변경예정 (0) | 2021.05.14 |
---|---|
aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(DB)+Cron (0) | 2021.05.13 |
aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(Route53) (0) | 2021.05.12 |
aws whats'new 뉴스레터 업그레이드2 | 구독이메일 mongoDB 저장 (0) | 2021.05.11 |
aws whats'new 뉴스레터 업그레이드1| Flask웹 개발 (0) | 2021.05.11 |
aws whats'new 뉴스레터 업그레이드0 | 구독신청 웹페이지 기획 (0) | 2021.05.10 |