기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MemoryDB 시작하기
이 연습에서는 MemoryDB 관리 콘솔을 사용하여 MemoryDB 클러스터를 만들고, 액세스 권한을 부여하고, 연결하고, 마지막으로 삭제하는 단계를 안내합니다.
참고
이 연습에서는 클러스터를 생성할 때 간편 생성 옵션을 사용하고 MemoryDB의 기능을 더 자세히 살펴본 후에 다른 두 가지 옵션을 사용하는 것이 좋습니다.
1단계: 설정
다음 주제에서는 MemoryDB 사용을 시작하기 위해 수행해야 하는 1회성 작업에 관해 설명합니다.
에 가입 AWS 계정
가 없는 경우 다음 단계를 AWS 계정완료하여 를 생성합니다.
에 가입하려면 AWS 계정
https://portal.aws.amazon.com/billing/가입
을 엽니다. 온라인 지시 사항을 따릅니다.
등록 절차 중 전화를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.
에 가입하면 AWS 계정AWS 계정 루트 사용자가 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.
AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 https://aws.amazon.com/
관리자 액세스 권한이 있는 사용자 생성
에 가입한 후 일상적인 작업에 루트 사용자를 사용하지 않도록 를 AWS 계정보호하고, 를 AWS 계정 루트 사용자활성화하고 AWS IAM Identity Center, 관리 사용자를 생성합니다.
보안 AWS 계정 루트 사용자
-
루트 사용자를 선택하고 AWS 계정 이메일 주소를 입력하여 계정 소유자AWS Management Console
로 에 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다. 루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 User Guide의 루트 사용자로 로그인을 참조하십시오.
-
루트 사용자에 대해 다중 인증(MFA)을 켭니다.
지침은 IAM 사용 설명서의 AWS 계정 루트 사용자(콘솔)에 대한 가상 MFA 디바이스 활성화를 참조하세요.
관리자 액세스 권한이 있는 사용자 생성
-
IAM Identity Center를 활성화합니다.
지침은 AWS IAM Identity Center 사용 설명서의 AWS IAM Identity Center설정을 참조하세요.
-
IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.
를 자격 증명 소스 IAM Identity Center 디렉터리 로 사용하는 방법에 대한 자습서는 AWS IAM Identity Center 사용 설명서의 기본값으로 사용자 액세스 구성을 IAM Identity Center 디렉터리 참조하세요.
관리 액세스 권한이 있는 사용자로 로그인
-
IAM Identity Center 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송URL된 로그인을 사용합니다.
IAM Identity Center 사용자를 사용하여 로그인하는 방법에 대한 자세한 내용은 AWS 로그인 사용 설명서의 AWS 액세스 포털에 로그인을 참조하세요.
추가 사용자에게 액세스 권한 할당
-
IAM Identity Center에서 최소 권한 권한을 적용하는 모범 사례를 따르는 권한 세트를 생성합니다.
지침은AWS IAM Identity Center 사용 설명서의 Create a permission set를 참조하세요.
-
사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.
지침은AWS IAM Identity Center 사용 설명서의 Add groups를 참조하세요.
프로그래밍 방식 액세스 권한 부여
사용자는 AWS 외부에서 와 상호 작용하려는 경우 프로그래밍 방식으로 액세스해야 합니다 AWS Management Console. 프로그래밍 방식 액세스를 부여하는 방법은 에 액세스하는 사용자 유형에 따라 다릅니다 AWS.
사용자에게 프로그래밍 방식 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.
프로그래밍 방식 액세스가 필요한 사용자는 누구인가요? | To | 액세스 권한을 부여하는 사용자 |
---|---|---|
작업 인력 ID (IAMID 센터에서 관리하는 사용자) |
임시 자격 증명을 사용하여 AWS CLI AWS SDKs, 또는 에 대한 프로그래밍 요청에 서명합니다 AWS APIs. |
사용하고자 하는 인터페이스에 대한 지침을 따릅니다.
|
IAM | 임시 자격 증명을 사용하여 AWS CLI AWS SDKs, 또는 에 대한 프로그래밍 요청에 서명합니다 AWS APIs. | IAM 사용 설명서의 AWS 리소스와 함께 임시 자격 증명 사용의 지침을 따릅니다. |
IAM | (권장되지 않음) 장기 보안 인증 정보를 사용하여 AWS CLI AWS SDKs, 또는 에 대한 프로그래밍 요청에 서명합니다 AWS APIs. |
사용하고자 하는 인터페이스에 대한 지침을 따릅니다.
|
관련 항목:
IAM 사용 설명서의 내용IAM.
AWS 일반 참조 AWS 의 보안 자격 증명.
권한 설정(신규MemoryDB 사용자에게만 해당)
액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요:
-
의 사용자 및 그룹 AWS IAM Identity Center:
권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서의 권한 세트 생성의 지침을 따릅니다.
-
자격 증명 공급자를 IAM 통해 에서 관리되는 사용자:
ID 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서의 타사 자격 증명 공급자(페더레이션)에 대한 역할 생성의 지침을 따릅니다.
-
IAM 사용자:
-
사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서의 IAM 사용자 역할 생성의 지침을 따릅니다.
-
(권장되지 않음)정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용 설명서의 사용자(콘솔)에 권한 추가의 지침을 따릅니다.
-
MemoryDB는 서비스 연결 역할을 생성하고 사용하여 리소스를 프로비저닝하고 사용자를 대신하여 다른 AWS 리소스 및 서비스에 액세스합니다. MemoryDB가 서비스 연결 역할을 생성하려면 라는 AWS관리형 정책을 사용합니다AmazonMemoryDBFullAccess
. 이 역할은 서비스가 사용자를 대신해 서비스 연결 역할을 생성하는 데 필요한 권한으로 사전에 프로비저닝되어 있습니다.
사용자는 기본 정책을 사용하는 대신 사용자 지정 관리형 정책을 사용하는 쪽을 선택할 수 있습니다. 이 경우 iam:createServiceLinkedRole
을(를) 직접적으로 호출할 권한을 갖고 있거나 MemoryDB 서비스 연결 역할을 생성했어야 합니다.
자세한 내용은 다음 자료를 참조하세요.
다운로드 및 구성 AWS CLI
AWS CLI 는 http://aws.amazon.com/cli
설치 AWS CLI 및 구성 AWS CLI에 대한 지침을 따릅니다.
2단계: 클러스터 생성
프로덕션 용도로 사용할 클러스터를 생성하기 전에 비즈니스 요구 사항에 맞게 클러스터를 구성할 방법을 고려해야 합니다. 이러한 문제에 대해서는 클러스터 준비 섹션에서 다룹니다. 이 시작하기 연습의 목적에 따라, 적용되는 모든 위치에서 기본 구성 값을 그대로 사용할 수 있습니다.
생성하려는 클러스터는 활성화되고 샌드박스에서 실행되지 않습니다. 삭제하기 전까지 인스턴스에 대해 표준 MemoryDB 사용 요금이 청구됩니다. 여기에 설명된 연습을 한 번에 끝내고 연습을 마칠 때 클러스터를 삭제하면 총 청구 비용이 가장 적게 듭니다(일반적으로 1달러 미만). MemoryDB 사용 요금에 대한 자세한 내용은 MemoryDB
클러스터는 Amazon VPC 서비스를 기반으로 가상 프라이빗 클라우드(VPC)에서 시작됩니다.
MemoryDB 클러스터 생성
다음 예제에서는 AWS Management Console, AWS CLI 및 MemoryDB 를 사용하여 클러스터를 생성하는 방법을 보여줍니다API.
MemoryDB 콘솔을 사용하여 클러스터를 생성하려면
-
에 로그인 AWS Management Console 하고 에서 MemoryDB 콘솔을 엽니다https://console.aws.amazon.com/memorydb/
. -
왼쪽 탐색 창에서 클러스터를 선택하고 생성을 선택합니다.
를 사용하여 클러스터를 생성하려면 섹션을 AWS CLI참조하세요create-cluster
. 다음은 그 예제입니다.
Linux, macOS 또는 Unix의 경우는 다음과 같습니다.
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6g.large \ --acl-name my-acl \ --engine valkey \ --subnet-group my-sg
Windows의 경우:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6g.large ^ --acl-name my-acl ^ --engine valkey --subnet-group my-sg
다음 JSON 응답을 받아야 합니다.
{ "Cluster": { "Name": "my-cluster", "Status": "creating", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "ParameterGroupName": "default.memorydb-valkey7", "Engine": "valkey" "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":
"arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster"
, "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }
상태가 available
로 변경되면 클러스터 사용을 시작할 수 있습니다.
중요
클러스터를 사용할 수 있게 되면 클러스터를 적극 사용하지 않더라도 클러스터가 활성화되어 있는 매 시간 또는 60분 미만 단위로 비용이 청구됩니다. 이 클러스터의 요금 발생을 중지하려면 클러스터를 삭제해야 합니다. 5단계: 클러스터 삭제을 참조하세요.
MemoryDB 를 사용하여 클러스터를 생성하려면 CreateCluster 작업을 API사용합니다.
중요
클러스터를 사용할 수 있게 되면 클러스터를 사용하지 않더라도 클러스터가 활성화되어 있는 매 시간 또는 60분 미만 단위로 비용이 청구됩니다. 이 클러스터의 요금 발생을 중지하려면 클러스터를 삭제해야 합니다. 5단계: 클러스터 삭제을 참조하세요.
인증 설정
클러스터의 인증 설정에 대한 자세한 내용은 IAM을 사용하는 인증 및 액세스 제어 목록을 사용하여 사용자 인증(ACLs)을 참조하세요.
3단계: 클러스터에 대한 액세스 허가
이 섹션에서는 Amazon EC2 인스턴스를 시작하고 연결하는 방법을 잘 알고 있다고 가정합니다. 자세한 내용은 Amazon EC2 시작 안내서를 참조하세요.
MemoryDB 클러스터는 Amazon EC2 인스턴스에서 액세스하도록 설계되었습니다. Amazon Elastic Container Service 또는 AWS Lambda에서 실행되는 컨테이너식 또는 서버리스 애플리케이션에서도 액세스할 수 있습니다. 가장 일반적인 시나리오는 동일한 Amazon Virtual Private Cloud(Amazon VPC)의 Amazon EC2 인스턴스에서 MemoryDB 클러스터에 액세스하는 것입니다. 이 연습의 경우입니다.
EC2 인스턴스에서 클러스터에 연결하려면 먼저 EC2 인스턴스가 클러스터에 액세스할 수 있도록 권한을 부여해야 합니다.
가장 일반적인 사용 사례는 EC2 인스턴스에 배포된 애플리케이션이 동일한 의 클러스터에 연결해야 하는 경우입니다VPC. 동일한 에서 EC2 인스턴스와 클러스터 간의 액세스를 관리하는 가장 간단한 방법은 다음을 수행하는 VPC 것입니다.
-
클러스터의 VPC 보안 그룹을 생성합니다. 이 보안 그룹을 사용해 클러스터에 대한 액세스를 제한할 수 있습니다. 예를 들어 클러스터를 생성할 때 클러스터에 할당한 포트와 클러스터TCP에 액세스하는 데 사용할 IP 주소를 사용하여 액세스를 허용하는 이 보안 그룹에 대한 사용자 지정 규칙을 생성할 수 있습니다.
MemoryDB 클러스터의 기본 포트는
6379
입니다. -
EC2 인스턴스(웹 및 애플리케이션 서버)에 대한 VPC 보안 그룹을 생성합니다. 이 보안 그룹은 필요한 경우 의 라우팅 테이블을 통해 인터넷에서 EC2 인스턴스에 대한 액세스를 허용할 수 VPC있습니다. 예를 들어 포트 22를 통해 EC2 인스턴스에 TCP 액세스할 수 있도록 이 보안 그룹에 규칙을 설정할 수 있습니다.
-
EC2 인스턴스에 대해 생성한 보안 그룹의 연결을 허용하는 클러스터의 보안 그룹에 사용자 지정 규칙을 생성합니다. 그러면 보안 그룹의 모든 구성원이 클러스터에 액세스하도록 허용됩니다.
다른 VPC 보안 그룹의 연결을 허용하는 규칙을 보안 그룹에 생성하려면
-
AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc
에서 Amazon VPC 콘솔을 엽니다. -
왼쪽 탐색 창에서 [Security Groups]를 선택합니다.
-
클러스터에 사용할 보안 그룹을 선택하거나 만듭니다. [Inbound Rules]에서 [Edit Inbound Rules]를을 선택한 다음 [Add Rule][을 선택합니다. 이 보안 그룹은 다른 보안 그룹 멤버에 대한 액세스를 허용합니다.
-
유형에서 사용자 지정 TCP 규칙 을 선택합니다.
-
[Port Range]에 대해 클러스터를 만들 때 사용한 포트를 지정합니다.
MemoryDB 클러스터의 기본 포트는
6379
입니다. -
[Source] 상자에 보안 그룹 ID를 입력합니다. 목록에서 Amazon EC2 인스턴스에 사용할 보안 그룹을 선택합니다.
-
-
완료되면 [Save]를 선택합니다.
액세스를 활성화했으면 이제 다음 섹션에 설명된 대로 클러스터에 연결할 수 있습니다.
다른 Amazon VPC, 다른 AWS 리전 또는 회사 네트워크에서 MemoryDB 클러스터에 액세스하는 방법에 대한 자세한 내용은 다음을 참조하세요.
4단계: 클러스터에 연결
계속하기 전에 3단계: 클러스터에 대한 액세스 허가 단계를 완료하세요.
이 섹션에서는 Amazon EC2 인스턴스를 생성하여 연결할 수 있다고 가정합니다. 이 작업을 수행하는 방법에 대한 지침은 Amazon EC2 시작 안내서를 참조하세요.
Amazon EC2 인스턴스는 클러스터에 연결하도록 권한을 부여한 경우에만 클러스터에 연결할 수 있습니다.
클러스터 엔드포인트 찾기
클러스터가 사용 가능한 상태이고 클러스터에 대한 액세스 권한을 부여한 경우 Amazon EC2 인스턴스에 로그인하여 클러스터에 연결할 수 있습니다. 이를 수행하려면 먼저 엔드포인트를 결정해야 합니다.
엔드포인트를 찾는 방법을 더 자세히 알아보려면 다음을 참조하세요.
MemoryDB 클러스터에 연결(Linux)
이제 필요한 엔드포인트가 있으므로 EC2 인스턴스에 로그인하고 클러스터에 연결할 수 있습니다. 다음 예제에서는 cli 유틸리티를 사용하여 Ubuntu 22를 사용하는 클러스터에 연결합니다. 최신 버전의 cli는 SSL/TLS for connecting encryption/authentication 활성화된 클러스터도 지원합니다.
redis-cli를 사용하여 MemoryDB 노드에 연결
MemoryDB 노드에서 데이터에 액세스하려면 Secure Socket Layer()로 작업하는 클라이언트를 사용합니다SSL. Amazon Linux 및 Amazon Linux 2에서 TLS/SSL와 함께 redis-cli를 사용할 수도 있습니다.
redis-cli를 사용하여 Amazon Linux 2 또는 Amazon Linux에서 MemoryDB 클러스터에 연결하려면
redis-cli 유틸리티를 다운로드하고 컴파일합니다. 이 유틸리티는 Redis OSS 소프트웨어 배포에 포함됩니다.
EC2 인스턴스의 명령 프롬프트에 사용 중인 Linux 버전에 적합한 명령을 입력합니다.
Amazon Linux 2023
Amazon Linux 2023을 사용하는 경우 다음을 입력합니다.
sudo yum install redis6 -y
그런 다음 다음 명령을 입력하여 클러스터 및 포트의 엔드포인트를 이 예제에 표시된 대로 바꿉니다.
redis-cli -h
Primary or Configuration Endpoint
--tls -p 6379엔드포인트 찾기에 대한 자세한 내용은 노드 엔드포인트 찾기 섹션을 참조하세요.
Amazon Linux 2
Amazon Linux 2를 사용하는 경우 다음을 입력합니다.
sudo yum -y install openssl-devel gcc wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make distclean make redis-cli BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
Amazon Linux
Amazon Linux를 사용하는 경우 다음을 입력합니다.
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make redis-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
Amazon Linux에서 다음 추가 단계를 실행해야 할 수도 있습니다.
sudo yum install clang CC=clang make sudo make install
redis-cli 유틸리티를 다운로드하고 설치한 후에는 선택적
make-test
명령을 실행하는 것이 좋습니다.-
암호화 및 인증이 활성화된 클러스터에 연결하려면 다음 명령을 입력합니다.
redis-cli -h
Primary or Configuration Endpoint
--tls -a'your-password'
-p 6379참고
Amazon Linux 2023에 redis6을 설치하는 경우 이제
redis6-cli
대신 명령을 사용할 수 있습니다redis-cli
.redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
5단계: 클러스터 삭제
클러스터가 available 상태면 클러스터를 적극 사용하고 있는지 여부에 관계없이 요금이 부과됩니다. 요금 발생을 중지하려면 클러스터를 삭제하세요.
주의
MemoryDB 클러스터를 삭제하는 경우, 수동 스냅샷은 보존됩니다. 클러스터가 삭제되기 전에 최종 스냅샷을 생성할 수도 있습니다. 자동 스냅샷은 보존되지 않습니다. 자세한 내용은 스냅샷 및 복원 단원을 참조하십시오.
CreateSnapshot
최종 스냅샷을 생성하려면 권한이 필요합니다. 이 권한이 없으면Access Denied
예외를 제외하고 API 호출이 실패합니다.
다음은 배포에서 클러스터 하나를 삭제하는 절차입니다. 클러스터를 여러 개 삭제하려면 삭제할 클러스터마다 절차를 반복하세요. 클러스터 하나를 다 삭제한 후 다른 클러스터 삭제 절차가 시작될 때까지 기다릴 필요는 없습니다.
클러스터를 삭제하려면
-
에 로그인 AWS Management Console 하고 에서 MemoryDB 콘솔을 엽니다https://console.aws.amazon.com/memorydb/
. -
삭제할 클러스터를 선택하려면 클러스터 목록에서 해당 클러스터 이름 옆의 라디오 버튼을 선택합니다. 이 경우 2단계: 클러스터 생성에서 생성된 클러스터의 이름입니다.
-
작업에 대해 삭제를 선택합니다.
-
삭제하기 전에 먼저 클러스터의 스냅샷을 생성할지 여부를 선택한 다음 확인 상자에
delete
을 입력합니다. 클러스터를 삭제하려면 삭제를 입력하고 클러스터를 유지하려면 취소를 선택합니다.[Delete]를 선택한 경우 클러스터 상태가 [deleting]으로 바뀝니다.
클러스터가 클러스터 목록에서 제거되는 즉시 요금 부과가 중단됩니다.
다음 코드는 클러스터 my-cluster
를 삭제합니다. 이 경우 my-cluster
를 2단계: 클러스터 생성에서 생성된 클러스터의 이름으로 바꿉니다.
aws memorydb delete-cluster --cluster-name
my-cluster
delete-cluster
CLI 작업은 하나의 클러스터만 삭제합니다. 클러스터를 여러 개 삭제하려면 삭제할 클러스터마다 delete-cluster
를 호출하세요. 클러스터 하나를 다 삭제한 후 다른 클러스터를 삭제할 때까지 기다릴 필요는 없습니다.
Linux, macOS, Unix의 경우:
aws memorydb delete-cluster \ --cluster-name
my-cluster
\ --regionus-east-1
Windows의 경우:
aws memorydb delete-cluster ^ --cluster-name
my-cluster
^ --regionus-east-1
자세한 내용은 delete-cluster
단원을 참조하십시오.
다음 코드는 클러스터 my-cluster
를 삭제합니다. 이 경우 my-cluster
를 2단계: 클러스터 생성에서 생성된 클러스터의 이름으로 바꿉니다.
https://memory-db.us-east-1.amazonaws.com/ ?Action=DeleteCluster &ClusterName=my-cluster &Region=us-east-1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T220302Z &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210802T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210802T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
DeleteCluster
API 작업은 하나의 클러스터만 삭제합니다. 클러스터를 여러 개 삭제하려면 삭제할 클러스터마다 DeleteCluster
를 호출하세요. 클러스터 하나를 다 삭제한 후 다른 클러스터를 삭제할 때까지 기다릴 필요는 없습니다.
자세한 내용은 DeleteCluster를 참조하세요.
다음 단계
이제 시작하기 연습을 끝마쳤으므로 다음 단원을 참조하여 MemoryDB 및 사용 가능한 도구에 대한 자세한 내용을 살펴볼 수 있습니다.