Amazon Relational Database Service
사용 설명서 (API 버전 2014-10-31)

DB 파라미터 그룹 작업

DB 파라미터 그룹의 파라미터를 사용하여 DB 엔진 구성을 관리합니다. DB 파라미터 그룹은 하나 이상의 DB 인스턴스에 적용되는 엔진 구성 값의 컨테이너 역할을 합니다.

고객이 생성한 DB 파라미터 그룹을 지정하지 않고 DB 인스턴스를 생성할 경우 기본 DB 파라미터가 생성됩니다. 각 기본 DB 파라미터 그룹에는 인스턴스의 엔진, 컴퓨팅 클래스 및 할당된 스토리지에 따른 데이터베이스 엔진 기본값과 Amazon RDS 시스템 기본값이 들어 있습니다. 기본 DB 파라미터 그룹의 파라미터 설정을 수정할 수 없습니다. DB 파라미터 그룹을 직접 생성하여 해당 기본값에서 파라미터 설정을 변경해야 합니다. 고객이 생성한 DB 파라미터 그룹에서 모든 DB 엔진 파라미터를 변경할 수 있는 것은 아닙니다.

사용자 고유의 DB 파라미터 그룹을 사용하는 경우 새 DB 파라미터 그룹을 만들고, 원하는 파라미터를 수정하고, 새 DB 파라미터 그룹을 사용하도록 DB 인스턴스 를 수정하면 됩니다. 특정 DB 파라미터 그룹과 연결된 모든 DB 인스턴스는 해당 DB 파라미터 그룹에 대한 모든 파라미터 업데이트를 가져옵니다.

AWS CLIrds-copy-db-parameter-group 명령으로 기존 DB 파라미터 그룹을 복사할 수 있습니다. DB 파라미터 그룹을 이미 생성했으며 해당 그룹의 사용자 지정 파라미터와 값의 대부분을 새 DB 파라미터 그룹에 포함하려는 경우 파라미터 그룹을 복사하면 편리합니다.

다음은 DB 파라미터 그룹의 파라미터 작업 시 알아 두어야 할 몇 가지 주요 사항입니다.

  • 동적 파라미터를 변경하고 DB 파라미터 그룹을 저장하면 즉시 적용 설정과 관계없이 변경 내용이 바로 적용됩니다. 고정 파라미터를 변경하고 DB 파라미터 그룹을 저장하면 DB 인스턴스를 수동으로 재부팅한 후에 파라미터 변경 내용이 적용됩니다. RDS 콘솔을 사용하거나 명시적으로 RebootDbInstance API 작업을 호출하여 DB 인스턴스를 재부팅할 수 있습니다(DB 인스턴스가 다중 AZ 배포에 있는 경우 장애 조치 없음). 고정 파라미터 변경 후 연결된 DB 인스턴스를 재부팅하도록 하면 ModifyDBInstance를 호출하여 DB 인스턴스 클래스를 변경하거나 스토리지를 조정하는 경우와 같이 잘못된 파라미터 구성이 API 호출에 영향을 주는 위험을 완화할 수 있습니다.

  • DB 인스턴스와 연결된 DB 파라미터 그룹을 변경하면 DB 인스턴스에서 새 DB 파라미터 그룹을 사용하기 전에 인스턴스를 수동으로 재부팅해야 합니다.

  • DB 파라미터 값을 수식, 변수, 함수 및 연산자로 만든 정수 식이나 정수로 지정할 수 있습니다. 함수에 수학 로그식을 넣을 수 있습니다. 자세한 내용은 DB 파라미터 값 단원을 참조하십시오.

  • DB 인스턴스를 만들기 전 및 DB 인스턴스에 데이터베이스를 만들기 전에, 파라미터 그룹에 있는 데이터베이스의 문자 세트 또는 데이터 정렬과 관련된 파라미터를 모두 설정해야 합니다. 이렇게 하면 DB 인스턴스의 기본 데이터베이스와 새 데이터베이스가 지정한 문자 세트 및 데이터 정렬 값을 사용하게 됩니다. DB 인스턴스의 문자 세트 또는 데이터 정렬 파라미터를 변경해도 기존 데이터베이스에는 변경된 파라미터가 적용되지 않습니다.

    다음과 같이 ALTER DATABASE 명령을 사용하여 기존 데이터베이스의 문자 세트 또는 데이터 정렬 값을 변경할 수 있습니다.

    ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;
  • DB 파라미터 그룹에 파라미터를 잘못 설정하면 성능 저하나 시스템 불안정 등의 의도하지 않은 부작용이 있을 수 있습니다. 데이터베이스 파라미터를 수정할 때 항상 주의를 기울이고 DB 파라미터 그룹을 수정하기 전에 데이터를 백업하십시오. 파라미터 그룹 변경 내용을 프로덕션 DB 인스턴스에 적용하기 전에 테스트 DB 인스턴스에 적용해 봐야 합니다.

