제수기 - 제발 수업내용을 기억해라 / 단순 수업정리 시리즈
AWS EB는 DNS 작업을 ROUTE53으로 제공하고 있다.
참고) Router53은 호스팅 영역당 0.5달러다. 프리티어 없음.
호스팅 영역 구성
ex) abc.com hosting
abc.com에 대한 hosting 영역이 만들어졌는데, 그 하위에 있는 걸 레코드라고 칭한다.
ns record, soa record 등 원하는 레코드 타입을 등록해서 원하는 서비스들을 eb에 연결까지 할 것
그럼 이제 route53의 nameserver를 실제 hosting 업체에 등록해줘야 한다. 클릭하면 레코드 세부 정보 값이 4개나 생긴다. 물리적으로 가까운 ip 네임칩 4개 복사
namecheap 사이트의 domain list > 내 도메인의 renew 토글 선택 -> Manage
nameserver를 custom DNS로 바꾸고, 네임칩 4개를 여기에 넣어준다. 초록색 체크표시 눌러서 저장
레코드를 그냥 도메인 이름 치면 나오게 하는거랑, 앞에 www 붙인 거랑 이렇게 2개를 A-IPv4 주소로 만들어보자.
참고로 AWS 리소스로 트래픽 라우팅을 할 수 있다는 점이 Route53의 큰 매리트다. 무슨 말인지는 모르겠다.
이번에는 레코드 이름에 www 이거 쓰고 나머지 동일하게 해서 레코드 하나 더 생성
고가용성이란? 하나가 죽어도 다른 하나가 살아있어서 서버가 죽지 않는 것.
그걸 위해 구조를 아래와 같이 가져간다.
VPC는 개인 클라우드 네트워크라고 보면 되고, 가용영역을 a b c 이렇게 제공하고 있다. 이 안에서 운용되고 있던 ec2가 중단됐을 때 가용영역이 다른 또 다른 어딘가에서 ec2가 가동되고 있어서 서비스 사용하는 입장에서는 서비스가 끊기지 않는다.
AWS 콘솔 > EB > Environments > 구성 > 네트워킹 및 데이터베이스 '편집' 클릭
인스턴스 서브넷을 기존 1개에서 2개로 선택을 늘려준다.
구성 > 인스턴스 트래픽 및 크기 조정 ' 편집'
트래픽 부하를 관리하는 로드 밸런스 추가 필요
settings_prod.py > ALLOWED_HOSTS = [] 안에 도메인 주소 추가 입력
https를 적용하려면 acm이 있어야 한다.
인증서는 클라이언트와 서버 사이에 중간 https 메시지가 갈취당해도 그 내용을 못보게 하는 것.
AWS Certificate Manager > 인증서 > 인증서 요청
*.
내 도메인이 도메인이 내꺼라는 걸 인증서 발급 기관에 인증받아야 한다.
-> 요청 눌러서 일단 만들고,
들어가서 다 체크하고 '레코드 생성'
이제 eb 앞에 있는 alb한테 인증서를 붙여주면 된다.
만약 AWS 환경이 아닌데 https를 추가하려면 ngix에서 추가하는 방법이 있다. 인증서를 따로 발급받아서 ngix에 적용. AWS에 비해 조금 복잡하다.
id, password 쓰면 다 털린다. 요청 가로채는 툴이 정말 잘 돼있다. 그러나 인증서 통해서 암호화된 상태로 날라가는 메시지를 가로채면 무슨 내용인지 알 수 없다.