Amazon RDS에 대한 할당량 및 제약 조건 - Amazon Relational Database Service

Amazon RDS에 대한 할당량 및 제약 조건

다음에는 Amazon RDS에 대한 리소스 할당량 및 명명 제약 조건에 대한 설명을 찾을 수 있습니다.

Amazon RDS의 할당량

각 AWS 계정에는 AWS 리전마다 생성할 수 있는 Amazon RDS 리소스 수에 할당량이 있습니다. 리소스 할당량에 도달하면 해당 리소스 생성을 위한 추가 호출이 예외와 함께 실패합니다.

다음 표에는 AWS 리전별 리소스 및 그 할당량이 나열되어 있습니다.

이름 기본값 조정 가능 설명
DB 보안 그룹당 권한 부여 지원되는 각 리전: 20 아니요 DB 보안 그룹당 보안 그룹 인증 수
사용자 지정 엔진 버전 지원되는 각 지역: 40개 현재 리전에서 이 계정에 허용된 커스텀 엔진 버전의 최대 개수
DB 클러스터 파라미터 그룹 지원되는 각 리전: 50 아니요 DB 클러스터 파라미터 그룹의 최대 개수
DB 클러스터 지원되는 각 지역: 40개 현재 리전에서 이 계정에 허용된 클러스터의 최대 개수
DB 인스턴스 지원되는 각 지역: 40개 현재 리전에서 이 계정에 허용된 DB 인스턴스의 최대 개수
DB 서브넷 그룹 지원되는 각 리전: 50 DB 서브넷 그룹의 최대 개수
데이터 API HTTP 요청 본문 크기 지원되는 각 리전: 4MB 아니요 HTTP 요청 본문에 허용된 최대 크기입니다.
데이터 API 최대 동시 클러스터-암호 페어 수 각 지원되는 리전: 30 아니요 현재 계정 및 AWS 리전에 대한 동시 데이터 API 요청에서 Aurora Serverless DB 클러스터 및 암호의 최대 고유 페어 개수입니다.
데이터 API 최대 동시 요청 수 지원되는 각 리전: 500 아니요 Aurora Serverless DB 클러스터에 대한, 동일한 암호를 사용하고 동시에 처리될 수 있는 최대 데이터 API 요청 개수입니다. 추가 요청은 대기열에 추가되고, 처리 중인 요청이 완료되면 처리됩니다.
데이터 API 최대 결과 집합 크기 지원되는 각 리전: 1MB 아니요 데이터 API에서 반환할 수 있는 데이터베이스 결과 세트의 최대 크기입니다.
JSON 응답 문자열의 데이터 API 최대 크기 지원되는 각 리전: 10MB 아니요 RDS 데이터 API에서 반환하는 단순화된 JSON 응답 문자열의 최대 크기입니다.
초당 데이터 API 요청 수 지원되는 각 리전: 초당 1,000개 아니요 현재 AWS 리전에서 이 계정에 허용되는 초당 데이터 API에 대한 최대 요청 수입니다.
이벤트 구독 지원되는 각 리전: 20 이벤트 구독의 최대 개수
DB 클러스터당 IAM 역할 지원되는 각 지역: 5개 DB 클러스터와 연결된 IAM 역할의 최대 개수
DB 인스턴스당 IAM 역할 지원되는 각 지역: 5개 DB 인스턴스와 연결된 IAM 역할의 최대 개수
수동 DB 클러스터 스냅샷 지원되는 각 리전: 100 수동 DB 클러스터 스냅샷의 최대 수
수동 DB 인스턴스 스냅샷 수 지원되는 각 리전: 100 수동 DB 인스턴스 스냅샷의 최대 수
옵션 그룹 수 지원되는 각 리전: 20 옵션 그룹의 최대 개수
파라미터 그룹 지원되는 각 리전: 50 파라미터 그룹의 최대 개수
프록시 지원되는 각 리전: 20 현재 AWS 리전에서 이 계정에 허용된 프록시의 최대 개수
기본당 읽기 전용 복제본 각 지원되는 지역: 15 프라이머리 DB 인스턴스당 읽기 전용 복제본의 최대 개수 Amazon Aurora에서는 이 할당량을 조정할 수 없습니다.
예약 DB 인스턴스 지원되는 각 지역: 40개 현재 AWS 리전에서 이 계정에 허용된 예약 DB 인스턴스의 최대 개수
보안 그룹당 규칙 지원되는 각 리전: 20 아니요 DB 보안 그룹당 규칙의 최대 개수
보안 그룹 지원되는 각 리전: 25 DB 보안 그룹의 최대 개수
보안 그룹(VPC) 지원되는 각 리전: 5 아니요 Amazon VPC당 DB 보안 그룹의 최대 개수
DB 서브넷 그룹당 서브넷 수 지원되는 각 리전: 20 아니요 DB 서브넷 그룹당 서브넷의 최대 개수
리소스당 태그 각 지원되는 리전: 50개 아니요 Amazon RDS 리소스당 태그의 최대 개수
모든 DB 인스턴스의 총 스토리지 지원되는 각 리전: 100,000기가바이트 함께 추가된 모든 Amazon RDS DB 인스턴스에 대한 EBS 볼륨의 최대 총 스토리지(GB)입니다. 이 할당량은 각 DB 클러스터에 대해 최대 클러스터 볼륨이 128TiB인 Amazon Aurora에는 적용되지 않습니다.
참고