DB 파라미터 그룹 생성

AWS Management 콘솔, AWS CLI 또는 RDS API를 사용하여 새 DB 파라미터 그룹을 생성할 수 있습니다.

AWS Management 콘솔

DB 파라미터 그룹을 생성하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. [Create parameter group]을 선택합니다.

    파라미터 그룹 생성 창이 나타납니다.

  4. 파라미터 그룹 패밀리 목록에서 DB 파라미터 그룹 패밀리를 선택합니다.

  5. 유형 목록에서 DB 파라미터 그룹을 선택합니다.

  6. 그룹 이름] 상자에 새로운 DB 파라미터 그룹의 이름을 입력합니다.

  7. 설명 상자에 새 DB 파라미터 그룹에 대한 설명을 입력합니다.

  8. Create를 선택합니다.

CLI

DB 파라미터 그룹을 생성하려면 AWS CLI create-db-parameter-group 명령을 사용합니다. 다음 예에서는 "My new parameter group"이라는 설명과 함께 mydbparametergroup이라는 MySQL 버전 5.6용 DB 파라미터 그룹을 생성합니다.

다음 필수 파라미터를 포함합니다.

  • --db-parameter-group-name

  • --db-parameter-group-family

  • --description

사용 가능한 모든 파라미터 그룹 패밀리를 나열하려면 다음 명령을 사용합니다.

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"

참고

출력에 중복이 있습니다.

Linux, OS X, Unix의 경우:

aws rds create-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --db-parameter-group-family MySQL5.6 \ --description "My new parameter group"

Windows의 경우:

aws rds create-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --db-parameter-group-family MySQL5.6 ^ --description "My new parameter group"

다음과 비슷한 출력이 생성됩니다.

DBPARAMETERGROUP mydbparametergroup mysql5.6 My new parameter group
API

DB 파라미터 그룹을 생성하려면 Amazon RDS API CreateDBParameterGroup 작업을 사용합니다.

다음 필수 파라미터를 포함합니다.

  • DBParameterGroupName

  • DBParameterGroupFamily

  • Description

DB 파라미터 그룹의 파라미터 수정

고객이 생성한 DB 파라미터 그룹의 파라미터 값은 수정할 수 있지만, 기본 DB 파라미터 그룹의 파라미터 값은 변경할 수 없습니다. 고객이 생성한 DB 파라미터 그룹의 파라미터를 변경하면 DB 파라미터 그룹과 연결된 모든 DB 인스턴스에 해당 변경 내용이 적용됩니다.

파라미터 값을 변경할 경우 변경 내용이 적용되는 시기는 파라미터 유형에 의해 결정됩니다. 동적 파라미터의 변경 내용은 즉시 적용됩니다. 고정 파라미터를 변경할 경우 DB 파라미터 그룹과 연결된 DB 인스턴스를 재부팅해야 해당 변경 내용이 적용됩니다. 파라미터 유형을 확인하려면 DB 파라미터 그룹 나열 섹션의 절차 중 하나를 사용하여 파라미터 그룹의 파라미터를 나열합니다.

RDS 콘솔에 DB 인스턴스와 연결된 DB 파라미터 그룹의 상태가 표시됩니다. 예를 들어, DB 인스턴스에서 연결된 DB 파라미터 그룹에 대한 최신 변경 내용을 사용하고 있지 않은 경우 RDS 콘솔에 DB 파라미터 그룹이 [pending-reboot] 상태로 표시됩니다. 최신 파라미터 변경 내용을 DB 인스턴스에 적용하려면 해당 DB 인스턴스를 수동으로 재부팅해야 합니다.


				파라미터 변경 내용 보류 중 재부팅 시나리오
AWS Management 콘솔

DB 파라미터 그룹을 수정하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. 목록에서 수정하려는 파라미터 그룹을 선택합니다.

  4. 파라미터 그룹 작업을 선택한 후 편집을 선택합니다.

  5. 수정하려는 파라미터의 값을 변경합니다. 대화 상자 오른쪽 위의 화살표 키를 사용하여 파라미터를 스크롤할 수 있습니다.

    기본 파라미터 그룹의 값은 변경할 수 없습니다.

  6. [Save changes]를 선택합니다.

