

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

# Lightsail WordPress 인스턴스를 Amazon Aurora 데이터베이스에 연결
<a name="amazon-lightsail-connect-wordpress-to-aurora"></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-wordpress-aurora-prerequisites)
+ [2단계: Aurora 데이터베이스를 위한 보안 그룹 구성](#configure-wordpress-aurora-security-group)
+ [3단계: Lightsail 인스턴스에서 Aurora 데이터베이스로 연결](#connect-to-aurora-from-wordpress-instance)
+ [4단계: WordPress 인스턴스에서 Aurora 데이터베이스로 MySQL 데이터베이스 전송](#transfer-wordpress-database-to-aurora)
+ [5단계: Aurora 관리형 데이터베이스에 연결하도록 WordPress 구성](#configure-wordpress-to-aurora)

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

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

1. Lightsail에 WordPress 인스턴스를 생성하고 여기에 애플리케이션을 구성합니다. 계속하기 전에 인스턴스가 실행 중인 상태여야 합니다. 자세한 내용은 [WordPress 인스턴스 시작 및 구성](amazon-lightsail-launch-and-configure-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-wordpress-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 보안 그룹 링크를 선택합니다. 데이터베이스의 보안 그룹으로 리디렉션됩니다.

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

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

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

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. **규칙 저장**을 선택합니다.

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

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

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

1. 왼쪽 탐색 창에서 **인스턴스**를 선택합니다.

1. WordPress 인스턴스가 SSH를 사용하여 연결할 브라우저 기반 SSH 클라이언트 아이콘을 선택합니다.

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

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

   인스턴스가 Aurora 데이터베이스에 액세스하고 연결할 수 있음을 확인하는 응답이 표시됩니다.

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

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

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

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

1. **인스턴스(Instances)** 탭에서 WordPress 인스턴스에 대한 브라우저 기반 SSH 클라이언트를 선택합니다.

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

   ```
   sudo mysqldump -u root --databases wordpress --single-transaction --compress --order-by-primary | sudo mysql -u {{DatabaseUserName}} --host {{DatabaseEndpoint}} --password
   ```

   **예제**

   ```
   sudo mysqldump -u root --databases wordpress --single-transaction --compress --order-by-primary | sudo mysql -u {{DBuser}} --host {{abc123exampleE67890.czowadgeezqi.us-west-2.rds.amazonaws.com}} --password
   ```

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

   입력하는 동안에는 암호를 볼 수 없습니다.

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

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

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

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

   ```
   sudo cp /var/www/wp-config.php /var/www/wp-config.php-backup
   ```

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

   ```
   sudo chmod 664 /var/www/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
   ```

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

   ```
   sudo systemctl restart apache2
   ```

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

   ```
   sudo cp /var/www/wp-config.php-backup /var/www/wp-config.php
   ```