

# RDS 프록시에 대한 네트워크 사전 조건 설정
<a name="rds-proxy-network-prereqs"></a>

 RDS 프록시를 사용하려면 RDS DB 인스턴스와 RDS 프록시 간에 공통의 Virtual Private Cloud(VPC)가 있어야 합니다. 이 VPC에는 서로 다른 가용 영역에 있는 최소 2개의 서브넷이 있어야 합니다. 계정은 이러한 서브넷을 소유하거나 다른 계정과 공유할 수 있습니다. VPC 공유에 대한 자세한 내용은 [공유 VPC 작업](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)을 참조하세요.

IPv6 지원의 경우 추가 네트워크 구성이 필요합니다.
+ **IPv6 엔드포인트 네트워크 유형** - IPv6를 지원하도록 VPC 및 서브넷을 구성해야 합니다. 여기에는 VPC 및 서브넷에 할당된 IPv6 CIDR 블록이 포함됩니다.
+ **듀얼 스택 엔드포인트 네트워크 유형** - VPC 및 서브넷은 IPv4 및 IPv6 주소 지정을 모두 지원해야 합니다.
+ **IPv6 대상 연결 네트워크 유형** - 프록시에서 IPv6 연결을 지원하려면 듀얼 스택 모드로 데이터베이스를 구성해야 합니다.

Amazon EC2, Lambda 또는 Amazon ECS와 같은 클라이언트 애플리케이션 리소스는 프록시와 동일한 VPC에 있을 수 있습니다. 또는 프록시와 별도의 VPC에 있을 수도 있습니다. RDS DB 인스턴스에 성공적으로 연결했다면 필요한 네트워크 리소스가 이미 있는 것입니다.

**Topics**
+ [서브넷에 대한 정보 가져오기](#rds-proxy-network-prereqs.subnet-info)
+ [IP 주소 용량 계획](#rds-proxy-network-prereqs.plan-ip-address)

## 서브넷에 대한 정보 가져오기
<a name="rds-proxy-network-prereqs.subnet-info"></a>

프록시를 만들려면 프록시가 작동하는 서브넷과 VPC를 제공해야 합니다. 다음 Linux 예에서는 AWS 계정에서 소유한 VPC 및 서브넷을 검사하는 AWS CLI 명령을 보여줍니다. 특히 CLI를 사용하여 프록시를 생성할 경우 서브넷 ID를 파라미터로 전달합니다.

```
aws ec2 describe-vpcs
aws ec2 describe-internet-gateways
aws ec2 describe-subnets --query '*[].[VpcId,SubnetId]' --output text | sort
```

다음 Linux 예시에서는 특정 RDS DB 인스턴스에 해당하는 서브넷 ID를 확인하는 AWS CLI 명령을 보여줍니다. DB 인스턴스의 VPC ID를 찾습니다. VPC를 검사하여 서브넷을 찾습니다. 다음 Linux 예제에서는 그 방법을 보여 줍니다.

```
$ #From the DB instance, trace through the DBSubnetGroup and Subnets to find the subnet IDs.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0]|[Subnets]|[0]|[*].SubnetIdentifier' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
...
```

```
$ #From the DB instance, find the VPC.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0].VpcId' --output text
```

```
my_vpc_id
```

```
$ aws ec2 describe-subnets --filters Name=vpc-id,Values=my_vpc_id --query '*[].[SubnetId]' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
subnet_id_4
subnet_id_5
subnet_id_6
```

## IP 주소 용량 계획
<a name="rds-proxy-network-prereqs.plan-ip-address"></a>

RDS 프록시는 등록된 DB 인스턴스의 크기 및 수를 기준으로 필요에 따라 용량을 자동으로 조정합니다. 등록된 데이터베이스 또는 내부 RDS 프록시 유지 관리 작업의 크기를 늘리는 것과 같은 특정 작업의 경우 프록시 용량을 늘려야 할 수 있습니다. 이러한 작업 중에 프록시에 추가 용량을 프로비저닝하기 위해 더 많은 IP 주소가 필요할 수 있습니다. 이러한 추가 주소를 사용하면 워크로드에 영향을 주지 않고 프록시를 확장할 수 있습니다. 서브넷에 사용 가능한 IP 주소가 부족하면 프록시가 스케일 업되지 않을 수 있습니다. 이로 인해 쿼리 지연 시간이 길어지거나 클라이언트 연결이 실패할 수 있습니다. RDS는 서브넷에 사용 가능한 IP 주소가 충분하지 않을 경우 `RDS-EVENT-0243` 이벤트를 통해 알려줍니다. 이 이벤트에 대한 자세한 내용은 [RDS 프록시 이벤트 작업RDS 프록시 이벤트 작업](rds-proxy.events.md) 섹션을 참조하세요.

**참고**  
RDS Proxy는 하나의 VPC 내에서 각 프록시에 대해 IP 주소를 215개보다 많이 소비하지 않습니다.

DB 인스턴스 클래스 크기를 기준으로 프록시의 서브넷에 다음과 같은 최소 개수의 사용 가능한 IP 주소를 예약합니다.


|  DB 인스턴스 클래스  |  여유 IP 주소 최소 개수  | 
| --- | --- | 
|  db.\$1.xlarge 이하   |  10  | 
|  db.\$1.2xlarge   |  15  | 
|  db.\$1.4xlarge   |  25  | 
|  db.\$1.8xlarge   |  45  | 
|  db.\$1.12xlarge   |  60  | 
|  db.\$1.16xlarge   |  75  | 
|  db.\$1.24xlarge   |  110  | 

이러한 권장 IP 주소 수는 기본 엔드포인트만 있는 프록시에 대한 예상 개수입니다. 추가 엔드포인트 또는 읽기 전용 복제본이 있는 프록시에는 여유 IP 주소가 더 필요할 수 있습니다. 각 추가 엔드포인트에 대해 IP 주소를 세 개 더 예약하는 것이 좋습니다. 각 읽기 전용 복제본에 대해 해당 읽기 전용 복제본의 크기를 기준으로 테이블에 지정된 대로 추가 IP 주소를 예약하는 것이 좋습니다.