기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PHPElastic Beanstalk 환경에 아마존 RDS DB 인스턴스 추가
이 주제에서는 Elastic Beanstalk RDS 콘솔을 사용하여 아마존을 생성하는 방법에 대한 지침을 제공합니다. Amazon 관계형 데이터베이스 서비스 (RDSAmazon) DB 인스턴스를 사용하여 애플리케이션에서 수집 및 수정한 데이터를 저장할 수 있습니다. Elastic Beanstalk를 통해 데이터베이스를 환경으로 연결한 후 관리하거나 비연결을 통해 생성하여 외부 기타 서버로 관리할 수 있습니다. 이 지침에서는 데이터베이스를 사용자 환경에 연결하고 Elastic Beanstalk에서 관리합니다. RDS아마존과 Elastic Beanstalk를 통합하는 방법에 대한 자세한 내용은 을 참조하십시오. Elastic Beanstalk 환경에 데이터베이스 추가
환경에 DB 인스턴스 추가
환경에 DB 인스턴스를 추가하려면
Elastic Beanstalk
콘솔을 열고 지역 목록에서 원하는 지역을 선택합니다. AWS 리전 -
탐색 창에서 환경을 선택한 다음 목록에서 환경의 이름을 선택합니다.
참고
여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.
탐색 창에서 구성을 선택합니다.
-
데이터베이스 구성 범주에서 편집을 선택합니다.
-
DB 엔진을 선택하고 사용자 이름과 암호를 입력합니다.
-
변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.
DB 인스턴스를 추가하는 데 약 10분 정도 소요됩니다. 환경 업데이트가 완료되면 애플리케이션에서 다음 환경 속성을 통해 DB 인스턴스 호스트 이름과 기타 연결 정보를 사용할 수 있습니다:
속성 이름 | 설명 | 속성 값 |
---|---|---|
|
DB 인스턴스의 호스트 이름입니다. |
Amazon RDS 콘솔의 연결 및 보안 탭: 엔드포인트 |
|
DB 인스턴스가 연결을 허용하는 포트입니다. DB 엔진마다 기본값이 다릅니다. |
Amazon RDS 콘솔의 연결 및 보안 탭에서: 포트. |
|
데이터베이스 이름은 |
Amazon RDS 콘솔의 구성 탭에서: DB 이름 |
|
데이터베이스에 구성된 사용자 이름입니다. |
Amazon RDS 콘솔의 구성 탭에서: 마스터 사용자 이름. |
|
데이터베이스에 구성된 암호입니다. |
Amazon RDS 콘솔에서는 참조할 수 없습니다. |
Elastic Beanstalk 환경에 결합된 데이터베이스에 대한 자세한 내용은 Elastic Beanstalk 환경에 데이터베이스 추가을 참조하세요.
드라이버 다운로드
PHPData Objects (PDO) 를 사용하여 데이터베이스에 연결하려면 선택한 데이터베이스 엔진과 일치하는 드라이버를 설치하십시오.
-
내 SQL —
PDO_MYSQL
-
포스트그레 — SQL
PDO_PGSQL
-
Oracle –
PDO_OCI
-
SQL서버 —
PDO_SQLSRV
자세한 내용은 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(
를 사용하고, Elastic Beanstalk가 설정한 환경 속성을 기반으로 구성 파일에 데이터베이스 파라미터를 설정할 수 있습니다.PROPERTY_NAME
)%
예 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로 데이터베이스를 연결하려면, 각 파라미터에 대해 환경 속성을 생성합니다. 그런 후 %
를 사용해 구성 파일의 Symfony가 변환시킨 변수를 사용합니다. 예를 들어, property.name
%SYMFONY__DATABASE__USER
라는 이름의 환경 속성을 database.user
로 사용할 수 있습니다.
database_user: "%database.user%"
자세한 내용은 외부 파라미터(Symfony 2.8)