AWS 웹 호스팅 아키텍처의 핵심 구성 요소
다음 섹션에서는 AWS 클라우드에 배포된 웹 호스팅 아키텍처의 주요 구성 요소 중 일부를 간략하게 설명하고 기존 웹 호스팅 아키텍처와 어떻게 다른지 설명합니다.
네트워크 관리
AWS 클라우드에서는 네트워크를 다른 고객의 네트워크와 분할할 수 있으므로 보다 안전하고 확장 가능한 아키텍처를 구현할 수 있습니다. 보안 그룹은 호스트 수준의 보안을 제공하지만(호스트 보안 섹션 참조), Amazon Virtual Private Cloud
Amazon VPC는 AWS에서 네트워킹 설정 세부 사항을 완벽하게 제어할 수 있는 서비스입니다. 이러한 제어의 예로는 웹 서버용 퍼블릭 서브넷과 데이터베이스에 대한 인터넷 액세스가 없는 프라이빗 서브넷을 만드는 것이 있습니다. 또한 Amazon VPC를 사용하면 하드웨어 가상 사설 네트워크(VPN)를 사용하여 하이브리드 아키텍처를 생성하고 AWS 클라우드를 자체 데이터 센터의 확장으로 사용할 수 있습니다.
또한 Amazon VPC에는 네트워크에 대한 IPv4
콘텐츠 전송
웹 트래픽이 지리적으로 분산되어 있는 경우, 전 세계에 걸쳐 전체 인프라를 복제하는 방식이 현실적으로 불가능할 수도 있고 비용상 효율적이지도 않습니다. 콘텐츠 전송 네트워크
CloudFront를 사용하여 글로벌 네트워크의 엣지 로케이션을 통해 동적, 정적 및 스트리밍 콘텐츠를 포함하는 웹 사이트를 전송할 수 있습니다. CloudFront는 자동으로 콘텐츠에 대한 요청을 가장 가까운 엣지 로케이션으로 라우팅하므로 콘텐츠가 가능한 최상의 성능으로 전송됩니다. CloudFront는 Amazon S3
다른 AWS 서비스와 마찬가지로 CloudFront 사용에 대한 계약 또는 월간 약정은 없습니다. 서비스를 통해 실제로 전송하는 콘텐츠 만큼만 비용을 지불하면 됩니다.
또한 웹 애플리케이션 인프라의 엣지 캐싱을 위한 기존 솔루션이 AWS 클라우드에서 제대로 작동해야 합니다.
퍼블릭 DNS 관리
웹 애플리케이션을 AWS 클라우드로 이동하려면 도메인 이름 시스템
호스트 보안
AWS는 엣지에서의 인바운드 네트워크 트래픽 필터링 외에도 웹 애플리케이션이 호스트 수준에서 네트워크 트래픽 필터링을 적용할 것을 권장합니다. Amazon EC2
각 EC2 인스턴스에 하나 이상의 보안 그룹을 할당할 수 있습니다. 각 보안 그룹은 각 인스턴스에 적절한 트래픽을 허용합니다. 특정 서브넷, IP 주소 및 리소스만 EC2 인스턴스에 액세스할 수 있도록 보안 그룹을 구성할 수 있습니다. 또는 다른 보안 그룹을 참조하여 특정 그룹에 있는 EC2 인스턴스에 대한 액세스를 제한할 수 있습니다.
그림 3의 AWS 웹 호스팅 아키텍처에서 웹 서버 클러스터의 보안 그룹은 웹 계층 로드 밸런스에서만 액세스를 허용하고 포트 80 및 443(HTTP 및 HTTPS)에서 TCP를 통해서만 액세스를 허용할 수 있습니다. 반면 애플리케이션 서버 보안 그룹은 애플리케이션 계층 로드 밸런서에서만 액세스를 허용할 수 있습니다. 이 모델에서 지원 엔지니어도 EC2 인스턴스에 액세스해야 하는데, 이는 AWS Systems Manager 세션 관리자를 통해 달성할 수 있습니다. 보안에 대한 자세한 내용은 AWS의 보안 기능을 설명하는 보안 게시판, 인증 정보 및 보안 백서가 포함된 AWS 클라우드 보안
클러스터 간 로드 밸런싱
하드웨어 로드 밸런서는 기존 웹 애플리케이션 아키텍처에서 사용되는 일반적인 네트워크 어플라이언스입니다. AWS는 Elastic Load Balancing
다른 호스팅 및 서비스 검색
기존 웹 호스팅 아키텍처에서는 대부분의 호스트에 고정 IP 주소가 있습니다. AWS 클라우드에서는 대부분의 호스트에 동적 IP 주소가 있습니다. 모든 EC2 인스턴스는 퍼블릭 및 프라이빗 DNS 항목을 둘 다 가질 수 있고 인터넷 상에서 주소를 지정할 수 있지만, 인스턴스를 시작할 때 DNS 항목과 IP 주소가 동적으로 할당됩니다. 수동으로 할당할 수는 없습니다. 고정 IP 주소(AWS 용어에서는 탄력적 IP 주소)는 인스턴스가 시작된 후 실행 중인 인스턴스에 할당할 수 있습니다. 프라이머리 데이터베이스, 중앙 파일 서버, EC2 호스팅 로드 밸런서와 같이 일관된 엔드포인트가 필요한 인스턴스 및 서비스에는 탄력적 IP 주소를 사용해야 합니다.
웹 애플리케이션 내에서의 캐싱
인 메모리 애플리케이션 캐시는 자주 사용하는 정보를 캐시하여 서비스에 대한 부하를 줄이고 데이터베이스 계층의 성능과 확장성을 향상시킬 수 있습니다. Amazon ElastiCache