

# 현재 위치 업그레이드 수행 방법
<a name="AuroraMySQL.Upgrading.Procedure"></a>

[Aurora MySQL 현재 위치 주 버전 업그레이드 작동 방식](AuroraMySQL.Updates.MajorVersionUpgrade.md#AuroraMySQL.Upgrading.Sequence)의 배경 자료를 검토하는 것이 좋습니다.

[Aurora MySQL 클러스터에 대한 주 버전 업그레이드 계획](AuroraMySQL.Updates.MajorVersionUpgrade.md#AuroraMySQL.Upgrading.Planning)에 설명된 대로 사전 업그레이드 계획 및 테스트를 수행합니다.

## 콘솔
<a name="AuroraMySQL.Upgrading.ModifyingDBCluster.CON"></a>

다음 예제에서는 `mydbcluster-cluster` DB 클러스터를 Aurora MySQL 버전 3.04.1로 업그레이드합니다.

**Aurora MySQL DB 클러스터의 주 버전을 업그레이드하는 방법**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1. 원래 DB 클러스터에 사용자 지정 파라미터 그룹을 사용한 경우 새 메이저 버전과 호환되는 해당 파라미터 그룹을 생성합니다. 새 파라미터 그룹의 구성 파라미터를 필요에 따라 조정합니다. 자세한 내용은 [현재 위치 업그레이드가 클러스터의 파라미터 그룹에 미치는 영향](#AuroraMySQL.Upgrading.ParamGroups) 섹션을 참조하세요.

1.  탐색 창에서 **데이터베이스**를 선택합니다.

1.  목록에서 수정할 DB 클러스터를 선택합니다.

1.  **수정**을 선택합니다.

1.  **버전**에 새 Aurora MySQL 메이저 버전을 선택합니다.

   일반적으로 메이저 버전의 최신 마이너 버전을 사용하는 것이 좋습니다. 여기에서는 현재의 기본 버전을 선택합니다.  
![\[Aurora MySQL DB 클러스터 버전 2에서 버전 3으로의 현재 위치 업그레이드\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/ams-upgrade-v2-v3.png)

1.  [**Continue**]를 선택합니다.

1.  다음 페이지에서 업그레이드 수행 시기를 지정합니다. **다음 예약된 유지 관리 기간 중** 또는 **즉시**를 선택합니다.

1.  (선택 사항) 업그레이드하는 동안 RDS 콘솔에서 **이벤트** 페이지를 주기적으로 검사합니다. 이렇게 하면 업그레이드 진행 상황을 모니터링하고 모든 문제를 식별할 수 있습니다. 업그레이드에 문제가 발생하면 수행할 단계에 대한 [Aurora MySQL 현재 위치 업그레이드를 위한 문제 해결](AuroraMySQL.Upgrading.Troubleshooting.md)를 참조하십시오.

1. 이 절차를 시작할 때 새 파라미터 그룹을 생성한 경우 사용자 지정 파라미터 그룹을 업그레이드된 클러스터와 연결합니다. 자세한 내용은 [현재 위치 업그레이드가 클러스터의 파라미터 그룹에 미치는 영향](#AuroraMySQL.Upgrading.ParamGroups) 단원을 참조하십시오.
**참고**  
 이 단계를 수행하려면 클러스터를 다시 시작하여 새 파라미터 그룹을 적용해야 합니다.

1.  (선택 사항) 업그레이드 후 테스트를 완료한 후 Aurora이 업그레이드 시작 시 생성한 수동 스냅샷을 삭제합니다.

## AWS CLI
<a name="AuroraMySQL.Upgrading.ModifyingDBCluster.CLI"></a>

Aurora MySQL DB 클러스터의 메이저 버전을 업그레이드하려면 다음 필수 파라미터와 함께 AWS CLI [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) 명령을 사용합니다.
+ `--db-cluster-identifier`
+ `--engine-version`
+ `--allow-major-version-upgrade`
+  `--apply-immediately` 또는 `--no-apply-immediately`

클러스터에서 사용자 지정 파라미터 그룹을 사용하는 경우 다음 옵션 중 하나 또는 모두를 포함합니다.
+ `--db-cluster-parameter-group-name`클러스터가 사용자 지정 클러스터 파라미터 그룹을 사용하는 경우 
+ `--db-instance-parameter-group-name`클러스터의 인스턴스가 사용자 지정 DB 파라미터 그룹을 사용하는 경우 

다음 예제에서는 `sample-cluster` DB 클러스터를 Aurora MySQL 버전 3.04.1로 업그레이드합니다. 업그레이드는 다음 유지 관리 기간을 기다리는 대신 즉시 수행됩니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds modify-db-cluster \
          --db-cluster-identifier sample-cluster \
          --engine-version 8.0.mysql_aurora.3.04.1 \
          --allow-major-version-upgrade \
          --apply-immediately
```
Windows의 경우:  

```
aws rds modify-db-cluster ^
          --db-cluster-identifier sample-cluster ^
          --engine-version 8.0.mysql_aurora.3.04.1 ^
          --allow-major-version-upgrade ^
          --apply-immediately
```
다른 CLI 명령을 `modify-db-cluster`와 결합하여 업그레이드 수행 및 확인을 위한 자동화된 종단 간 프로세스를 생성할 수 있습니다. 자세한 정보와 지침은 [Aurora MySQL 현재 위치 업그레이드 자습서](AuroraMySQL.Upgrading.Tutorial.md) 단원을 참조하십시오.

**참고**  
클러스터가 Aurora 글로벌 데이터베이스의 일부라면 현재 위치 업그레이드 절차가 약간 다릅니다. [modify-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-global-cluster.html) 명령 작업을 `modify-db-cluster` 대신 호출합니다. 자세한 내용은 [글로벌 데이터베이스에 대한 현재 위치 메이저 업그레이드](#AuroraMySQL.Upgrading.GlobalDB) 섹션을 참조하세요.

## RDS API
<a name="AuroraMySQL.Upgrading.ModifyingDBCluster.API"></a>

Aurora MySQL DB 클러스터의 메이저 버전을 업그레이드하려면 다음 필수 파라미터와 함께 RDS API 작업 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html)를 사용합니다.
+ `DBClusterIdentifier`
+ `Engine`
+ `EngineVersion`
+ `AllowMajorVersionUpgrade`
+ `ApplyImmediately` (`true` 또는 `false`로 설정)

**참고**  
클러스터가 Aurora 글로벌 데이터베이스의 일부라면 현재 위치 업그레이드 절차가 약간 다릅니다. [ModifyGlobalCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyGlobalClusterParameterGroup.html) 작업을 `ModifyDBCluster` 대신 호출합니다. 자세한 내용은 [글로벌 데이터베이스에 대한 현재 위치 메이저 업그레이드](#AuroraMySQL.Upgrading.GlobalDB) 섹션을 참조하세요.

## 현재 위치 업그레이드가 클러스터의 파라미터 그룹에 미치는 영향
<a name="AuroraMySQL.Upgrading.ParamGroups"></a>

Aurora 파라미터 그룹에는 MySQL 5.7 또는 8.0과 호환되는 클러스터에 대해 서로 다른 구성 설정 집합이 있습니다. 현재 위치 업그레이드를 수행할 때 업그레이드된 클러스터와 클러스터의 모든 인스턴스는 해당하는 클러스터 및 인스턴스 파라미터 그룹을 사용해야 합니다.

클러스터와 인스턴스는 기본 5.7 호환 파라미터 그룹을 사용할 수 있습니다. 그렇다면 업그레이드된 클러스터 및 인스턴스는 기본 8.0 호환 파라미터 그룹으로 시작합니다. 클러스터와 인스턴스가 사용자 지정 파라미터 그룹을 사용하는 경우 해당하는 8.0 호환 파라미터 그룹을 생성해야 합니다. 또한 업그레이드 프로세스 중에 이를 지정해야 합니다.

**참고**  
대부분의 파라미터 설정에서는 두 지점에서 사용자 정의 파라미터 그룹을 선택할 수 있습니다. 클러스터를 만들 때와 나중에 파라미터 그룹을 클러스터와 연결할 때입니다.  
그러나 `lower_case_table_names` 파라미터에 대해 기본값이 아닌 설정을 사용하는 경우 미리 이 설정으로 사용자 정의 파라미터 그룹을 설정해야 합니다. 그런 다음, 클러스터를 생성하기 위해 스냅샷 복원을 수행하는 경우 파라미터 그룹을 지정합니다. `lower_case_table_names` 파라미터에 대한 모든 변경은 클러스터를 생성한 후에는 효력이 없습니다.  
Aurora MySQL 버전 2에서 버전 3으로 업그레이드할 때 `lower_case_table_names`에 동일한 설정을 사용하는 것이 좋습니다.  
Aurora MySQL 기반 Aurora Global Database 사용 시 `lower_case_table_names` 파라미터가 활성화 되어 있는 경우 Aurora MySQL 버전 2에서 버전 3으로 현재 위치 업그레이드를 수행할 수 없습니다. 사용할 수 있는 메서드에 대한 자세한 내용은 [메이저 버전 업그레이드](aurora-global-database-upgrade.md#aurora-global-database-upgrade.major) 섹션을 참조하세요.

**중요**  
 업그레이드 프로세스 중에 사용자 지정 파라미터 그룹을 지정하는 경우 업그레이드가 완료된 후 클러스터를 수동으로 재부팅해야 합니다. 이렇게 하면 클러스터가 사용자 지정 파라미터 설정을 사용하기 시작합니다.

## Aurora MySQL 버전 간의 클러스터 속성 변경
<a name="AuroraMySQL.Upgrading.Attrs"></a>

Aurora MySQL 버전 2에서 버전 3으로 업그레이드할 때는 Aurora MySQL 클러스터 및 DB 인스턴스를 설정하거나 관리하는 데 사용하는 애플리케이션 또는 스크립트를 변경해야 합니다.

또한 5.7 및 8.0 호환 클러스터에서 기본 파라미터 그룹 이름이 다르다는 사실을 설명하기 위해 파라미터 그룹을 조작하는 코드를 변경하세요. Aurora MySQL 버전 2 및 3 클러스터에 해당하는 기본 파라미터 그룹 이름은 각각 `default.aurora-mysql5.7` 및 `default.aurora-mysql8.0`입니다.

예를 들어 업그레이드 전에 클러스터에 적용되는 다음과 같은 코드가 있을 수 있습니다.

```
# Check the default parameter values for MySQL 5.7–compatible clusters.
aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql5.7 --region us-east-1
```

 클러스터의 주 버전을 업그레이드한 후 다음과 같이 해당 코드를 수정합니다.

```
# Check the default parameter values for MySQL 8.0–compatible clusters.
aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql8.0 --region us-east-1
```

## 글로벌 데이터베이스에 대한 현재 위치 메이저 업그레이드
<a name="AuroraMySQL.Upgrading.GlobalDB"></a>

 Aurora 글로벌 데이터베이스의 경우 글로벌 데이터베이스 클러스터를 업그레이드합니다. Aurora는 자동으로 모든 클러스터를 동시에 업그레이드하고 모든 클러스터가 동일한 엔진 버전을 실행하도록 합니다. 이 요구 사항은 시스템 테이블, 데이터 파일 형식 등에 대한 변경 내용이 모든 보조 클러스터에 자동으로 복제되기 때문입니다.

[Aurora MySQL 현재 위치 주 버전 업그레이드 작동 방식](AuroraMySQL.Updates.MajorVersionUpgrade.md#AuroraMySQL.Upgrading.Sequence)의 지침을 따르세요. 업그레이드할 대상을 지정할 때 포함된 클러스터 중에서 대신 글로벌 데이터베이스 클러스터를 선택해야 합니다.

AWS Management Console을 사용하는 경우 **글로벌 데이터베이스(Global database)** 역할이 있는 항목을 선택합니다.

![\[글로벌 데이터베이스 클러스터 업그레이드\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-databases-major-upgrade-global-cluster.png)


 AWS CLI 또는 RDS API를 사용하는 경우에는 [modify-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-global-cluster.html) 명령 또는 [ModifyGlobalCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyGlobalCluster.html) 작업을 호출하여 업그레이드 프로세스를 시작합니다. `modify-db-cluster` 또는 `ModifyDBCluster` 대신 이중 하나를 사용합니다.

**참고**  
해당 Aurora Global Database의 메이저 버전 업그레이드를 수행하는 동안에는 글로벌 데이터베이스 클러스터에 대한 사용자 지정 파라미터 그룹을 지정할 수 없습니다. 전역 클러스터의 각 리전에 사용자 지정 파라미터 그룹을 생성합니다. 그런 다음 업그레이드 후 리전 클러스터에 수동으로 적용합니다.

 AWS CLI를 사용하여 Aurora MySQL 글로벌 데이터베이스 클러스터의 메이저 버전을 업그레이드하려면 다음 필수 파라미터와 함께 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-global-cluster.html) 명령을 사용합니다.
+  `--global-cluster-identifier` 
+  `--engine aurora-mysql` 
+  `--engine-version` 
+  `--allow-major-version-upgrade` 

다음 예에서는 글로벌 데이터베이스 클러스터를 Aurora MySQL 버전 2.10.2로 업그레이드합니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds modify-global-cluster \
          --global-cluster-identifier global_cluster_identifier \
          --engine aurora-mysql \
          --engine-version 5.7.mysql_aurora.2.10.2 \
          --allow-major-version-upgrade
```
Windows의 경우:  

```
aws rds modify-global-cluster ^
          --global-cluster-identifier global_cluster_identifier ^
          --engine aurora-mysql ^
          --engine-version 5.7.mysql_aurora.2.10.2 ^
          --allow-major-version-upgrade
```

## 역추적 고려 사항
<a name="AuroraMySQL.Upgrading.Backtrack"></a>

업그레이드한 클러스터에서 역추적 기능을 사용하도록 설정한 경우 업그레이드된 클러스터를 업그레이드 전의 시간으로 되돌릴 수 없습니다.