Elastic Beanstalk 환경에 사용할 HTTPS 구성 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Elastic Beanstalk 환경에 사용할 HTTPS 구성

Elastic Beanstalk 환경에 대한 사용자 지정 도메인 이름을 구매하고 구성한 경우, HTTPS를 사용하여 사용자가 안전하게 웹 사이트에 연결할 수 있습니다. 도메인 이름이 없는 경우, 자체 서명된 인증서가 있는 HTTPS를 개발 및 테스트 용도로 사용할 수 있습니다. 사용자 데이터 또는 로그인 정보를 전송하는 애플리케이션에서 HTTPS는 필수입니다.

Elastic Beanstalk 환경에서 HTTPS를 사용하는 가장 간단한 방법은 환경 로드 밸런서에 서버 인증서를 할당하는 것입니다. HTTPS를 종료하도록 로드 밸런서를 구성할 때 클라이언트와 로드 밸런서 간의 연결은 보호됩니다. 로그 밸런서와 EC2 인스턴스 간의 백엔드 연결은 HTTP를 사용하기 때문에 추가로 인스턴스를 구성할 필요가 없습니다.

참고

AWS Certificate Manager(ACM)을 사용하면 도메인 이름에 대한 보안 인증서를 무료로 만들 수 있습니다. ACM 인증서는 AWS 로드 밸런서와 Amazon CloudFront 배포를 통해서만 사용할 수 있으며, ACM은 특정 AWS 리전에서만 사용 가능합니다.

Elastic Beanstalk에서 ACM 인증서를 사용하려면 단원을 참조하십시오HTTPS를 종료하도록 Elastic Beanstalk 환경의 로드 밸런서 구성

단일 인스턴스 환경에서 애플리케이션을 실행하거나 로드 밸런서를 거쳐 EC2 인스턴스까지 연결 보안을 유지해야 할 경우, HTTPS를 종료하도록 인스턴스에서 실행되는 프록시 서버를 구성할 수 있습니다. HTTPS 연결을 종료하도록 인스턴스를 구성하려면 구성 파일을 사용하여 인스턴스에서 실행 중인 소프트웨어를 수정하고, 보안 연결을 허용하도록 보안 그룹을 수정해야 합니다.

로드 밸런싱 수행 환경의 종단 간 HTTPS의 경우, 인스턴스와 로드 밸런서 종료를 결합하여 두 연결을 암호화할 수 있습니다. 기본적으로 HTTPS를 사용하여 트래픽을 전달하도록 로드 밸런서를 구성하는 경우, 백엔드 인스턴스가 제시한 인증서를 신뢰합니다. 보안을 극대화하기 위해 신뢰할 퍼블릭 인증서를 제시하지 않는 인스턴스 연결을 금지하는 정책을 로드 밸런서에 연결할 수 있습니다.

참고

암호를 해독하지 않고 HTTPS 트래픽을 릴레이하도록 로드 밸런서를 구성할 수도 있습니다. 이 방법의 단점은 로드 밸런서가 요청을 확인할 수 없기 때문에 라우팅을 최적화하거나 대응 측정치를 보고할 수 없다는 것입니다.

리전에서 ACM을 사용할 수 없는 경우, 타사의 보안 인증서를 구매할 수 있습니다. 타사 인증서를 사용하여 로드 밸런서, 백엔드 인스턴스 또는 두 개 모두에서 HTTPS 트래픽의 암호를 해독할 수 있습니다.

오픈 소스 도구를 사용하여 개발 및 테스트 용도로 인증서를 만들어 서명할 수 있습니다. 자체 서명된 인증서는 무료이며 만들기 쉬우나, 퍼블릭 사이트에서 프런트 엔드 해독에는 사용할 수 없습니다. 클라이언트와 HTTPS 간의 연결에 자체 서명된 인증서를 사용하려는 경우, 사용자의 브라우저에 웹 사이트가 안전하지 않다는 오류 메시지가 표시됩니다. 그러나 자체 서명된 인증서를 사용하여 문제 없이 백엔드 연결을 보호할 수 있습니다.

ACM은 서버 인증서를 프로그래밍 방식이나 AWS CLI를 사용하여 프로비저닝 및 관리하고 배포하는 데 선호되는 도구입니다. 사용자의 AWS 리전에서 사용할 수 없는 경우 AWS CLI를 사용하여 AWS Identity and Access Management(IAM)에 서드 파티 또는 자체 서명된 인증서와 프라이빗 키를 업로드할 수 있습니다. IAM에 저장된 인증서는 로드 밸런서와 CloudFront 배포를 통해 사용할 수 있습니다.

참고

GitHub의 Does it have Snakes? 샘플 애플리케이션에는 Tomcat 웹 애플리케이션으로 HTTPS를 구성하는 각 방법에 대한 지침과 구성 파일이 포함되어 있습니다. 자세한 내용은 readme 파일HTTPS 지침을 참조하십시오.