PHPElastic Beanstalk 환경에 아마존 RDS DB 인스턴스 추가 - AWS Elastic Beanstalk

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

PHPElastic Beanstalk 환경에 아마존 RDS DB 인스턴스 추가

이 주제에서는 Elastic Beanstalk RDS 콘솔을 사용하여 아마존을 생성하는 방법에 대한 지침을 제공합니다. Amazon 관계형 데이터베이스 서비스 (RDSAmazon) DB 인스턴스를 사용하여 애플리케이션에서 수집 및 수정한 데이터를 저장할 수 있습니다. Elastic Beanstalk를 통해 데이터베이스를 환경으로 연결한 후 관리하거나 비연결을 통해 생성하여 외부 기타 서버로 관리할 수 있습니다. 이 지침에서는 데이터베이스를 사용자 환경에 연결하고 Elastic Beanstalk에서 관리합니다. RDS아마존과 Elastic Beanstalk를 통합하는 방법에 대한 자세한 내용은 을 참조하십시오. Elastic Beanstalk 환경에 데이터베이스 추가

환경에 DB 인스턴스 추가

환경에 DB 인스턴스를 추가하려면
  1. Elastic Beanstalk 콘솔을 열고 지역 목록에서 원하는 지역을 선택합니다. AWS 리전

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경의 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. 데이터베이스 구성 범주에서 편집을 선택합니다.

  5. DB 엔진을 선택하고 사용자 이름과 암호를 입력합니다.

  6. 변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.

DB 인스턴스를 추가하는 데 약 10분 정도 소요됩니다. 환경 업데이트가 완료되면 애플리케이션에서 다음 환경 속성을 통해 DB 인스턴스 호스트 이름과 기타 연결 정보를 사용할 수 있습니다:

속성 이름 설명 속성 값

RDS_HOSTNAME

DB 인스턴스의 호스트 이름입니다.

Amazon RDS 콘솔의 연결 및 보안 탭: 엔드포인트

RDS_PORT

DB 인스턴스가 연결을 허용하는 포트입니다. DB 엔진마다 기본값이 다릅니다.

Amazon RDS 콘솔의 연결 및 보안 탭에서: 포트.

RDS_DB_NAME

데이터베이스 이름은 ebdb입니다.

Amazon RDS 콘솔의 구성 탭에서: DB 이름

RDS_USERNAME

데이터베이스에 구성된 사용자 이름입니다.

Amazon RDS 콘솔의 구성 탭에서: 마스터 사용자 이름.

RDS_PASSWORD

데이터베이스에 구성된 암호입니다.

Amazon RDS 콘솔에서는 참조할 수 없습니다.

Elastic Beanstalk 환경에 결합된 데이터베이스에 대한 자세한 내용은 Elastic Beanstalk 환경에 데이터베이스 추가을 참조하세요.

드라이버 다운로드

PHPData Objects (PDO) 를 사용하여 데이터베이스에 연결하려면 선택한 데이터베이스 엔진과 일치하는 드라이버를 설치하십시오.

자세한 내용은 http://php.net/manual/en/pdo.installation.php 단원을 참조하십시오.

a PDO 또는 M을 사용하여 데이터베이스에 연결 ySQLi

$_SERVER[`VARIABLE`]을 사용하여 환경에서 연결 정보를 읽을 수 있습니다.

a의 경우 호스트PDO, 포트 및 이름을 사용하여 데이터 원본 이름 (DSN) 을 생성합니다. 데이터베이스 사용자 이름 및 암호를 DSN PDO 사용하여 의 생성자에 를 전달합니다.

예 PDO- My를 사용하여 RDS 데이터베이스에 연결 SQL
<?php $dbhost = $_SERVER['RDS_HOSTNAME']; $dbport = $_SERVER['RDS_PORT']; $dbname = $_SERVER['RDS_DB_NAME']; $charset = 'utf8' ; $dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}"; $username = $_SERVER['RDS_USERNAME']; $password = $_SERVER['RDS_PASSWORD']; $pdo = new PDO($dsn, $username, $password); ?>

기타 드라이버의 경우 mysql을 드라이버의 이름으로 바꿉니다(pgsql, oci 또는 sqlsrv).

M의 ySQLi 경우 호스트 이름, 사용자 이름, 암호, 데이터베이스 이름, 포트를 mysqli 생성자에 전달합니다.

예 mysqli_connect () 를 사용하여 RDS 데이터베이스에 연결
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

Symfony를 사용하여 데이터베이스에 연결

Symfony 버전 3.2 이상에서는 %env(PROPERTY_NAME)%를 사용하고, Elastic Beanstalk가 설정한 환경 속성을 기반으로 구성 파일에 데이터베이스 파라미터를 설정할 수 있습니다.

예 app/config/parameters.yml
parameters: database_driver: pdo_mysql database_host: '%env(RDS_HOSTNAME)%' database_port: '%env(RDS_PORT)%' database_name: '%env(RDS_DB_NAME)%' database_user: '%env(RDS_USERNAME)%' database_password: '%env(RDS_PASSWORD)%'

자세한 내용은 외부 파라미터(Symfony 3.4)를 참조하십시오.

Symfony 이전 버전의 경우 SYMFONY__로 시작한 경우에만 환경 변수를 사용할 수 있습니다. Elastic Beanstalk에서 정의된 환경 속성을 사용할 수 없으며, 따라서 고유 환경 속성을 정의해 Symfony에 연결 정보를 전달해야 합니다.

Symfony 2로 데이터베이스를 연결하려면, 각 파라미터에 대해 환경 속성을 생성합니다. 그런 후 %property.name%를 사용해 구성 파일의 Symfony가 변환시킨 변수를 사용합니다. 예를 들어, SYMFONY__DATABASE__USER라는 이름의 환경 속성을 database.user로 사용할 수 있습니다.

database_user: "%database.user%"

자세한 내용은 외부 파라미터(Symfony 2.8)를 참조하십시오.