기본적으로 최대 총 40개의 DB 인스턴스를 실행할 수 있습니다. RDS DB 인스턴스, Aurora DB 인스턴스, Amazon Neptune 인스턴스 및 Amazon DocumentDB 인스턴스가 이 할당량에 적용됩니다.

Amazon RDS DB 인스턴스에는 다음과 같은 제한이 적용됩니다.

  • "라이선스 포함" 모델에서 각 SQL Server 에디션(Enterprise, Standard, Web 및 Express)의 경우 10개

  • "라이선스 포함" 모델에서 Oracle의 경우 10개

  • '기존 보유 라이선스 사용(BYOL)' 라이선싱 모델의 Db2의 경우 40개

  • MySQL, MariaDB 또는 PostgreSQL의 경우 40개

  • "BYOL(bring-your-license-license, 기존 보유 라이선스 사용)" 라이선싱 모델의 Oracle의 경우 40개

애플리케이션에 DB 인스턴스가 더 필요한 경우 Service Quotas 콘솔을 열어 추가 DB 인스턴스를 요청할 수 있습니다. 탐색 창에서 AWS 서비스를 선택합니다. Amazon Relational Database Service(Amazon RDS)를 선택하고, 할당량을 선택한 다음, 지침에 따라 할당량 증가를 요청합니다. 자세한 내용은 Service Quotas 사용 설명서할당량 증가 요청을 참조하십시오.

RDS for Oracle과 RDS for SQL Server의 경우 읽기 전용 복제본의 한도는 각 리전의 소스 데이터베이스당 5개입니다.

AWS Backup에서 관리하는 백업은 수동 DB 스냅샷으로 간주되지만 수동 스냅샷 할당량에 포함되지는 않습니다. AWS Backup에 대한 자세한 내용은 AWS Backup 개발자 가이드를 참조하십시오.

RDS API 작업을 사용하고 초당 호출 수의 기본 할당량을 초과하는 경우, Amazon RDS API는 다음과 같이 오류를 생성합니다.

ClientError: API_name 작업을 호출하는 동안 오류 발생(ThrottlingException): 속도 초과됨.

이 경우 초당 호출 수를 줄입니다. 할당량은 대부분의 사용 사례를 다루기 위한 것입니다. 더 높은 제한이 필요한 경우 AWS Support에 할당량 증가를 요청합니다. [지원 센터(AWS Support Center)] 페이지를 열고 필요한 경우, 로그인한 다음 [사례 생성(Create Case)]을 선택합니다. Service Limit increase(서비스 한도 증가)를 선택합니다. 양식을 작성하고 제출합니다.

