Amazon VPC에 있는 ElastiCache 클러스터에 액세스하기 위한 액세스 패턴 - Redis용 Amazon ElastiCache

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

Amazon VPC에 있는 ElastiCache 클러스터에 액세스하기 위한 액세스 패턴

Amazon ElastiCache에서는 Amazon VPC에 있는 클러스터에 액세스할 수 있도록 다음 시나리오를 지원합니다.

ElastiCache 클러스터와 Amazon EC2 인스턴스가 같은 Amazon VPC에 있는 경우 클러스터 액세스

가장 일반적인 사용 사례는 EC2 인스턴스에 배포된 애플리케이션이 같은 VPC에 있는 클러스터에 연결해야 하는 경우입니다.

다음은 이 시나리오를 설명한 다이어그램입니다

이미지: 애플리케이션 및 동일한 VPC의 ElastiCache를 보여주는 다이어그램

EC2 인스턴스와 동일한 VPC의 클러스터 간 액세스를 관리하는 가장 간단한 방법은 다음과 같습니다.

  1. 클러스터의 VPC 보안 그룹을 만듭니다. 이 보안 그룹을 사용해 클러스터 인스턴스에 대한 액세스를 제한할 수 있습니다. 예를 들어, 클러스터를 만들 때 할당한 포트와 클러스터에 액세스할 때 이용할 IP 주소를 사용해 TCP 액세스를 허용하는 이 보안 그룹의 사용자 지정 규칙을 만들 수 있습니다.

    Redis 클러스터 및 복제 그룹의 기본 포트는 6379입니다.

  2. EC2 인스턴스(웹 및 애플리케이션 서버)의 VPC 보안 그룹을 만듭니다. 이 보안 그룹은 필요할 경우 VPC의 라우팅 테이블을 통한 EC2 인스턴스 액세스를 허용할 수 있습니다. 예를 들어, 이 보안 그룹에서 TCP가 포트 22를 통해 EC2 인스턴스에 액세스하도록 허용하는 규칙을 설정할 수 있습니다.

  3. 클러스터에 대한 보안 그룹에서 EC2 인스턴스에 대해 생성한 보안 그룹으로부터의 연결을 허용하는 사용자 지정 규칙을 만듭니다. 이렇게 하면 보안 그룹의 모든 구성원이 클러스터에 액세스할 수 있습니다.

참고

로컬 영역을 사용하려는 경우 활성화했는지 확인합니다. 해당 로컬 영역에 서브넷 그룹을 생성하면 VPC가 해당 로컬 영역으로 확장되고 VPC는 서브넷을 다른 가용 영역의 서브넷으로 처리합니다. 모든 관련 게이트웨이 및 라우팅 테이블이 자동으로 조정됩니다.

