

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Lightsail WordPress 인스턴스를 Amazon Aurora 데이터베이스에 연결
<a name="amazon-lightsail-connect-wordpress-instance-to-aurora-database"></a>

게시물, 페이지 및 사용자에 대한 웹 사이트 데이터는 Amazon Lightsail의 WordPress 인스턴스에서 실행 중인 데이터베이스에 저장됩니다. 인스턴스에 장애가 발생하면 데이터가 복구 불가능한 상태가 될 수 있습니다. 이러한 상황을 방지하려면 Amazon Relational Database Service(RDS)의 Amazon Aurora 데이터베이스로 웹 사이트 데이터를 전송해야 합니다.

Amazon Aurora는 클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스입니다. 이는 기존 엔터프라이즈 데이터베이스의 성능 및 가용성과 오픈 소스 데이터베이스의 단순성 및 비용 효율성을 결합합니다. Aurora는 Amazon RDS의 일부로 제공됩니다. Amazon RDS는 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 크기 조정할 수 있는 관리형 데이터베이스 서비스입니다. 자세한 내용은 [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/)Amazon Relational Database Service 사용 설명서와 [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/)Amazon Aurora - Aurora 사용 설명서를 참조하세요.

이 자습서에서는 Lightsail의 WordPress 인스턴스에 있는 웹사이트 데이터베이스를 Amazon RDS의 Aurora 관리형 데이터베이스에 연결하는 방법을 보여줍니다.