참고

이 할당량은 Amazon RDS Service Quotas 콘솔에서 변경할 수 없습니다.

Amazon RDS의 명명 제약 조건

다음 표는 Amazon RDS의 명명 제약 조건을 설명한 것입니다.

리소스 또는 항목 Constraints

DB 인스턴스 식별자

식별자에는 다음과 같은 명명 제약 조건이 적용됩니다.

  • 1–63자의 영숫자 또는 하이픈으로 구성되어야 합니다.

  • 첫 번째 문자는 글자이어야 합니다.

  • 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.

  • 각 AWS 리전별로 AWS 계정 1개의 모든 DB 인스턴스는 고유해야 합니다.

데이터베이스 이름

데이터베이스 이름 제약 조건은 데이터베이스 엔진마다 다릅니다. 자세한 내용은 각 DB 인스턴스를 생성할 때 사용 가능한 설정을 참조하십시오.

참고

이 방법은 SQL Server에는 적용되지 않습니다. SQL Server의 경우, DB 인스턴스를 만든 후에 데이터베이스를 만듭니다.

마스터 사용자 이름

마스터 사용자 이름 제약 조건은 각 데이터베이스 엔진에 따라 다릅니다. 자세한 내용은 각 DB 인스턴스를 생성할 때 사용 가능한 설정을 참조하십시오.

마스터 암호

마스터 데이터베이스 사용자의 암호에는 /, ', ", @ 또는 공백을 제외한 모든 인쇄 가능한 ASCII 문자가 포함될 수 있습니다. Oracle의 경우 &는 추가적인 문자 제한 사항입니다. DB 엔진에 따라 달라지는, 암호에 있는 인쇄 가능한 ASCII 문자의 수는 다음과 같습니다.

  • Db2: 8–255

  • MariaDB 및 MySQL: 8–41

  • Oracle: 8–30

  • SQL Server 및 PostgreSQL: 8–128

DB 파라미터 그룹 이름

이러한 이름에는 다음과 같은 제약 조건이 적용됩니다.

  • 1–255자의 영숫자로 구성되어야 합니다.

  • 첫 번째 문자는 글자이어야 합니다.

  • 하이픈은 허용되지만 이름은 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.

DB 서브넷 그룹 이름

이러한 이름에는 다음과 같은 제약 조건이 적용됩니다.

  • 1–255자로 구성되어야 합니다.

  • 영숫자, 스페이스, 하이픈, 밑줄, 마침표를 사용할 수 있습니다.

최대 데이터베이스 연결 수

최대 동시 데이터베이스 연결 수는 DB 엔진 유형과 DB 인스턴스 클래스의 메모리 할당에 따라 다릅니다. 최대 연결 수는 일반적으로 DB 인스턴스에 연결된 파라미터 그룹에서 설정됩니다. 예외적으로, Microsoft SQL Server의 경우 SQL Server Mangment Studio(SSMS)의 DB 인스턴스에 대한 서버 속성에서 설정됩니다.

데이터베이스 연결은 메모리를 사용합니다. 이러한 파라미터 중 하나를 너무 높게 설정하면 메모리 부족 상태가 발생하여 DB 인스턴스가 파라미터 호환 장애(incompatible-parameters) 상태가 될 수 있습니다. 자세한 내용은 메모리 제한에 대한 호환되지 않는 파라미터 상태 진단 및 해결 섹션을 참조하세요.

애플리케이션이 연결을 자주 열고 닫거나, 수명이 긴 연결을 많이 열어 두는 경우, Amazon RDS 프록시를 사용하는 것이 좋습니다. RDS 프록시는 데이터베이스 연결을 효율적으로 안전하게 공유하기 위해 연결 풀링을 사용하는 완전관리형 고가용성 데이터베이스 프록시입니다. RDS 프록시에 대한 자세한 내용은 Amazon RDS 프록시 사용 섹션을 참조하세요.

