Amazon Aurora Serverless v1 사용 - Amazon Aurora

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

Amazon Aurora Serverless v1 사용

Amazon Aurora Serverless v1(Amazon Aurora Serverless 버전 1)는 Amazon Aurora에 대한 온디맨드 방식의 Auto Scaling 구성입니다. Aurora Serverless DB 클러스터는 애플리케이션의 요구 사항에 따라 컴퓨팅 용량을 확장 및 축소하는 DB 클러스터입니다. 이는 용량을 수동으로 관리하는 Aurora 프로비저닝된 DB 클러스터와 대조적입니다. Aurora Serverless v1 는 빈도가 낮거나 간헐적이거나 예측할 수 없는 워크로드에 대해 상대적으로 단순하고 비용 효율적인 옵션을 제공합니다. 자동으로 시작하고 애플리케이션의 사용량에 맞춰 컴퓨팅 용량을 확장하고, 사용하지 않는 경우 종료되기 때문에 비용 효율적입니다.

요금에 대한 자세한 내용은 Amazon Aurora pricing 페이지에 있는 MySQL 호환 버전 또는 PostgreSQL 호환 버전 아래의 서버리스 요금을 참조하세요.

Aurora Serverless v1 클러스터는 프로비저닝된 DB 클러스터에서 사용하는 것과 동일한 유형의 분산된 고가용성 대용량 스토리지 볼륨을 갖습니다. Aurora Serverless v1 클러스터의 클러스터 볼륨은 항상 암호화됩니다. 암호화 키를 선택할 수 있지만 암호화를 비활성화할 수는 없습니다. 즉, 암호화된 스냅샷에서 수행할 수 있는 것과 동일한 작업을 Aurora Serverless v1에서 수행할 수 있습니다. 자세한 내용은 Aurora Serverless v1 및 스냅샷 섹션을 참조하세요.

Aurora Serverless v1의 장점

Aurora Serverless v1의 장점은 다음과 같습니다.

  • 프로비저닝보다 간단 – Aurora Serverless v1는 DB 인스턴스 및 용량 관리의 복잡성을 크게 줄입니다.

  • 확장성 – Aurora Serverless v1는 클라이언트 연결을 중단하지 않고 필요에 따라 컴퓨팅 및 메모리 용량을 원활하게 확장합니다.

  • 비용 효율성 – Aurora Serverless v1를 사용하는 경우 사용한 데이터베이스 리소스에 대해서만 초 단위로 요금을 지불합니다.

  • 고가용성 스토리지 – Aurora Serverless v1는 6방향 복제가 가능하고 Aurora와 동일한 내결함성 분산 스토리지 시스템을 사용해 데이터 손실을 방지합니다.

Aurora Serverless v1 사용 사례

Aurora Serverless v1는 다음과 같은 사용 사례를 위해 설계되었습니다.

  • 자주 사용하지 않는 애플리케이션 – 하루 또는 일주일에 고작 몇 분씩 몇 차례만 사용하는 애플리케이션이 있습니다(예: 사용자가 적은 블로그 사이트). Aurora Serverless v1를 사용하는 경우 사용한 데이터베이스 리소스에 대해서만 초 단위로 요금을 지불합니다.

  • 새 애플리케이션 – 새 애플리케이션을 배포하는 중인데, 필요한 인스턴스 크기를 잘 모릅니다. Aurora Serverless v1를 사용하면 데이터베이스 엔드포인트를 생성해 애플리케이션의 용량 요구 사항에 따라 데이터베이스가 자동으로 확장되게 할 수 있습니다.

  • 가변성 높은 워크로드 – 피크가 하루에 몇 번 안 되거나 1년에 몇 번에 불과하고 30분~몇 시간에 불과한 사용량이 낮은 애플리케이션을 실행하고 있습니다. 인사 관리, 예산 작성 및 운영 보고 애플리케이션을 예로 들 수 있습니다. Aurora Serverless v1를 사용하면 더 이상 피크 또는 평균 용량에 맞추어 프로비저닝하지 않아도 됩니다.

  • 예측 불가능한 워크로드 – 작업의 증가가 갑작스럽고 예측할 수 없는 일일 워크로드를 실행하고 있습니다. 비가 내리기 시작하면 활동이 급증하는 트래픽 사이트를 예로 들 수 있습니다. Aurora Serverless v1를 사용하면 애플리케이션의 피크 로드를 처리하는 데 필요한 용량을 충족하도록 데이터베이스가 용량을 자동으로 확장하고 활동이 급증하는 시점이 지나면 용량이 다시 줄입니다.

  • 개발 및 테스트 데이터베이스 – 개발자가 작업 시간 중에는 데이터베이스를 사용하지만 밤이나 주말에는 데이터베이스를 사용하지 않습니다. Aurora Serverless v1를 사용하면 데이터베이스가 사용 중이 아닌 경우 자동으로 종료됩니다.

  • 다중 테넌트 애플리케이션 – Aurora Serverless v1를 사용하면 플릿에서 각 애플리케이션에 대한 데이터베이스 용량을 개별적으로 관리할 필요가 없습니다. Aurora Serverless v1는 사용자를 대신하여 개별 데이터베이스 용량을 관리해 줍니다.