**목차**
+ [1단계: 필수 구성 요소 완성](#connect-mysql-to-aurora-prerequisites)
+ [2단계: Aurora 데이터베이스를 위한 보안 그룹 구성](#configure-aurora-security-group)
+ [3단계: Lightsail 인스턴스에서 Aurora 데이터베이스로 연결](#connect-to-aurora-database-from-lightsail-instance)
+ [4단계: WordPress 인스턴스에서 Aurora 데이터베이스로 MySQL 데이터베이스 전송](#transfer-database-from-wordpres-to-aurora)
+ [5단계: Aurora 관리형 데이터베이스에 연결하도록 WordPress 구성](#connect-wordpress-to-aurora)

## 1단계: 필수 구성 요소 완성
<a name="connect-mysql-to-aurora-prerequisites"></a>

시작하기 전에 다음 사전 조건을 완료합니다.

1. Lightsail에 WordPress 인스턴스를 생성하고 여기에 애플리케이션을 구성합니다. 계속하기 전에 인스턴스가 실행 중인 상태여야 합니다. 자세한 내용은 [자습서: Amazon Lightsail에서 WordPress 인스턴스 시작 및 구성](amazon-lightsail-tutorial-launching-and-configuring-wordpress.md)을 참조하세요.

1. Lightsail 계정에서 VPC 피어링을 켭니다. 자세한 내용은 [외부 AWS 리소스로 작업하도록 피어링 설정을 참조하세요Lightsail](lightsail-how-to-set-up-vpc-peering-with-aws-resources.md).

1. Amazon RDS에 Aurora 관리형 데이터베이스를 생성합니다. 데이터베이스는 WordPress 인스턴스와 동일한 AWS 리전 에 있어야 합니다. 계속하기 전에 데이터베이스도 실행 중인 상태여야 합니다. 자세한 내용은 Amazon Aurora 사용 설명서의 [Amazon Aurora 시작하기](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)를 참조하세요.

## 2단계: Aurora 데이터베이스를 위한 보안 그룹 구성
<a name="configure-aurora-security-group"></a>

 AWS 보안 그룹은 AWS 리소스의 가상 방화벽 역할을 합니다. 이 보안 그룹은 Amazon RDS의 Aurora 데이터베이스에 연결할 수 있는 수신 및 발신 트래픽을 제어합니다. 보안 그룹에 대한 자세한 내용은 Amazon Virtual Private Cloud 사용 설명서의 [보안 그룹을 사용하여 리소스에 대한 트래픽 제어](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)를 참조하세요.

다음 절차를 완료하여 WordPress 인스턴스가 Aurora 데이터베이스에 연결을 설정할 수 있도록 보안 그룹을 구성합니다.

1. [Amazon RDS 콘솔](https://console.aws.amazon.com/rds/)에 로그인합니다.

1. 탐색 창에서 [**Databases(데이터베이스)**]를 선택합니다.

1. WordPress 인스턴스가 연결할 Aurora 데이터베이스의 **라이터 인스턴스**를 선택합니다.

1. **연결 및 보안(Connectivity & security)** 탭을 선택합니다.

1. **엔드포인트 및 포트(Endpoint & port)** 섹션에서**라이터 인스턴스(Writer instance)**의 **엔드포인트 이름(Endpoint name)**과 **포트(Port)**를 기록해 둡니다. 이 정보는 나중에 데이터베이스에 연결하기 위해 Lightsail 인스턴스를 구성할 때 필요합니다.

1. **보안(Security)** 섹션에서 활성 VPC 보안 그룹 링크를 선택합니다. 데이터베이스의 보안 그룹으로 리디렉션됩니다.  
![\[Amazon RDS 콘솔의 연결 및 보안 탭 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-db-select-writer-instance.png)

1. Aurora 데이터베이스에 대한 보안 그룹이 선택되어 있는지 확인합니다.

1. **인바운드 규칙** 탭을 선택합니다.

1. **인바운드 규칙 편집**을 선택합니다.  
![\[Amazon RDS 콘솔의 인바운드 규칙 탭 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-select-security-group.png)

1. **인바운드 규칙 편집(Edit inbound rules)** 페이지에서 **규칙 추가(Add rule)**를 선택합니다.

1. 다음 단계 중 하나를 완료합니다.
   + 기본 MySQL 포트 3306을 사용하는 경우, **유형(Type)** 드롭다운 메뉴에서 **MySQL/Aurora**를 선택합니다.
   + 데이터베이스에 사용자 지정 포트를 사용하는 경우, **유형(Type)** 드롭다운 메뉴에서 **사용자 지정 TCP(Custom TCP)**를 선택하고 **포트 범위(Port Range)**텍스트 상자에 포트 번호를 입력합니다.

1. **소스(Source)** 텍스트 상자에 WordPress 인스턴스의 프라이빗 IP 주소를 추가합니다. IP 주소는 CIDR 표기법으로 입력해야 합니다. 즉, `/32`를 추가해야 합니다. 예를 들어, `192.0.2.0`을 허용하려면 `192.0.2.0/32`를 입력합니다.

1. **규칙 저장**을 선택합니다.  
![\[Amazon RDS 콘솔의 인바운드 규칙 세부 정보 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-add-security-group-rule.png)

## 3단계: Lightsail 인스턴스에서 Aurora 데이터베이스로 연결
<a name="connect-to-aurora-database-from-lightsail-instance"></a>

다음 절차를 완료하여 Lightsail 인스턴스에서 Aurora 데이터베이스에 연결할 수 있는지 확인합니다.

1. [Lightsail 콘솔](https://lightsail.aws.amazon.com/)에 로그인합니다.

1. 왼쪽 탐색 창에서 **인스턴스**를 선택합니다.  
![\[Lightsail 홈 페이지.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-homepage-select-instances-tab.png)

1. WordPress 인스턴스가 SSH를 사용하여 연결할 브라우저 기반 SSH 클라이언트 아이콘을 선택합니다.  
![\[브라우저 기반 SSH 클라이언트 아이콘.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-browser-based-ssh-client.png)

1. 인스턴스에 연결한 후 다음 명령을 입력하여 Aurora 데이터베이스에 연결합니다. 명령에서 *DatabaseEndpoint*는 Aurora 데이터베이스의 엔드포인트 주소로, *Port*는 데이터베이스의 포트로 바꿉니다. *MyUserName*은 데이터베이스를 생성할 때 입력했던 사용자 이름으로 바꿉니다.

   ```
   mysql -h DatabaseEndpoint -P Port -u MyUserName -p
   ```

   인스턴스가 Aurora 데이터베이스에 액세스 및 연결할 수 있음을 확인해 주는 다음 예와 유사한 응답이 표시되어야 합니다.  
![\[성공적인 MySQL 연결 응답.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-mysql-connect-message.png)

   이 응답이 표시되지 않거나 오류 메시지가 나타나면 Lightsail 인스턴스의 프라이빗 IP 주소가 연결할 수 있도록 Aurora 데이터베이스의 보안 그룹을 구성해야 할 수 있습니다. 자세한 내용은 이 설명서의 [Aurora 데이터베이스에 대한 보안 그룹 구성](#configure-aurora-security-group)을 참조하세요.

## 4단계: WordPress 인스턴스에서 Aurora 데이터베이스로 데이터베이스 전송
<a name="transfer-database-from-wordpres-to-aurora"></a>

인스턴스에서 데이터베이스에 연결할 수 있다는 것을 확인했으므로 이제 WordPress 웹 사이트 데이터를 Aurora 데이터베이스로 전송해야 합니다.

1. [Lightsail 콘솔](https://lightsail.aws.amazon.com/)에 로그인합니다.

1. **인스턴스(Instances)** 탭에서 WordPress 인스턴스에 대한 브라우저 기반 SSH 클라이언트를 선택합니다.  
![\[브라우저 기반 SSH 클라이언트 아이콘.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-browser-based-ssh-client.png)

1. 브라우저 기반SSH 클라이언트를 WordPress 인스턴스에 연결한 후 다음 명령을 입력합니다. 이 명령은 인스턴스에 있는 `bitnami_wordpress` 데이터베이스에서 Aurora 데이터베이스로 데이터를 전송합니다. 명령에서 *DatabaseUserName*을 Aurora 데이터베이스 생성 시 입력한 기본 사용자의 이름을 바꿉니다. *DatabaseEndpoint*를 Aurora 데이터베이스의 엔드포인트 주소로 바꿉니다.

   ```
   sudo mysqldump -u root --databases bitnami_wordpress --single-transaction --compress --order-by-primary -p$(cat /home/bitnami/bitnami_application_password) | sudo mysql -u DatabaseUserName --host  DatabaseEndpoint --password
   ```

   **예제**

   ```
   sudo mysqldump -u root --databases bitnami_wordpress --single-transaction --compress --order-by-primary -p$(cat /home/bitnami/bitnami_application_password) | sudo mysql -u DBuser --host  abc123exampleE67890.czowadgeezqi.us-west-2.rds.amazonaws.com --password
   ```

1. `Enter password` 프롬프트에서 Aurora 데이터베이스의 암호를 입력하고 **Enter** 키를 누릅니다.

   입력하는 동안에는 암호를 볼 수 없습니다.  
![\[암호 프롬프트 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-mysql-dump-1.png)

   데이터가 성공적으로 전송된 경우 다음 예와 유사한 응답이 표시됩니다.  
![\[성공적인 전송 응답.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-mysql-dump-2.png)

   오류가 발생하면 사용 중인 데이터베이스 사용자 이름, 암호 및 엔드포인트가 올바른지 확인하고 다시 시도합니다.

## 5단계: Aurora 데이터베이스에 연결하도록 WordPress 구성
<a name="connect-wordpress-to-aurora"></a>

애플리케이션 데이터를 Aurora 데이터베이스로 전송한 후 이에 연결하도록 WordPress를 구성해야 합니다. 다음 절차를 완료하여 웹 사이트가 Aurora 데이터베이스에 연결되도록 WordPress 구성 파일(`wp-config.php`)을 편집합니다.

1. WordPress 인스턴스에 연결된 브라우저 기반 SSH 클라이언트에서 다음 명령을 입력하여 `wp-config.php` 파일의 백업을 생성합니다.

   ```
   cp /opt/bitnami/wordpress/wp-config.php /opt/bitnami/wordpress/wp-config.php-backup
   ```

1. 다음 명령을 입력하여 `wp-config.php` 파일을 쓰기 가능 파일로 만듭니다.

   ```
   sudo chmod 664 /opt/bitnami/wordpress/wp-config.php
   ```

1. `config` 파일의 데이터베이스 사용자 이름을 Aurora 데이터베이스 생성 시 입력한 기본 사용자의 이름으로 바꿉니다.

   ```
   sudo wp config set DB_USER DatabaseUserName
   ```

1. `config` 파일의 데이터베이스 호스트를 Aurora 데이터베이스의 엔드포인트 주소 및 포터 번호로 편집합니다. 예를 들어 `abc123exampleE67890.czowadgeezqi.us-west-2.rds.amazonaws.com:3306`입니다.

   ```
   sudo wp config set DB_HOST DatabaseEndpoint:Port
   ```

1. `config` 파일의 데이터베이스 암호를 Aurora 데이터베이스에 대한 암호로 편집합니다.

   ```
   sudo wp config set DB_PASSWORD DatabasePassword
   ```

1. `wp config list` 명령을 입력하여 `wp-config.php` 파일에 입력한 정보가 올바른지 확인합니다.

   ```
   sudo wp config list
   ```

   다음 예와 같이 구성 세부 정보가 표시된 결과가 나타납니다.  
![\[WordPress 구성 파일.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-wpconfig.png)

1. 다음 명령을 입력하여 인스턴스의 웹 서비스를 다시 시작합니다.

   ```
   sudo /opt/bitnami/ctlscript.sh restart
   ```

   서비스가 다시 시작되면 다음 예와 유사한 결과가 표시됩니다.  
![\[WordPress 인스턴스 재시작 확인.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/wp-aurora-service-restart.png)

   축하합니다\$1 이제 WordPress 사이트가 Aurora 데이터베이스를 사용하도록 구성되었습니다.
**참고**  
원본 `wp-config.php` 파일을 복원해야 하는 경우에는 다음 명령을 입력하여 이 자습서 앞부분에서 생성한 백업을 통해 복원하면 됩니다.  

   ```
   cp /opt/bitnami/wordpress/wp-config.php-backup /opt/bitnami/wordpress/wp-config.php
   ```