CLI

DB 파라미터 그룹을 수정하려면 AWS CLI modify-db-parameter-group 명령을 다음 필수 파라미터와 함께 사용합니다.

  • --db-parameter-group-name

  • --parameters

다음 예에서는 mydbparametergroup이라는 DB 파라미터 그룹에서 max_connectionsmax_allowed_packet 값을 수정합니다.

참고

Amazon RDS는 단일 파라미터에 대해 쉼표로 구분된 여러 파라미터 값 전달을 지원하지 않습니다.

Linux, OS X, Unix의 경우:

aws rds modify-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" \ "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"

Windows의 경우:

aws rds modify-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" ^ "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"

다음과 같은 출력이 생성됩니다.

DBPARAMETERGROUP mydbparametergroup
API

DB 파라미터 그룹을 수정하려면 Amazon RDS API ModifyDBParameterGroup 명령을 다음 필수 파라미터와 함께 사용합니다.

  • DBParameterGroupName

  • Parameters

DB 파라미터 그룹 복사

생성하는 사용자 지정 DB 파라미터 그룹을 복사할 수 있습니다 DB 파라미터 그룹을 이미 생성했으며 해당 그룹의 사용자 지정 파라미터와 값을 대부분 새 DB 파라미터 그룹에 포함하려는 경우 파라미터 그룹을 복사하면 편리합니다. AWS CLI copy-db-parameter-group 명령 또는 Amazon RDS API CopyDBParameterGroup 작업을 사용하여 DB 파라미터 그룹을 복사할 수 있습니다.

DB 파라미터 그룹을 복사한 후 해당 DB 파라미터 그룹을 기본 파라미터 그룹으로 사용하는 첫 번째 DB 인스턴스를 생성하기 전에 5분 이상 기다려야 합니다. 그러면 파라미터 그룹이 새 DB 인스턴스의 기본값으로 사용되기 전에 Amazon RDS에서 복사 작업을 완전히 마칠 수 있습니다. 이는 character_set_database 파라미터에서 정의한 기본 데이터베이스의 문자 세트와 같은 DB 인스턴스의 기본 데이터베이스를 생성할 때 필요한 파라미터에 특히 중요합니다. describe-db-parameters 명령이나 Amazon RDS 콘솔파라미터 그룹 옵션을 사용하여 DB 파라미터 그룹이 생성되었는지 확인할 수 있습니다.

참고

기본 파라미터 그룹은 복사할 수 없습니다. 하지만 기본 파라미터 그룹을 바탕으로 하는 새로운 파라미터 그룹을 만들 수 있습니다.

AWS Management 콘솔

DB 파라미터 그룹을 복사하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. 목록에서 복사하려는 사용자 지정 파라미터 그룹을 선택합니다.

  4. 파라미터 그룹 작업을 선택한 후 복사를 선택합니다.

  5. 새로운 DB 파라미터 그룹 식별자에 새로운 파라미터 그룹의 이름을 입력합니다.

  6. 설명에 새로운 파라미터 그룹에 대한 설명을 입력합니다.

  7. [Copy]를 선택합니다.

CLI

DB 파라미터 그룹을 복사하려면 AWS CLI copy-db-parameter-group 명령을 다음 필수 파라미터와 함께 사용합니다.

  • --source-db-parameter-group-identifier

  • --target-db-parameter-group-identifier

  • --target-db-parameter-group-description

다음 예에서는 DB 파라미터 그룹 mygroup1을 복사하여 mygroup2라는 새 DB 파라미터 그룹을 생성합니다.

Linux, OS X, Unix의 경우:

aws rds copy-db-parameter-group \ --source-db-parameter-group-identifier mygroup1 \ --target-db-parameter-group-identifier mygroup2 \ --target-db-parameter-group-description "DB parameter group 2"

Windows의 경우:

aws rds copy-db-parameter-group ^ --source-db-parameter-group-identifier mygroup1 ^ --target-db-parameter-group-identifier mygroup2 ^ --target-db-parameter-group-description "DB parameter group 2"
API

DB 파라미터 그룹을 복사하려면 RDS API CopyDBParameterGroup 작업을 다음 필수 파라미터와 함께 사용합니다.

  • SourceDBParameterGroupIdentifier

  • TargetDBParameterGroupIdentifier

  • TargetDBParameterGroupDescription

DB 파라미터 그룹 나열

AWS 계정에 대해 생성한 DB 파라미터 그룹을 나열할 수 있습니다.

참고