Aurora Serverless v1의 제한 사항

Aurora Serverless v1에는 다음과 같은 제한 사항이 적용됩니다.

  • Aurora Serverless v1는 특정 AWS 리전에서, 특정 Aurora MySQL 및 Aurora PostgreSQL 버전에만 사용할 수 있습니다. 자세한 내용은 Aurora Serverless v1 섹션을 참조하세요.

  • Aurora Serverless v1는 다음과 같은 기능을 지원하지 않습니다.

    • Aurora 복제

    • Aurora 글로벌 데이터베이스

    • Aurora 멀티 마스터 클러스터

    • Aurora 복제본

    • AWS Identity and Access Management(IAM) 데이터베이스 인증

    • Aurora 내 역추적

    • 데이터베이스 활동 스트림

    • 성능 개선 도우미

  • Aurora Serverless v1 DB 클러스터에 대한 연결이 하루 이상 열려 있으면 자동으로 닫힙니다.

  • 모든 Aurora Serverless v1 DB 클러스터에는 다음과 같은 제한 사항이 있습니다.

    • Aurora Serverless v1 스냅샷을 Amazon S3 버킷으로 내보낼 수 없습니다.

    • Amazon S3의 텍스트 파일에 데이터를 저장할 수 없습니다.

    • 텍스트 파일 데이터를 Aurora MySQL Serverless에서 Amazon S3로 로드할 수 없습니다. 하지만 aws_s3.table_import_from_s3 함수 및 credentials 파라미터와 함께 aws_s3 확장을 사용하여 Aurora PostgreSQL Serverless에서 Amazon S3로 데이터를 로드할 수 있습니다. 자세한 내용은 PostgreSQL DB 인스턴스용 Aurora PostgreSQL DB 클러스터 섹션을 참조하세요.

  • Aurora Serverless v1를 실행하는 Aurora MySQL–기반 DB 클러스터는 다음을 지원하지 않습니다.

    • Aurora MySQL DB 클러스터 내에서 AWS Lambda 함수 호출. 하지만 AWS Lambda 함수는 Aurora MySQL Serverless DB 클러스터를 호출할 수 있습니다.

    • Aurora MySQL 또는 RDS MySQL이 아닌 DB 인스턴스에서 스냅샷 복원.

    • 이진 로그(binlogs) 기반의 복제를 사용한 데이터 복제. 이 제한은 Aurora MySQL 기반 DB 클러스터 Aurora Serverless v1가 복제의 소스인지 대상인지에 관계없이 적용됩니다. Amazon EC2에서 실행되는 것과 같이 Aurora 외부의 MySQL DB 인스턴스에서 Aurora Serverless v1 DB 클러스터로 데이터를 복제하려면 AWS Database Migration Service를 사용하는 것이 좋습니다. 자세한 내용은 AWS Database Migration Service 사용 설명서 섹션을 참조하세요.

  • Aurora Serverless v1를 실행하는 Aurora PostgreSQL–기반 DB 클러스터의 경우 다음과 같은 제한 사항이 있습니다.

    • Amazon RDS PostgreSQL 및 Aurora PostgreSQL에서 제공되는 논리적 복제 기능은 지원되지 않습니다.

    • Amazon RDS for PostgreSQL 확장에 의해 활성화된 아웃바운드 통신과 같은 아웃바운드 통신은 지원되지 않습니다. 예를 들어 postgres_fdw/dblink 확장을 사용하여 외부 데이터에 액세스할 수 없습니다. RDS PostgreSQL 확장에 대한 자세한 내용은 RDS 사용 설명서에서 Amazon RDS의 PostgreSQL을 참조하세요.

    • 현재 특정 SQL 쿼리 및 명령은 권장되지 않습니다. 여기에는 세션 수준 공지 잠금, 임시 관계, 비동기 알림(LISTEN) 및 hold가 있는 커서(DECLARE name ... CURSOR WITH HOLD FOR query)가 포함됩니다. 또한 NOTIFY 명령은 확장을 방지하므로 권장되지 않습니다.

      자세한 내용은 Aurora Serverless에서의 Auto Scaling 섹션을 참조하세요.

