[정보] AWS 웹에 HTTPS서비스를 위한 무료 SSL인증서 발급 및 적용 정보 배포, Elastic Load Balancers(ALB), Certificate Manager, Amazon Route 53

  • 적용 이유

HTTPS 접속 서비스를 위한 SSL인증서 사용은 기본적인 웹데이터 보안이며 이러한 서비스를 권장 및 이용 조건으로 활용하는 곳도 많이 있다.
SSL인증서는 무료로 발급해(Let's Encrypt) 주는 곳도 있지만 대부분 1년 주기 유료이며 적용이나 갱신시 따로 장비마다 작업해야 번거로움이 생긴다. AWS인증서는 무료로 활용할 수 있으며 Load Balancers를 통해 관리하면 AWS콘솔에서 쉽게 설정할 수 있다.
Load Balancers는 단일 트레픽에 대한 부하 분산에 사용되는 기술로, AWS Elastic Load Balancers는 트레픽당 과금이 되는 유료 서비스으로 사용 요금이 구매 비용보다 클수도 있지만 관리적 이점 서비스확장을 고려하여 적용하였다. 


  • 적용 조건

    • AWS ec2를 사용
    • Amazon Route 53를 통한 DSN 관리(도메인은 가비아에서 구매 후 ns 설정함)
    • AWS Elastic IP 서비스 이용

  • 관련 AWS 서비스 

    • Certificate Manager
    • Elastic Load Balancers(ALB)
    • Amazon Route 53

  1. Certificate Manager, 인증서 발급

  • 서비스>보안,자격 증명 및 규정 준수>Certificate Manager>인증서 프로시저닝 
  • 공인인증서 요청 

  • 1단계: 도메인 이름 추가
    • 서비스 하고자 하는 도메인 입력(example.com/*.example.com)

  • 2단계: 검증 방법 선택
    • DNS검증(Amazon Route 53 자체 DNS사용시)
  • 3단계: 태그 추가(필수 아님)
  • 4단계: 검토 및 요청
  • 5단계: 검증
    • 상태가 아래와 같이 '검증 보류', '인증서 관리자'에서 레코드 생성하고 Route 53에 CNAME를 생성해야 함
 
  • 인증서 관리자 메뉴(서비스>보안,자격 증명 및 규정 준수>Certificate Manager)
    • '도메인' 그룹에서 해당 도메인의 팝업 버튼을 눌러 하위 메뉴에서 "Route 53에 레코드 생성"
    • 위에서 생성한 두 개의 도메인 모두에서 실행

    • 완료 화면

    • aws: 서비스>네트워킹 및 콘텐츠 전송>Route 53>DNS 관리> example.com
      • 생성된 'CNAME' 유형 확인

2. Elastic Load Balancers 생성

  • aws: 서비스> ec2> 로드 밸런서> 생성
    • Application Load Balancer 선택

  • 1. 로드 밸런서 정의
    • 프로토콜 중 HTTPS를 추가 한다.

  • 2. 보안 그룹 할당
    • 기존 사용하던 보안그룹 선택
  • 3. 보안 설정 구성
    • 인증서 유형: ACM에서 인증서 선택
    • 인증서: 위에서 생성한 인증서 선택

  • 4. 상태 검사 구성  ~ 7. 검토
    • 기본 설정 그대로 사용  

3. Route 53에 ALB연결

  • 서비스>네트워킹 및 콘텐츠 전송>Route 53>DNS 관리> example.com
    • example.com A 레코드>별칭('예')>별칭대상>ELB(Application Load Balancer) 선택


4. http접속을 https로 리다이렉트

  • 서비스>로드 밸런서>리스너>http, 규칙>규칙 보기/편집


  • 수정 탭으로 이동하여 기존 규칙을 리다이렉트 대상으로 수정

잠시 뒤 https://example.com로 접속

댓글

이 블로그의 인기 게시물

[유니티] 오류 사례 "Moving file failed", "Temp"

[유니티] 구글 지도 출력 샘플

[Flutter] flutter setup error, "Unable to locate Android SDK.", "[!] Connected device"