VPC 보안 그룹에서 다른 보안 그룹으로부터의 연결을 허용하는 규칙을 만들려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 [Security Groups]를 선택합니다.

  3. 클러스터 인스턴스에 사용할 보안 그룹을 선택하거나 만듭니다. [Inbound Rules]에서 [Edit Inbound Rules]을 선택한 다음 [Add Rule[을 선택합니다. 이 보안 그룹은 다른 보안 그룹 멤버에 대한 액세스를 허용합니다.

  4. [Type]에서 [Custom TCP Rule]을 선택합니다.

    1. [Port Range]에 대해 클러스터를 만들 때 사용한 포트를 지정합니다.

      Redis 클러스터 및 복제 그룹의 기본 포트는 6379입니다.

    2. [Source] 상자에 보안 그룹 ID를 입력합니다. 목록에서 Amazon EC2 인스턴스에 사용할 보안 그룹을 선택합니다.

  5. 완료되면 [Save]를 선택합니다.

    이미지: 인바운드 VPC 규칙 편집 화면

클러스터와 ElastiCache 인스턴스가 다른 Amazon EC2Amazon VPC에 있는 경우 클러스터 액세스s

클러스터가 액세스에 사용하는 EC2 인스턴스와 다른 VPC에 있는 경우 클러스터에 액세스하는 몇 가지 방법이 있습니다. 클러스터와 EC2 인스턴스가 서로 다른 VPCs에 있지만 동일한 리전에 있는 경우 VPC 피어링을 사용할 수 있습니다. 클러스터와 EC2 인스턴스가 서로 다른 리전에 있으면 리전 간에 VPN 연결을 만들 수 있습니다.

 

ElastiCache 클러스터와 Amazon EC2 인스턴스가 같은 리전의 다른 Amazon VPC에 있는 경우 클러스터 액세스

다음 다이어그램에서는 Amazon VPC 피어링 연결을 사용하여 같은 리전의 서로 다른 Amazon VPC에 있는 Amazon EC2 인스턴스에서 클러스터에 액세스하는 과정을 보여줍니다.

이미지: 동일한 리전의 다른 ElastiCache에 있는 애플리케이션 및 VPCs를 보여주는 다이어그램

동일한 리전 내의 다른 Amazon EC2에 있는 Amazon VPC 인스턴스가 클러스터 액세스 - VPC 피어링 연결

VPC 피어링 연결은 프라이빗 IP 주소를 사용하여 두 VPCs 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 사이의 네트워킹 연결입니다. 동일한 네트워크에 속하는 경우와 같이 VPC의 인스턴스가 서로 통신할 수 있습니다. 자체 Amazon VPC간의 VPC 피어링 연결, 또는 단일 리전 내에 있는 다른 AWS 계정에서 Amazon VPC와의 VPC 피어링 연결을 만들 수 있습니다. Amazon VPC 피어링에 대한 자세한 내용은 VPC 설명서를 참조하십시오.

피어링으로 다른 Amazon VPC에 있는 클러스터에 액세스하려면

  1. 두 VPCs의 IP 범위가 중복되지 않아야만 이를 피어링할 수 없습니다.

  2. 두 VPCs를 피어링합니다. 자세한 내용은 피어링 연결 생성 및 수락Amazon VPC을 참조하십시오.

  3. 라우팅 테이블을 업데이트합니다. 자세한 내용은 VPC 피어링 연결을 위한 라우팅 테이블 업데이트를 참조하십시오.

    앞에 나온 다이어그램의 예제에 대한 라우팅 테이블은 다음과 같습니다. pcx-a894f1c1이 피어링 연결입니다.

    이미지: VPC 라우팅 테이블의 스크린샷

    VPC 라우팅 테이블

  4. ElastiCache 클러스터의 보안 그룹을 수정하여 피어링된 VPC의 애플리케이션 보안 그룹에서 들어오는 인바운드 연결을 허용합니다. 자세한 내용은 피어 VPC 보안 그룹 참조를 참조하십시오.

피어링 연결을 통해 클러스터에 액세스하면 데이터 전송 비용이 추가로 발생합니다.

 

전송 게이트웨이 사용

전송 게이트웨이를 사용하면 동일한 AWS 리전에서 VPCs 및 VPN 연결을 연결하고 이들 간에 트래픽을 라우팅할 수 있습니다. 전송 게이트웨이는 AWS 계정에서 작동하며, AWS Resource Access Manager를 사용하여 전송 게이트웨이를 다른 계정과 공유할 수 있습니다. 전송 게이트웨이를 다른 AWS 계정과 공유한 후 계정 소유자는 VPCs를 전송 게이트웨이에 연결할 수 있습니다. 두 계정의 사용자는 언제든지 연결을 삭제할 수 있습니다.

전송 게이트웨이에서 멀티캐스트를 활성화한 다음 도메인과 연결된 VPC 연결을 통해 멀티캐스트 소스에서 멀티캐스트 그룹 멤버로 멀티캐스트 트래픽을 보낼 수 있는 전송 게이트웨이 멀티캐스트 도메인을 생성할 수 있습니다.

또한 서로 다른 AWS 리전에 있는 전송 게이트웨이 간에 피어링 연결을 생성할 수도 있습니다. 이렇게 하면 여러 리전의 전송 게이트웨이 연결 간에 트래픽을 라우팅할 수 있습니다.

자세한 내용은 전송 게이트웨이를 참조하십시오.

ElastiCache 클러스터와 Amazon EC2 인스턴스가 다른 리전의 다른 Amazon VPC에 있는 경우 클러스터 액세스

전송 VPC 사용

지리적으로 떨어져 있는 여러 VPCs 및 원격 네트워크를 연결하기 위한 또 다른 일반적인 전략인 VPC 피어링 사용의 대안은 글로벌 네트워크 전송 센터 역할을 하는 전송 VPC를 생성하는 것입니다. 전송 VPC는 네트워크 관리를 간소화하고 여러 VPCs 및 원격 네트워크를 연결하는 데 필요한 연결 수를 최소화합니다. 이 디자인은 기존의 방식대로 공동 배치 전송 허브에 실제 존재를 만들거나 물리적 네트워크 장비를 배포하지 않고 가상으로 구현되므로 시간, 노력, 비용을 아낄 수 있습니다.

이미지: 다른 리전의 다른 VPCs를 지나는 연결을 보여주는 다이어그램

다른 리전의 다른 VPCs에서 연결

전송 Amazon VPC가 설정되면 한 리전의 “스포크” VPC에 배포된 애플리케이션이 다른 리전의 "스포크" VPC에 있는 ElastiCache 클러스터에 연결할 수 있습니다.

다른 AWS 리전의 다른 VPC에 있는 클러스터에 액세스하려면

  1. 전송 VPC 솔루션을 배포합니다. 자세한 내용은 How do I build a global transit network on AWS? 단원을 참조하십시오.

  2. 앱 및 캐시 VPCs에서 VPC 라우팅 테이블을 업데이트하여 VGW(가상 프라이빗 게이트웨이) 및 VPN 어플라이언스를 통해 트래픽을 라우팅합니다. BGP(Border Gateway Protocol)를 사용하는 동적 라우팅의 경우 라우팅이 자동으로 전파됩니다.

  3. ElastiCache 클러스터의 보안 그룹을 수정하여 애플리케이션 인스턴스 IP 범위에서 들어오는 인바운드 연결을 허용합니다. 이 시나리오에는 애플리케이션 서버 보안 그룹을 참조할 수 없습니다.

여러 리전의 클러스터에 액세스하면 네트워크 지연 시간이 생기고 교차 리전 데이터 전송 비용이 추가로 발생합니다.

고객의 데이터 센터에서 실행되는 애플리케이션에서 ElastiCache 클러스터 액세스

고객 데이터 센터의 클라이언트나 애플리케이션이 VPC의 ElastiCache 클러스터에 액세스해야 하는 하이브리드 아키텍처도 가능한 시나리오입니다. VPN이나 Direct Connect를 통해 고객의 VPC와 데이터 센터 간에 연결을 제공하여 이 시나리오도 지원됩니다.

 

VPN 연결을 사용하여 고객의 데이터 센터에서 실행되는 애플리케이션에서 ElastiCache 클러스터 액세스

다음 다이어그램에서는 VPN 연결을 사용하여 회사 네트워크에서 실행되는 애플리케이션에서 ElastiCache 클러스터에 액세스하는 과정을 보여줍니다.

이미지: VPN을 통해 데이터 센터에서 ElastiCache에 연결하는 방법을 보여주는 다이어그램

VPN을 통해 데이터 센터에서 ElastiCache에 연결

VPN 연결을 통해 온-프레미스 애플리케이션에서 VPC의 클러스터에 액세스하려면

  1. 하드웨어 가상 프라이빗 게이트웨이를 VPC에 추가하여 VPN 연결을 설정합니다. 자세한 내용은 VPC에 하드웨어 가상 프라이빗 게이트웨이 추가를 참조하십시오.

  2. ElastiCache 클러스터가 배포되는 서브넷의 VPC 라우팅 테이블을 업데이트하여 온-프레미스 애플리케이션 서버에서 들어오는 트래픽을 허용합니다. BGP를 사용하는 동적 라우팅의 경우 라우팅이 자동으로 전파될 수 있습니다.

  3. ElastiCache 클러스터의 보안 그룹을 수정하여 온-프레미스 애플리케이션 서버에서 들어오는 인바운드 연결을 허용합니다.

VPN 연결을 통해 클러스터에 액세스하면 네트워크 지연 시간이 생기고 데이터 전송 비용이 추가로 발생합니다.

 

Direct Connect를 사용하여 고객의 데이터 센터에서 실행되는 애플리케이션에서 ElastiCache 클러스터 액세스

다음 다이어그램에서는 Direct Connect를 사용하여 회사 네트워크에서 실행되는 애플리케이션에서 ElastiCache 클러스터에 액세스하는 과정을 보여줍니다.

이미지: Direct Connect를 통해 데이터 센터에서 ElastiCache에 연결하는 과정을 보여주는 다이어그램

Direct Connect를 통해 데이터 센터에서 ElastiCache에 연결

Direct Connect를 사용하여 네트워크에서 실행되는 애플리케이션에서 ElastiCache 클러스터에 액세스하려면

  1. Direct Connect 연결을 설정합니다. 자세한 내용은 AWS Direct Connect 시작하기를 참조하십시오.

  2. ElastiCache 클러스터의 보안 그룹을 수정하여 온-프레미스 애플리케이션 서버에서 들어오는 인바운드 연결을 허용합니다.

DX 연결을 통해 클러스터에 액세스하면 네트워크 지연 시간이 생기고 데이터 전송 요금이 추가로 발생할 수 있습니다.