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 v1 DB 클러스터 및 암호의 최대 고유한 페어 개수입니다.
데이터 API 최대 동시 요청 수 지원되는 각 리전: 500 아니요 Aurora Serverless v1 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 역할의 최대 개수
통합 지원되는 각 리전: 100 아니요 현재 AWS 리전에서 이 계정에 허용된 최대 통합 수
수동 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(bring-your-own-license)' 모델에서 Db2의 경우 40개

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

  • 'BYOL4(bring-your-own-license)' 라이선싱 모델에서 Oracle의 경우 40개

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

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

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

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

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

이 경우 초당 호출 수를 줄입니다. 할당량은 대부분의 사용 사례를 다루기 위한 것입니다. 더 높은 할당량이 필요한 경우 다음 옵션 중 하나를 사용하여 할당량 증가를 요청할 수 있습니다.

자세한 내용은 Service Quotas 사용 설명서를 참조하세요.

Amazon RDS의 명명 제약 조건

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

  • DB 인스턴스 식별자:

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

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

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

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

  • 초기 데이터베이스 이름:

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

    • 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 엔진의 최대 데이터베이스 연결 수에 대한 정보가 나와 있습니다.

DB 엔진 파라미터 허용된 값 기본값 설명
MariaDB 및 MySQL max_connections 1–100000

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

{DBInstanceClassMemory/12582880}

공식은 MB/12와 사실상 동일합니다.

MariaDB 버전 10.5 및 10.6의 기본값:

LEAST({DBInstanceClassMemory/25165760},12000)

공식은 MB/25와 사실상 동일합니다.

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

허용되는 동시 클라이언트 연결 수
Oracle processes 80–20000 LEAST({DBInstanceClassMemory/9868951}, 20000) 사용자 프로세스
Oracle sessions 100–65535 해당 사항 없음 사용자 및 시스템 세션
PostgreSQL max_connections 6–8388607 LEAST({DBInstanceClassMemory/9531392}, 5000) 최대 동시 연결 수
SQL Server user connections 0–32767 0(무제한) 최대 동시 연결 수. 자세한 내용은 Configure the user connections (server configuration option)를 참조하세요.

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 인스턴스에 적용됩니다. 자세한 내용은 다음의 엔진별 제한을 참조하십시오.