참고

Oracle의 경우 최대 사용자 프로세스 수와 사용자 및 시스템 세션을 설정합니다.

Db2의 경우 최대 연결 수를 설정할 수 없습니다. 한도는 64,000입니다.

최대 데이터베이스 연결
DB 엔진 파라미터 허용된 값 기본값 설명
MariaDB 및 MySQL max_connections 1–100000

MariaDB 버전 10.5 및 10.6을 제외한 모든 MariaDB 및 MySQL 버전의 기본값:

{DBInstanceClassMemory/12582880}

MariaDB 버전 10.5 및 10.6의 기본값:

LEAST({DBInstanceClassMemory/9868951}, 20000)

참고

두 경우 모두 기본값 계산으로 인해 값이 16,000보다 큰 경우 Amazon RDS는 MariaDB 및 MySQL DB 인스턴스에 대한 제한을 16,000으로 설정합니다.

허용되는 동시 클라이언트 연결 수
Oracle processes 80–20000 LEAST({DBInstanceClassMemory/9868951}, 20000) 사용자 프로세스
sessions 100–65535 사용자 및 시스템 세션
PostgreSQL max_connections 6–8388607 LEAST({DBInstanceClassMemory/9531392}, 5000) 최대 동시 연결 수
SQL 서버 최대 동시 연결 수 0–32767 0(무제한) 최대 동시 연결 수

DBInstanceClassMemory는 바이트 단위입니다. 이 값이 계산되는 방법에 대한 자세한 내용은 DB 파라미터 지정 섹션을 참조하세요. 운영 체제 및 RDS 관리 프로세스용으로 예약된 메모리로 인해 이 메모리 크기는 에 대한 DB 인스턴스 클래스의 하드웨어 사양에 표시된 기비바이트(GiB) 값보다 작습니다.

예를 들어 일부 DB 인스턴스 클래스는 메모리 크기가 8GiB(8,589,934,592바이트)입니다. 메모리가 8GiB인 DB 인스턴스 클래스(예: db.m7g.large)에서 실행되는 MySQL DB 인스턴스의 경우 총 메모리를 사용하는 방정식은 8589934592/12582880=683입니다. 그러나 변수 DBInstanceClassMemory는 운영 체제에 예약된 양과 DB 인스턴스를 관리하는 RDS 프로세스에 예약된 양을 자동으로 뺍니다. 그런 다음 빼고 남은 값을 12,582,880으로 나눕니다. 이렇게 계산하면 max_connections의 값이 683이 아닌 약 630이 됩니다. 이 값은 DB 인스턴스 클래스 및 DB 엔진에 따라 달라집니다.

MariaDB 또는 MySQL DB 인스턴스가 db.t3.micro 또는 db.t3.small과 같은 소규모 DB 인스턴스 클래스에서 실행 중인 경우 사용 가능한 총 메모리가 부족합니다. 이러한 DB 인스턴스 클래스의 경우 RDS는 사용 가능한 메모리의 상당 부분을 예약하며, 이는 max_connections 값에 영향을 줍니다. 예를 들어 db.t3.micro DB 인스턴스 클래스에서 실행되는 MySQL DB 인스턴스의 기본 최대 연결 수는 약 60개입니다. DB MariaDB 또는 MySQL DB 인스턴스에 연결하고 다음 SQL 명령을 실행하여 DB MariaDB 또는 MySQL DB 인스턴스의 max_connections 값을 확인할 수 있습니다.

SHOW GLOBAL VARIABLES LIKE 'max_connections';

Amazon RDS의 파일 크기 제한

파일 크기 제한은 특정 Amazon RDS DB 인스턴스에 적용됩니다. 자세한 내용은 다음의 엔진별 제한을 참조하십시오.