특정 DB 엔진과 버전에 대한 DB 인스턴스를 생성할 때 기존 파라미터 템플릿에서 기본 파라미터 그룹이 자동으로 생성됩니다. 이러한 기본 파라미터 그룹은 기본 파라미터 설정을 포함하여 수정할 수 없습니다. 사용자 지정 파라미터 그룹을 생성할 때 파라미터 설정을 수정할 수 있습니다.

AWS Management 콘솔

AWS 계정에 대한 모든 DB 파라미터 그룹을 나열하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

    DB 파라미터 그룹이 목록에 나타납니다.

CLI

AWS 계정에 사용할 수 있는 모든 DB 파라미터 그룹을 나열하려면 AWS CLI describe-db-parameter-groups 명령을 사용합니다.

다음 예에서는 AWS 계정에 사용할 수 있는 모든 DB 파라미터 그룹을 나열합니다.

aws rds describe-db-parameter-groups

다음과 같은 응답이 반환됩니다.

DBPARAMETERGROUP default.mysql5.5 mysql5.5 Default parameter group for MySQL5.5 DBPARAMETERGROUP default.mysql5.6 mysql5.6 Default parameter group for MySQL5.6 DBPARAMETERGROUP mydbparametergroup mysql5.6 My new parameter group

다음은 mydbparamgroup1 파라미터 그룹을 설명하는 예제입니다.

Linux, OS X, Unix의 경우:

aws rds describe-db-parameter-groups \ --db-parameter-group-name mydbparamgroup1

Windows의 경우:

aws rds describe-db-parameter-groups ^ --db-parameter-group-name mydbparamgroup1

다음과 같은 응답이 반환됩니다.

DBPARAMETERGROUP mydbparametergroup1 mysql5.5 My new parameter group
API

AWS 계정에 사용할 수 있는 모든 DB 파라미터 그룹을 나열하려면 RDS API DescribeDBParameterGroups 작업을 사용합니다.

DB 파라미터 그룹의 파라미터 값 보기

DB 파라미터 그룹의 모든 파라미터와 해당 값 목록을 가져올 수 있습니다.

AWS Management 콘솔

DB 파라미터 그룹의 파라미터 값을 보려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

    DB 파라미터 그룹이 목록에 나타납니다.

  3. 파라미터 그룹 이름을 클릭하여 파라미터 목록을 봅니다.

CLI

DB 파라미터 그룹의 파라미터 값을 보려면 AWS CLI describe-db-parameters 명령을 다음 필수 파라미터와 함께 사용합니다.

  • --db-parameter-group-name

다음 예에서는 mydbparametergroup이라는 DB 파라미터 그룹에 대한 파라미터와 파라미터 값을 나열합니다.

aws rds describe-db-parameters --db-parameter-group-name mydbparametergroup

다음과 같은 응답이 반환됩니다.

DBPARAMETER Parameter Name Parameter Value Source Data Type Apply Type Is Modifiable DBPARAMETER allow-suspicious-udfs engine-default boolean static false DBPARAMETER auto_increment_increment engine-default integer dynamic true DBPARAMETER auto_increment_offset engine-default integer dynamic true DBPARAMETER binlog_cache_size 32768 system integer dynamic true DBPARAMETER socket /tmp/mysql.sock system string static false
API

DB 파라미터 그룹의 파라미터 값을 보려면 Amazon RDS API DescribeDBParameters 명령을 다음 필수 파라미터와 함께 사용합니다.

  • DBParameterGroupName

DB 파라미터 그룹 비교

AWS Management 콘솔을 사용하여 동일한 DB 엔진 및 버전의 두 파라미터 그룹간 차이를 확인할 수 있습니다.

두 파라미터 그룹을 비교하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. 목록에서 비교하려는 두 파라미터 그룹을 선택합니다.

  4. 파라미터 그룹 작업을 선택한 후 비교를 선택합니다.

DB 파라미터 값

다음으로 DB 파라미터에 대한 값을 지정할 수 있습니다.

  • 정수 상수

  • DB 파라미터 수식

  • DB 파라미터 함수

  • 문자열 상수

  • 로그 식(log 함수는 log base 2를 나타냄), 예: 값={log(DBInstanceClassMemory/8187281418)*1000}

DB 파라미터 수식

DB 파라미터 수식은 정수 값 또는 부울 값으로 확인되는 식이며 중괄호({})로 묶입니다. DB 파라미터 함수에 대한 인수나 DB 파라미터 값에 대해 수식을 지정할 수 있습니다.

구문

