로드 밸런싱을 위한 Lightsail 인스턴스 구성 - Amazon Lightsail

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

로드 밸런싱을 위한 Lightsail 인스턴스 구성

Lightsail 로드 밸런서에 인스턴스를 연결하기 전에 애플리케이션의 구성을 평가해야 합니다. 예를 들어 로드 밸런서는 데이터 계층이 애플리케이션의 나머지 부분과 분리되어 있을 경우 기능을 더 잘 발휘합니다. 이 단원에서는 각 Lightsail 인스턴스에 대해 설명하고, 로드 밸런싱 수행 여부(또는 수평 확장 조정)와 애플리케이션을 구성하는 최선의 방법에 대해 제안합니다.

일반 지침: 데이터베이스를 사용하는 애플리케이션

데이터베이스를 사용하는 Lightsail 애플리케이션의 경우 데이터베이스 인스턴스가 한 개가 되도록, 데이터베이스 인스턴스와 애플리케이션의 나머지 부분을 분리할 것을 권장합니다. 이렇게 하는 가장 큰 이유는 데이터베이스에 데이터를 여러 번 쓰지 않도록 하기 위해서입니다. 데이터베이스 인스턴스가 하나가 아니면 인스턴스 히트와 상관없이 데이터베이스게 데이터를 쓰게 됩니다.

WordPress

수평 확장 조정이 가능합니까? WordPress 블로그나 웹 사이트에 대해 가능합니다.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

  • 로드 밸런서에 대해 실행 중인 모든 WordPress 인스턴스가 동일한 장소에서 정보를 저장하고 가져올 수 있도록 데이터베이스를 분리합니다. 데이터베이스 성능을 높여야 할 경우, 웹 서버와 독립적으로 처리 능력과 메모리를 복제하거나 변경할 수 있습니다.

  • 파일과 정적 콘텐츠를Lightsail 버킷으로 오프로드하세요. 이렇게 하려면 WP Offload Media Lite 플러그 인을 WordPress 웹 사이트에 설치하고 Lightsail 버킷에 연결하도록 구성해야 합니다. 자세한 내용은 자습서: 스토리지 버킷에 WordPress 인스턴스 연결을 참조하세요.

Node.js

수평 확장 조정이 가능합니까? 예, 몇 가지를 고려하여 가능합니다.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

  • Lightsail에서, Bitnami에서 패키징한 Node.js 스택에는 Node.js, Apache, Redis(인메모리 데이터베이스), Python이 있습니다. 배포하는 애플리케이션에 따라 일부 서버에 대해 로드 밸런싱을 수행할 수 있습니다. 하지만 모든 웹 서버에 대해 트래픽 로드 밸런싱을 수행하고 Redis를 다른 서버로 이동하도록 로드 밸런서를 구성해야 합니다.

  • Redis 서버를 모든 인스턴스와 통신하도록 다른 서버로 분할합니다. 필요한 경우 데이터베이스 서버를 추가합니다.

  • Redis의 주요 사용 사례 중 하나는 중앙 데이터베이스를 계속 히트하지 않아도 되도록 데이터를 로컬 캐시에 저장하는 것입니다. 세션 지속성을 활성화하여 Redis의 성능 향상을 활용하는 것이 좋습니다. 자세한 내용은 로드 밸런서에 대한 세션 지속성 활성화를 참조하세요.

  • Redis 노드를 공유할 수도 있으므로 세션 지속성을 사용하여 각 머신에서 로컬 캐시를 사용하거나 노드를 공유할 수 있습니다.

  • Apache를 사용하여 로드 밸런서를 배포하려면 Apache 서버에 mod_proxy_balancer를 포함시켜 보십시오.

자세한 내용은 Node.js 애플리케이션 확장 조정을 참조하십시오.

Magento

수평 확장 조정이 가능합니까? 예.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

  • Amazon RDS 데이터베이스: Terraform Magento Adobe Commerce on AWS와 같은 추가 구성 요소를 사용하는 Magento의 AWS 참조 배포를 사용할 수 있습니다.

  • 세션 지속성을 활성화하십시오. Magento는 장바구니를 사용하며, 이는 여러 세션에서 여러 곳을 방문하는 고객이 새로운 세션을 위해 돌아왔을 때 장바구니에 품목을 유지할 수 있게 해줍니다. 자세한 내용은 로드 밸런서에 대한 세션 지속성 활성화를 참조하세요.

GitLab

