Node.js 앱 서버 AWS OpsWorks 스택 레이어 - AWS OpsWorks

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

Node.js 앱 서버 AWS OpsWorks 스택 레이어

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

참고

이 계층은 Linux 기반 스택에서만 사용할 수 있습니다.

Node.js 앱 서버 계층은 Node.js 애플리케이션 서버 역할을 하는 인스턴스에 대한 청사진을 제공하는 AWS OpsWorks 스택 레이어입니다. AWS OpsWorks 또한 스택은 Express를 설치하므로 해당 계층의 인스턴스는 표준 애플리케이션과 Express 애플리케이션을 모두 지원합니다.

설치: Node.js가 /usr/local/bin/node에 설치됩니다.

[계층 추가] 페이지는 다음 구성 옵션을 제공합니다.

Node.js 버전

현재 지원되는 버전의 목록은 AWS OpsWorks 스택 운영 체제 단원을 참조하세요.

사용자 지정 보안 그룹

이 설정은 빌트인 AWS OpsWorks Stacks 보안 그룹을 레이어와 자동으로 연결하지 않도록 선택한 경우에 나타납니다. 계층에 어떤 보안 그룹을 연결할지 지정해야 합니다. 자세한 내용은 새 스택 생성 섹션을 참조하세요.

Elastic Load Balancer

Elastic Load Balancing 로드 밸런서를 어떤 계층의 인스턴스에도 연결할 수 있습니다.

중요

Node.js 애플리케이션이 SSL을 사용하는 경우, 가능하다면 SSLv3를 비활성화하여 CVE-2015-8027에 설명된 취약성을 해결하는 것이 좋습니다. 그러려면 [Node.js 버전]을 0.12.9로 설정해야 합니다.

Node.js 앱 배포

AWS OpsWorks Stacks를 위한 간단한 Node.js 애플리케이션을 구현하여 스택에 배포하는 방법의 자세한 안내는 첫 번째 Node.js 스택 생성 단원을 참조하세요. 일반적으로 AWS OpsWorks Stacks용 Node.js 애플리케이션이 충족해야 하는 조건은 다음과 같습니다.

  • 메인 파일의 이름은 server.js여야 하며, 배포된 애플리케이션이 루트 디렉터리에 상주해야 합니다.

  • Express 앱은 애플리케이션의 루트 디렉터리에 package.json 파일을 포함해야 합니다.

  • 기본적으로 이 애플리케이션은 포트 80(HTTP) 또는 포트 443(HTTPS)에서 수신해야 합니다.

    다른 포트에서도 수신 대기할 수 있지만 Node.js 앱 서버 계층의 내장 보안 그룹인 AWS- OpsWorks -NodeJS-App-Server는 포트 80, 443, 22 (SSH) 로의 인바운드 사용자 트래픽만 허용합니다. 다른 포트로의 인바운드 사용자 트래픽을 허용하려면 적절한 인바운드 규칙을 사용하여 보안 그룹을 생성하고 Node.js 앱 서버 계층에 할당합니다. 내장 보안 그룹을 편집하여 인바운드 규칙을 수정하지 마십시오. 스택을 생성할 때마다 AWS OpsWorks Stacks는 기본 제공 보안 그룹을 표준 설정으로 덮어쓰므로 변경한 내용은 모두 손실됩니다.

참고

AWS OpsWorks 스택은 PORT 환경 변수를 80 (기본값) 또는 443 (SSL을 활성화한 경우) 으로 설정하므로 다음 코드를 사용하여 요청을 수신할 수 있습니다.

app.listen(process.env.PORT);

SSL을 지원하도록 Node.js 앱을 구성하는 경우 키와 인증서를 지정해야 합니다. AWS OpsWorks 스택은 다음과 같이 각 애플리케이션 서버 인스턴스의 데이터를 /srv/www/app_shortname/shared/config 디렉터리에 별도의 파일로 저장합니다.

  • ssl.crt – SSL 인증서입니다.

  • ssl.key – SSL 키입니다.

  • ssl.ca – 체인 인증서(지정한 경우).

애플리케이션은 이러한 파일에서 SSL 키와 인증서를 가져올 수 있습니다.