{FormulaVariable}
{FormulaVariable*Integer}
{FormulaVariable*Integer/Integer}
{FormulaVariable/Integer}

DB 파라미터 수식 변수

각 수식 변수는 정수 또는 부울 값을 반환합니다. 변수 이름은 대소문자를 구분합니다.

AllocatedStorage

데이터 볼륨의 크기를 바이트 단위로 반환합니다.

DBInstanceClassMemory

현재 DB 인스턴스와 연결된 DB 인스턴스에 할당된 메모리에서 인스턴스를 관리하는 Amazon RDS 프로세스에 사용되는 메모리를 뺀 바이트 수를 반환합니다.

EndPointPort

DB 인스턴스에 연결하는 데 사용되는 포트의 번호를 반환합니다.

DBInstanceClassHugePagesDefault

부울 값 반환 현재, Oracle 엔진에 대해서만 지원됩니다.

자세한 내용은 Oracle DB 인스턴스에 방대한 페이지 사용 단원을 참조하십시오.

DB 파라미터 수식 연산자

DB 파라미터 수식은 나눗셈과 곱셈의 두 가지 연산자를 지원합니다.

나눗셈 연산자: /

나뉨수를 나눗수로 나누어 정수 몫을 반환합니다. 몫의 소수는 잘리며 반올림되지 않습니다.

구문

dividend / divisor

나뉨수 및 나눗수 인수는 정수 식이어야 합니다.

곱셈 연산자: *

표현식을 곱하여 해당 표현식의 곱을 반환합니다. 표현식 소수는 잘리며 반올림되지 않습니다.

구문

expression * expression

두 식 모두 정수여야 합니다.

DB 파라미터 함수

정수나 수식으로 파라미터 인수를 지정할 수 있습니다. 함수마다 인수가 하나 이상 있어야 합니다. 쉼표로 구분된 목록으로 여러 인수를 지정할 수 있습니다. 목록에 argument1,,argument3과 같은 빈 멤버를 넣을 수 없습니다. 함수 이름은 대/소문자를 구분하지 않습니다.

참고

현재 CLI에서는 DB 파라미터 함수가 지원되지 않습니다.

IF()

인수를 반환합니다.

현재, Oracle 엔진에 대해서만 지원하고 지원하는 첫 인수는 {DBInstanceClassHugePagesDefault}입니다. 자세한 내용은 Oracle DB 인스턴스에 방대한 페이지 사용 단원을 참조하십시오.

구문

IF(argument1, argument2, argument3)

첫 번째 인수가 true이면 두 번째 인수를 반환합니다. 그렇지 않으면 세 번째 인수를 반환합니다.

GREATEST()

정수 또는 파라미터 수식 목록에서 가장 큰 값을 반환합니다.

구문

GREATEST(argument1, argument2,...argumentn)

정수를 반환합니다.

LEAST()

정수 또는 파라미터 수식 목록에서 가장 작은 값을 반환합니다.

구문

LEAST(argument1, argument2,...argumentn)

정수를 반환합니다.

SUM()

지정된 정수나 파라미터 수식의 값을 더합니다.

구문

SUM(argument1, argument2,...argumentn)

정수를 반환합니다.

DB 파라미터 값 예

다음 예에서는 DB 파라미터에 대한 값에 수식과 함수를 사용하는 방법을 보여 줍니다.

주의

DB 파라미터 그룹에 파라미터를 잘못 설정하면 성능 저하나 시스템 불안정 등의 의도하지 않은 부작용이 있을 수 있습니다. 데이터베이스 파라미터를 수정할 때 항상 주의하고 DB 파라미터 그룹을 수정하기 전에 데이터를 백업하십시오. 파라미터 그룹 변경 내용을 프로덕션 DB 인스턴스에 적용하기 전에 지정 시간 복원을 사용하여 생성한 테스트 DB 인스턴스에 적용해 봐야 합니다.

Oracle 프로세스 파라미터에 GREATEST 함수를 지정하여 DBInstanceClassMemory를 9868951로 나눈 값과 80 중 더 큰 수로 사용자 프로세스 수를 설정할 수 있습니다.

GREATEST({DBInstanceClassMemory/9868951},80)

MySQL max_binlog_cache_size 파라미터 값에 LEAST() 함수를 지정하여 트랜잭션이 MySQL 인스턴스에서 사용할 수 있는 최대 캐시 값을 1MB와 DBInstanceClass/256 중 더 작은 값으로 설정할 수 있습니다.

LEAST({DBInstanceClassMemory/256},10485760)