수평 확장 조정이 가능합니까? 예, 고려 사항이 있으나 가능합니다.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

다음 요소를 갖춰야 합니다.

  • 실행 중이고 사용 가능한 Redis 노드.

  • 공유된 NFS(Network Storage Server).

  • 애플리케이션의 중앙 데이터베이스(MySQL 또는 PostgreSQL). 위의 데이터베이스에 대한 일반 지침을 참조하십시오.

자세한 내용은 GitLab 웹 사이트의 고가용성(High Availability)을 참조하세요.

참고

위에서 언급한 공유된 네트워크 스토리지 서버(NFS)는 현재로서는 GitLab 블루프린트에서 사용할 수 없습니다.

Drupal

수평 확장 조정이 가능합니까? 예. Drupal은 애플리케이션을 수평 확장 조정하는 방법을 설명하는 공식 문서인 서버 확장 조정을 제공합니다.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

여러 인스턴스 간에 파일을 동기화하도록 Drupal 모듈을 설정해야 합니다. Drupal 웹 사이트에서 몇 가지 모듈을 제공하지만, 이들은 프로덕션 용도보다는 프로토타입에 더 적합할 수 있습니다.

Amazon S3에 파일을 저장할 수 있는 모듈을 사용합니다. 이렇게 하면 각 대상 인스턴스에 별도의 사본을 두는 대신 한곳에서 파일을 관리할 수 있습니다. 즉, 파일을 편집할 경우 중앙 저장소에서 업데이트본을 가져오므로 히트 인스턴스에 상관없이 사용자가 동일한 파일을 볼 수 있습니다.

자세한 내용은 클라우드에서의 Drupal 수평 확장 조정을 참조하십시오.

LAMP 스택

수평 확장 조정이 가능합니까? 예.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

  • 별도의 인스턴스에 데이터베이스를 만들어야 합니다. 로드 밸런싱 대상의 모든 인스턴스가 동일한 장소에서 정보를 저장하고 가져올 수 있도록 이 데이터베이스 인스턴스를 지정해야 합니다.

  • 배포하려는 애플리케이션에 따라 파일 시스템을 고려하는 방법(NFS, Lightsail 블록 스토리지 디스크, Amazon S3 스토리지)을 생각해 보세요.

MEAN 스택

수평 확장 조정이 가능합니까? 예.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

MongoDB를 다른 머신으로 옮기고 Lightsail 인스턴스에서 루트 문서를 공유하는 방법을 구성합니다.

Redmine

수평 확장 조정이 가능합니까? 예.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

  • Redmine_S3 플러그인을 받아서 로컬 파일 시스템이 아니라 Amazon S3에 첨부 파일을 저장합니다.

  • 데이터베이스를 다른 인스턴스와 분리합니다.

Nginx

수평 확장 조정이 가능합니까? 예.

한 개 또는 여러 개의 Lightsail 인스턴스를 Nginx에서 실행하고 Lightsail 로드 밸런서에 연결할 수 있습니다. 자세한 내용은 NGINX로 웹 애플리케이션 확장 조정, 1부: 로드 밸런싱을 참조하십시오.

Joomla!

수평 확장 조정이 가능합니까? 예, 고려 사항이 있으나 가능합니다.

Lightsail 로드 밸런서를 사용하기 전 구성 권장 사항

Joomla! 웹 사이트에 대한 공식 문서는 없지만 해당 커뮤니티 포럼에 몇 가지 설명이 있습니다. 일부 사용자는 클러스터가 있는 Joomla! 인스턴스를 다음과 같은 구성으로 수평 확장 조정할 수 있었습니다.

  • 세션 지속성을 활성화하도록 구성한 Lightsail 로드 밸런서. 자세한 내용은 로드 밸런서에 대한 세션 지속성 활성화를 참조하세요.

  • Joomla!가 실행되는 여러 Lightsail 인스턴스가 동기화된 Joomla!의 문서 루트가 있는 로드 밸런서에 연결됨. 이렇게 하려면 Rsync와 같은 도구를 사용하여 모든 Lightsail 인스턴스 간의 콘텐츠 동기화를 담당하는 NFS 서버를 두거나, AWS를 사용하여 파일을 공유하면 됩니다.

  • 복제 클러스터로 구성된 데이터베이스 서버 여러 개.

  • 각 Lightsail 인스턴스에 구성된 동일한 캐시 시스템. JotCache 등과 같은 유용한 확장이 몇 가지 제공됩니다.