Aurora Serverless v1의 구성 요구 사항

Aurora Serverless v1 DB 클러스터를 생성할 때는 다음 요구 사항에 주의하세요.

  • 각 DB 엔진에 대해 다음과 같은 특정 포트 번호를 사용합니다.

    • Aurora MySQL – 3306

    • Aurora PostgreSQL – 5432

  • Aurora Serverless v1 서비스 기반의 Virtual Private Cloud(VPC)에서 Amazon VPC DB 클러스터를 생성합니다. Aurora Serverless v1 DB 클러스터는 VPC에서만 액세스할 수 있으며 퍼블릭 IP 주소를 사용할 수 없습니다.

  • Aurora Serverless v1 DB 클러스터에는 퍼블릭 IP 주소를 부여할 수 없습니다. VPC 내에서만 Aurora Serverless v1 DB 클러스터에 액세스할 수 있습니다.

  • 각 Aurora Serverless v1 DB 클러스터마다 2개의 AWS PrivateLink 엔드포인트를 생성합니다. VPC 내 AWS PrivateLink 엔드포인트의 제한에 도달하면 해당 VPC에서 더 이상 Aurora Serverless v1 클러스터를 생성할 수 없습니다. VPC 내 엔드포인트 제한을 확인하고 변경하는 방법에 대한 자세한 내용은 Amazon VPC 제한을 참조하십시오.

  • Aurora Serverless v1 DB 클러스터에 사용하는 DB 서브넷 그룹에 대해 서로 다른 가용 영역에 서브넷을 생성합니다. 즉, 동일한 가용 영역에 서브넷을 2개 이상 보유할 수 없습니다.

  • Aurora Serverless v1 DB 클러스터에서 사용하는 서브넷 그룹에 대한 변경 사항은 클러스터에 적용되지 않습니다.

  • AWS Lambda에서 Aurora Serverless v1 DB 클러스터에 액세스할 수 있습니다. 그러려면 Lambda 함수가 Aurora Serverless v1 DB 클러스터와 동일한 VPC에서 실행되도록 구성해야 합니다. AWS Lambda 작업에 대한 자세한 내용은 AWS Lambda 개발자 안내서Amazon VPC의 리소스에 액세스하도록 Lambda 함수 구성을 참조하십시오.

Aurora Serverless v1에서 TLS/SSL 사용

기본적으로 Aurora Serverless v1는 TLS/SSL(Transport Layer Security/Secure Sockets Layer) 프로토콜을 사용하여 클라이언트와 Aurora Serverless v1 DB 클러스터 간의 통신을 암호화합니다. TLS/SSL 버전 1.0, 1.1 및 1.2를 지원합니다. TLS/SSL을 사용하도록 Aurora Serverless v1 DB 클러스터를 구성할 필요가 없습니다.

단, 다음 제한 사항이 적용됩니다.

  • Aurora Serverless v1 DB 클러스터에 대한 TLS/SSL 지원은 현재 중국(베이징) AWS 리전에서 제공되지 않습니다.

  • Aurora MySQL–기반 Aurora Serverless v1 DB 클러스터의 데이터베이스 사용자를 생성할 때는 SSL 권한에 REQUIRE 절을 사용해서는 안 됩니다. 이렇게 하면 사용자가 Aurora DB 인스턴스에 연결할 수 없습니다.

  • MySQL 클라이언트 및 PostgreSQL 클라이언트 유틸리티 모두, 클라이언트와 Aurora Serverless v1 간에 TLS/SSL을 사용할 때 다른 환경에서 사용하는 세션 변수는 아무런 영향을 미치지 않습니다.

  • MySQL 클라이언트의 경우 TLS/SSL VERIFY_IDENTITY 모드로 연결할 때 현재, MySQL 8.0 호환 mysql 명령을 사용해야 합니다. 자세한 내용은 MySQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기를 참조하세요.

