ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ELB SSL
    생활코딩 AWS 2022. 11. 25. 00:30

    ---
    https://youtu.be/UEk6fUcn9Ic


    ---
    https://opentutorials.org/course/608/4907
    원래 이 큰 흐름안에 있던 강의

    ---
    ELB에 SSL인증서를 설치하는 방법

    ELB = 로드밸런서 = EC2인스턴스를 여러개를 클러스터링해서 큰 퍼포먼스를 발휘할 수 있도록 해주는 단일 진입점

    어떤 서비스가 ELB를 사용한다고 한다면
    HTTPS로 사용자가 접근했을 때 접점이 되는 게 ELB가 되기 때문에, ELB자체에다가 SSL서비스를 설치해야 한다.

    ELB를 통해서 EC2로 들어갈 때 둘간에 통신이 이뤄지는데 그럼 이 경우엔 EC2는 SSL통신을 제공할 필요가 없다
    왜냐면 ELB와 EC2사이에는 완전하게 제3자가 끼어들 수 있는 방법이 없는 상태로 통신이 이뤄지기 때문

    그래서 ELB에다가 SSL인증서를 설치해서, SSL서비스를 제공하는 방법 살펴볼 것

    ---

    로드밸런서의 리스너 부분

    HTTP 80번 포트만 제공하고 있는 상태

    HTTPS를 선택하면

    443포트
    Instance Protocol은 EC2인스턴스는 어떤 프로토콜을 사용해서 ELB와 통신할것이냐

    여기서 HTTPS를 쓸 수도 있지만(▽이거 고를 수가 있구나)
    HTTP를 사용하면 된다

    SSL은 암호화된 통신방법이고, 암호화된 통신방법은 공짜가 아니다.
    클라이언트와 서버가 통신을 할 때는 양자 사이에 암호화된 데이터를 주고받기 때문에 그 과정에서 많은 부하가 발생한다. ▽아 그냥 더 큰 부하가 생겨서 돈이 더 들겠구나

    EC2를 써서 SSL을 제공한다고 하면 그 부하를 다 EC2가 감당해야하는데
    EC2앞단에다가 ELB를 붙이게 되면 그런 부하를 ELB에게 위임할 수 있다는 장점

    AWS에선 HTTPS를 이용한다고 해서 더 과금을 부여하지도 않음 HTTPS를 통해 더 많은 부하가 ELB로 가게되면 AWS는 알아서 스케일업을 하기 때문에 이 부분에 대해서 더 이상 신경 쓸 필요가 없고, EC2입장에선 더 많은 비용을 절감할 수 있다. 이런것도 ELB를 사용하는 이유다. ▽Azure는 Application Gateway가 스케일아웃해서 돈 더 냈던 것 같은데??

    ---
    이렇게 세팅을 해놓으면 사용자가 SSL로 접근할 떈 ELB로 접근할테고
    ELB가 EC2인스턴스로 접근할 땐 HTTP통신을 쓰기 때문에 더이상 암호화로 인한 시스템의 부하가 발생하지 않는다

    ---

    여기에 여러분이 갖고 있는 SSL인증서에 대한 정보를 세팅해야한다.

    저는 OOO2.org라고 하는 도메인을 이 ELB서비스에다가 현재 붙여놓은 상태인데 (이전 강의 https://opentutorials.org/course/608)

    Choose ~ existing ~ 은 여러분이 이미 인증서를 세팅해놨다면 그거 선택하면 된다

    신규로 인증서를 ELB에 붙여야 한다면

    이걸 선택하는데 이름은 아무거나 하고 저 세개에 뭘 넣는지는
    https://opentutorials.org/course/228/4894

    HTTPS와 SSL 인증서 - 생활코딩

    HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이

    opentutorials.org

    이 강의보면 되는데

    중간즈음에 startssl이라는 ssl인증서인증기관을 통해 인증서를 발급받게 되는데 그걸 발급받게 되면

    이렇게 네가지의 파일이 만들어진다
    파일에 있는 내용을 저 위의 세개의 칸에다가 입력하면 된다

    ---

    Public Key Certificate은 ssl.crt
    (내용은 보안을 위해 내용을 수정한 상태)

    정확히 이 만큼을 넣어야 한다
    Certificate Chain은 sub.class1.server.ca.pem
    똑같이 저만큼
    Private Key라고 돼 있는 부분은 그대로 입력하면 안되고 저 강의에 나와 있듯이

    이걸 이용해서 변환해야해

    인증 비밀키의 패스워드를 입력하고
    ssl.aws.key라는 파일이 생겼고
    cat한 내용을 카피한 다음 Private Key쪽에 넣는다

    이런식으로 된다

    그 다음 이렇게 나오면 성공적으로 된 것

    ---

    그리고 여기서 이렇게 나오고, save를 누르면

    Load Balancer Protocol 컬럼 HTTPS를 추가했다!

    ---

    이렇게하면 http

    https붙여서 자물쇠가 표시가 된다면
    제가 갖고 있는 ELB서비스에 ooo2.org를 연결했고, ooo2.org에 연결할 때 https로 공인인증기관에서 발급한 인증서로 보증되는 통신을 할수가 있게 된다

Designed by Tistory.