RDS 프록시 수정
프록시를 생성한 후 프록시와 연결된 특정 설정을 변경할 수 있습니다. 프록시 자체, 연결된 대상 그룹 또는 둘 다 수정하면 됩니다. 각 프록시에는 연결된 대상 그룹이 있습니다.
중요
클라이언트 인증 유형 및 IAM 인증 필드의 값은 이 프록시에 연결된 모든 Secrets Manager 보안 암호에 적용됩니다. 보안 암호마다 다른 값을 지정하려면 AWS CLI 또는 API를 대신 사용하여 프록시를 수정하세요.
프록시에 대한 설정을 수정하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 Proxies(프록시)를 선택합니다.
-
프록시 목록에서 설정을 수정하려는 프록시를 선택하거나 세부 정보 페이지로 이동합니다.
-
작업에서 수정을 선택합니다.
-
수정할 속성을 입력하거나 선택합니다. 다음을 수정할 수 있습니다.
-
프록시 식별자 – 새 식별자를 입력하여 프록시 이름을 변경합니다.
-
유휴 클라이언트 연결 시간 초과 - 유휴 클라이언트 연결 시간 초과의 기간을 입력합니다.
-
IAM 역할 – Secrets Manager에서 보안 암호를 검색하는 데 사용되는 IAM 역할을 변경합니다.
-
Secrets Manager 보안 암호 - Secrets Manager 보안 암호를 추가하거나 제거합니다. 이러한 비밀은 데이터베이스 사용자 이름 및 암호에 해당합니다.
-
클라이언트 인증 유형 - (PostgreSQL만 해당) 프록시에 대한 클라이언트 연결의 인증 유형을 변경합니다.
-
IAM 인증 - 프록시 연결에 대해 IAM 인증을 요구하거나 허용하지 않습니다.
-
전송 계층 보안 필요 - 전송 계층 보안(TLS) 요구 사항을 설정하거나 해제합니다.
-
VPC 보안 그룹 - 프록시가 사용할 VPC 보안 그룹을 추가하거나 제거합니다.
-
향상된 로깅 활성화 - 고급 로깅을 사용하거나 사용 중지하도록 설정합니다.
-
-
수정을 선택합니다.
변경할 설정을 찾지 못한 경우 다음 절차에 따라 프록시의 대상 그룹을 업데이트합니다. 프록시와 연결된 대상 그룹은 물리적 데이터베이스 연결과 관련된 설정을 제어합니다. 각 프록시에는 default
라는 하나의 연결된 대상 그룹이 있으며, 이 그룹은 프록시와 함께 자동으로 생성됩니다.
대상 그룹은 프록시 세부 정보 페이지에서만 수정할 수 있으며 Proxies(프록시) 페이지의 목록에서는 수정할 수 없습니다.
프록시 대상 그룹에 대한 설정을 수정하려면
-
[프록시(Proxies)] 페이지에서 프록시의 세부 정보 페이지로 이동합니다.
-
대상 그룹에서
default
링크를 선택합니다. 현재 모든 프록시에는default
라는 단일 대상 그룹이 있습니다. -
기본 대상 그룹에 대한 세부 정보 페이지에서 수정을 선택합니다.
-
수정할 수 있는 속성의 새 설정을 선택합니다.
-
데이터베이스 - 다른 RDS DB 인스턴스 또는 클러스터를 선택합니다.
-
연결 풀 최대 연결 – 프록시에서 사용할 수 있는 최대 연결 비율을 조정합니다.
-
세션 고정 필터 - (선택 사항) 세션 고정 필터를 선택합니다. 이렇게 하면 클라이언트 연결 간 데이터베이스 연결을 멀티플렉싱하기 위한 기본 안전 조치를 우회할 수 있습니다. 현재 PostgreSQL에서는 설정이 지원되지 않습니다.
EXCLUDE_VARIABLE_SETS
만 선택할 수 있습니다.이 설정을 활성화하면 어떤 연결의 세션 변수가 다른 연결에 영향을 줄 수 있습니다. 쿼리가 현재 트랜잭션 외부에 설정된 세션 변수 값에 의존하는 경우 이로 인해 오류나 정확성 문제가 발생할 수 있습니다. 애플리케이션이 클라이언트 연결 간에 데이터베이스 연결을 공유해도 안전한지 확인한 후 이 옵션을 사용하는 것이 좋습니다.
다음과 같은 패턴이 나타나면 안전한 상태로 간주될 수 있습니다.
-
유효 세션 변수 값에 변경 사항이 없는
SET
명령문이 있습니다(즉 세션 변수에 변경 사항이 없는 경우). -
세션 변수 값을 변경하고 동일한 트랜잭션에서 명령문을 실행합니다.
자세한 내용은 RDS 프록시 고정 방지 단원을 참조하십시오.
-
-
연결 대여 시간 초과 - 연결 대여 시간 초과 간격을 조정합니다. 이 설정은 최대 연결 수가 프록시에 이미 사용되고 있는 경우에 적용됩니다. 이 설정은 시간 초과 오류를 반환하기 전에 프록시가 연결을 사용할 수 있을 때까지 기다리는 시간을 지정합니다.
-
초기화 쿼리 - (선택 사항) 초기화 쿼리를 추가하거나 현재 쿼리를 수정합니다. 각 새 데이터베이스 접속을 열 때 실행할 프록시에 대한 하나 이상의 SQL 문을 지정할 수 있습니다. 이 설정은 일반적으로 각 접속에 표준 시간대 및 문자 집합과 같은 동일한 설정이 있는지 확인하기 위해
SET
문과 함께 사용됩니다. 여러 문의 경우 세미콜론을 구분 기호로 사용합니다.SET x=1, y=2
와 같은 단일SET
문에 여러 변수를 포함할 수도 있습니다.
대상 그룹 식별자, 데이터베이스 엔진과 같은 특정 속성은 변경할 수 없습니다.
-
-
Modify target group(대상 그룹 수정)을 선택합니다.
AWS CLI를 사용하여 프록시를 수정하려면 modify-db-proxy, modify-db-proxy-target-group, deregister-db-proxy-targets 및 register-db-proxy-targets 명령을 사용합니다.
modify-db-proxy
명령을 사용하여 다음과 같은 속성을 변경할 수 있습니다.
-
프록시에서 사용하는 Secrets Manager 보안 암호 집합입니다.
-
TLS가 필요한지 여부입니다.
-
유휴 클라이언트 시간 초과.
-
디버깅을 위해 SQL 문에서 추가 정보를 로깅할지 여부입니다.
-
Secrets Manager 보안 암호를 검색하는 데 사용되는 IAM 역할입니다.
-
프록시에서 사용하는 보안 그룹입니다.
다음 예제에서는 기존 프록시의 이름을 바꾸는 방법을 보여 줍니다.
aws rds modify-db-proxy --db-proxy-name
the-proxy
--new-db-proxy-namethe_new_name
연결 관련 설정을 수정하거나 대상 그룹의 이름을 변경하려면 modify-db-proxy-target-group
명령을 사용합니다. 현재 모든 프록시에는 default
라는 단일 대상 그룹이 있습니다. 이 대상 그룹으로 작업하는 경우 프록시 이름을 지정하고 대상 그룹 이름에 default
를 지정합니다.
다음 예제에서는 대상 그룹을 사용하여 프록시에 대한 MaxIdleConnectionsPercent
설정을 먼저 확인한 다음 변경하는 방법을 보여 줍니다.
aws rds describe-db-proxy-target-groups --db-proxy-name
the-proxy
{ "TargetGroups": [ { "Status": "available", "UpdatedDate": "2019-11-30T16:49:30.342Z", "ConnectionPoolConfig": { "MaxIdleConnectionsPercent": 50, "ConnectionBorrowTimeout": 120, "MaxConnectionsPercent": 100, "SessionPinningFilters": [] }, "TargetGroupName": "default", "CreatedDate": "2019-11-30T16:49:27.940Z", "DBProxyName": "the-proxy", "IsDefault": true } ] } aws rds modify-db-proxy-target-group --db-proxy-namethe-proxy
--target-group-name default --connection-pool-config ' { "MaxIdleConnectionsPercent": 75 }' { "DBProxyTargetGroup": { "Status": "available", "UpdatedDate": "2019-12-02T04:09:50.420Z", "ConnectionPoolConfig": { "MaxIdleConnectionsPercent": 75, "ConnectionBorrowTimeout": 120, "MaxConnectionsPercent": 100, "SessionPinningFilters": [] }, "TargetGroupName": "default", "CreatedDate": "2019-11-30T16:49:27.940Z", "DBProxyName": "the-proxy", "IsDefault": true } }
deregister-db-proxy-targets
및 register-db-proxy-targets
명령을 사용하여 대상 그룹을 통해 프록시가 연결된 RDS DB 인스턴스를 변경합니다. 현재 각 프록시는 하나의 RDS DB 인스턴스에 연결할 수 있습니다. 대상 그룹은 모든 다중 AZ 구성의 RDS DB 인스턴스에 대한 연결 세부 정보를 추적합니다.
다음 예제는 프록시가 cluster-56-2020-02-25-1399
라는 Aurora MySQL 클러스터와 연결된 상태에서 시작합니다. 이 예제에서는 provisioned-cluster
라는 다른 클러스터에 연결할 수 있도록 프록시를 변경하는 방법을 보여 줍니다.
RDS DB 인스턴스로 작업하는 경우 --db-instance-identifier
옵션을 지정합니다.
다음 예제에서는 Aurora MySQL 프록시를 수정합니다. Aurora PostgreSQL 프록시는 포트 5432가 있습니다.
aws rds describe-db-proxy-targets --db-proxy-name
the-proxy
{ "Targets": [ { "Endpoint": "instance-9814.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-9814" }, { "Endpoint": "instance-8898.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-8898" }, { "Endpoint": "instance-1018.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-1018" }, { "Type": "TRACKED_CLUSTER", "Port": 0, "RdsResourceId": "cluster-56-2020-02-25-1399" }, { "Endpoint": "instance-4330.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-4330" } ] } aws rds deregister-db-proxy-targets --db-proxy-namethe-proxy
--db-cluster-identifier cluster-56-2020-02-25-1399 aws rds describe-db-proxy-targets --db-proxy-namethe-proxy
{ "Targets": [] } aws rds register-db-proxy-targets --db-proxy-namethe-proxy
--db-cluster-identifier provisioned-cluster { "DBProxyTargets": [ { "Type": "TRACKED_CLUSTER", "Port": 0, "RdsResourceId": "provisioned-cluster" }, { "Endpoint": "gkldje.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "gkldje" }, { "Endpoint": "provisioned-1.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "provisioned-1" } ] }
RDS API를 사용하여 프록시를 수정하려면 ModifyDBProxy, ModifyDBProxyTargetGroup, DeregisterDBProxyTargets 및 RegisterDBProxyTargets 작업을 사용합니다.
ModifyDBProxy
를 사용하면 다음과 같은 속성을 변경할 수 있습니다.
-
프록시에서 사용하는 Secrets Manager 보안 암호 집합입니다.
-
TLS가 필요한지 여부입니다.
-
유휴 클라이언트 시간 초과.
-
디버깅을 위해 SQL 문에서 추가 정보를 로깅할지 여부입니다.
-
Secrets Manager 보안 암호를 검색하는 데 사용되는 IAM 역할입니다.
-
프록시에서 사용하는 보안 그룹입니다.
ModifyDBProxyTargetGroup
을 사용하여 연결 관련 설정을 수정하거나 대상 그룹의 이름을 바꿀 수 있습니다. 현재 모든 프록시에는 default
라는 단일 대상 그룹이 있습니다. 이 대상 그룹으로 작업하는 경우 프록시 이름을 지정하고 대상 그룹 이름에 default
를 지정합니다.
DeregisterDBProxyTargets
및 RegisterDBProxyTargets
를 사용하여 대상 그룹을 통해 프록시가 연결된 RDS DB 인스턴스를 변경합니다. 현재 각 프록시는 하나의 RDS DB 인스턴스에 연결할 수 있습니다. 대상 그룹은 다중 AZ 구성의 RDS DB 인스턴스에 대한 연결 세부 정보를 추적합니다.