Aurora Serverless v1 DB 클러스터에 연결하는 데 사용하는 클라이언트에 따라 암호화된 연결을 설정하기 위해 TLS/SSL을 지정하지 않아도 됩니다. 예를 들어 PostgreSQL과 호환되는 Aurora를 실행 중인 Aurora Serverless v1 DB 클러스터에 PostgreSQL 클라이언트를 사용하여 연결하려면 평소와 같이 연결합니다.

psql -h endpoint -U user

암호를 입력하면 PostgreSQL 클라이언트에서 TLS/SSL 버전 및 암호를 포함한 연결 세부 정보를 볼 수 있습니다.

psql (12.5 (Ubuntu 12.5-0ubuntu0.20.04.1), server 10.12) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help.

MySQL과 호환되는 Aurora를 실행 중인 Aurora Serverless v1 DB 클러스터에 MySQL 클라이언트를 사용하여 연결하려면 요청에 TLS/SSL을 지정합니다. 다음 예에는 Amazon Trust Services에서 다운로드한 Amazon 루트 CA 1 신뢰할 수 있는 스토어가 포함되어 있습니다. Trust Services는 이 연결에 성공하기 위해 필요합니다.

mysql -h endpoint -P 3306 -u user -p --ssl-ca=amazon-root-CA-1.pem --ssl-mode=REQUIRED

메시지가 표시되면 암호를 입력합니다. 곧 MySQL 모니터가 열립니다. status 명령을 사용하여 세션이 암호화되었는지 확인할 수 있습니다.

mysql> status -------------- mysql Ver 14.14 Distrib 5.5.62, for Linux (x86_64) using readline 5.1 Connection id: 19 Current database: Current user: ***@******* SSL: Cipher in use is ECDHE-RSA-AES256-SHA ...

MySQL 클라이언트를 사용하여 Aurora MySQL 데이터베이스에 연결하는 방법에 대한 자세한 내용은 MySQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기를 참조하세요.

Aurora Serverless v1는 다음 표에 나열된 것을 포함하여 MySQL 클라이언트(mysql) 및 PostgreSQL 클라이언트(psql)에서 사용 가능한 모든 TLS/SSL 모드를 지원합니다.

TLS/SSL 모드에 대한 설명 mysql psql

TLS/SSL을 사용하지 않고 연결합니다.

비활성화됨

disable

먼저 TLS/SSL을 사용하여 연결을 시도하지만 필요한 경우 비 SSL로 폴백합니다.

PREFERRED

prefer(기본값)

TLS/SSL을 사용하도록 합니다.

필수

require

TLS/SSL을 적용하고 CA를 확인합니다.

VERIFY_CA

[verify-ca]

TLS/SSL을 적용하고 CA를 확인한 다음 CA 호스트 이름을 확인합니다.

VERIFY_IDENTITY

[verify-full]

Aurora Serverless v1는 와일드카드 인증서를 사용합니다. TLS/SSL을 사용할 때 “CA 확인” 또는 “CA 및 CA 호스트 이름 확인” 옵션을 지정하는 경우 먼저 Amazon Trust Services에서 Amazon 루트 CA 1 신뢰할 수 있는 스토어를 다운로드합니다. 이렇게 하면 클라이언트 명령에서 이 PEM 형식의 파일을 식별할 수 있습니다. PostgreSQL 클라이언트를 사용하여 이렇게 하려면 다음을 수행합니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

psql 'host=endpoint user=user sslmode=require sslrootcert=amazon-root-CA-1.pem dbname=db-name'

Postgres 클라이언트를 사용하여 Aurora PostgreSQL 데이터베이스 작업을 수행하는 방법에 대한 자세한 내용은 PostgreSQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기를 참조하세요.

일반적인 Aurora DB 클러스터에 연결하는 방법에 대한 자세한 내용은 Amazon Aurora DB 클러스터에 연결 섹션을 참조하세요.