기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
RDS 데이터베이스에 연결하도록 스택을 사용자 지정
중요
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없게 되었습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS
PHP 애플리케이션 서버의 백엔드 데이터베이스로 사용할 RDS 인스턴스를 만든 후에는 에서 사용자 지정할 수 있습니다. MyStack Chef 11 Linux 스택 시작하기
RDS 데이터베이스에 PHP 앱 서버를 연결하려면
-
AWS OpsWorks 스택 콘솔을 열고 인스턴스 1개가 포함된 PHP 앱 서버 계층으로 스택을 만들고 에 설명된 대로 SimplePHPapp을 배포합니다. Chef 11 Linux 스택 시작하기 이 스택은 데이터베이스 연결을 사용하지 않는 SimplePHPApp의 version1을 사용합니다.
-
appsetup.rb
레시피가 포함된 사용자 지정 쿡북과 관련 템플릿 및 속성 파일을 사용하도록 스택 구성을 업데이트하세요.-
[사용자 지정 Chef 쿡북 사용]을 [예]로 설정합니다.
-
[리포지토리 유형]을 [Git]로, [리포지토리 URL]을
git://github.com/amazonwebservices/opsworks-example-cookbooks.git
로 설정합니다.
-
-
스택의 [사용자 지정 Chef JSON] 상자에 아래 내용을 추가하여
appsetup.rb
를 사용하여 구성 파일을 생성하는[:database]
속성에 RDS 연결 데이터를 할당합니다.{ "deploy": { "simplephpapp": { "database": { "username": "opsworksuser", "password": "
your_password
", "database": "rdsexampledb", "host": "rds_endpoint
", "adapter": "mysql" } } } }다음 속성 값을 사용합니다.
-
[사용자 이름]: RDS 인스턴스를 생성할 때 지정한 마스터 사용자 이름.
이 예제에서는
opsworksuser
를 사용합니다. -
[암호]: RDS 인스턴스를 생성할 때 지정한 마스터 암호.
지정한 암호를 입력합니다.
-
[데이터베이스]: RDS 인스턴스를 생성할 때 생성한 데이터베이스.
이 예제에서는
rdsexampledb
를 사용합니다. -
[호스트]: RDS 인스턴스의 엔드포인트로, 이전 단원에서 인스턴스를 생성할 때 RDS 콘솔에서 확인했습니다. 포트 번호를 포함해서는 안 됩니다.
-
[어댑터]: 어댑터.
이 예제의 RDS 인스턴스는 MySQL을 사용하므로 [어댑터]를 [
mysql
]로 설정합니다. 다른 속성과 달리 [어댑터]는appsetup.rb
에서 사용하지 않습니다. 대신 PHP 앱 서버 계층의 내장 Configure 레시피에서 다른 구성 파일을 생성하는 데 사용합니다.
-
-
SimplePHPApp 구성을 편집하여 다음과 같이 백엔드 데이터베이스를 사용하는 SimplePHPApp의 버전을 지정합니다.
-
[문서 루트]: 이 옵션은
web
으로 설정합니다. -
[분기/개정]: 이 옵션은 [
version2
]로 설정합니다.
나머지 옵션은 변경하지 않고 그대로 둡니다.
-
-
계층의 Deploy 레시피에
phpapp::appsetup
을(를) 추가하여 데이터베이스 연결을 설정하려면 PHP 앱 서버 계층을 편집합니다. -
SimplePHPApp이 배포되면 [인스턴스] 페이지로 이동한 다음 php-app1 인스턴스의 퍼블릭 IP 주소를 클릭하여 애플리케이션을 실행합니다. 브라우저에 다음 페이지가 표시되어야 하고, 여기서 텍스트를 입력하면 데이터베이스에 저장됩니다.
참고
스택에 MySQL 계층이 있는 경우 AWS OpsWorks Stacks는 해당 연결 데이터를 속성에 자동으로 할당합니다. [:database]
하지만 다른 [:database]
값을 정의하는 사용자 지정 JSON을 스택에 할당하는 경우, 기본값이 재정의됩니다. [:deploy]
속성은 모든 인스턴스에 설치되기 때문에 [:database]
속성에 의존하는 모든 레시피는 MySQL 계층 데이터가 아니라 사용자 지정 연결 데이터를 사용합니다. 특정 애플리케이션 서버 계층이 사용자 지정 연결 데이터를 사용하게 하려면 사용자 지정 JSON을 계층의 Deploy 이벤트에 할당하고 배포를 해당 계층으로 제한하세요. 배포 속성을 사용하는 방법에 대한 자세한 정보는 앱 배포를 참조하세요. AWS OpsWorks Stacks 내장 속성 재정의에 대한 자세한 정보는 속성 재정의 단원을 참조하세요.