3단계: 사용자 지정 쿡북 생성 및 배포 - AWS OpsWorks

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

3단계: 사용자 지정 쿡북 생성 및 배포

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 고객과 기존 고객 모두 사용할 수 없게 되었습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

스택은 아직 준비되지 않았습니다.

  • 애플리케이션이 MySQL 데이터베이스 서버와 Amazon S3 버킷에 액세스하려면 데이터베이스 호스트 이름과 Amazon S3 버킷 이름 같은 몇 가지 정보가 필요합니다.

  • MySQL 데이터베이스 서버에서 데이터베이스를 설정하고 사진의 메타데이터를 보관할 테이블을 생성해야 합니다.

이러한 작업을 수동으로 처리할 수도 있지만 더 나은 접근 방식은 Chef 레시피를 구현하고 AWS OpsWorks Stacks가 적절한 인스턴스에서 레시피를 자동으로 실행하도록 하는 것입니다. Chef 레시피는 AWS OpsWorks Stacks가 패키지 설치 또는 구성 파일 생성과 같은 인스턴스에 대한 작업을 수행하는 데 사용하는 특수 Ruby 애플리케이션입니다. 이 작업들은 여러 레시피와 구성 파일 템플릿 같은 관련 파일을 포함할 수 있는 쿡북에 패키징되어 있습니다. 쿡북은 과 같은 저장소에 GitHub 위치하며 표준 디렉토리 구조를 가져야 합니다. 사용자 지정 쿡북 리포지토리가 없는 경우, 쿡북 리포지토리에서 설정 방법 단원을 참조하세요.

이 예시에서는 쿡북이 자동으로 구현되어 공용 GitHub 저장소에 저장되어 있습니다. 이 쿡북에는 appsetup.rbdbsetup.rb라는 2개의 레시피와 db-connect.php.erb라는 1개의 템플릿 파일이 포함되어 있습니다.

appsetup.rb 레시피는 애플리케이션이 데이터베이스와 Amazon S3 버킷에 액세스하는 데 필요한 정보가 포함된 구성 파일을 생성합니다. 이것은 기본적으로 데이터베이스에 애플리케이션 연결에 설명된 appsetup.rb 레시피를 약간 수정한 버전입니다. 주된 차이점은 템플릿에 전달되는 변수이며, 액세스 정보를 나타냅니다.

처음 4개 속성은 데이터베이스 연결 설정을 정의하며, MySQL 인스턴스를 생성할 때 AWS OpsWorks Stacks에 의해 자동으로 정의됩니다.

이 변수들과 오리지널 레시피의 변수들 사이에는 다음 두 가지 차이점이 있습니다.

  • table오리지널 레시피와 마찬가지로 변수는 dbsetup.rb에 의해 생성되는 데이터베이스 테이블의 이름을 나타내며, 쿡북의 속성 파일에서 정의되는 속성의 값으로 설정됩니다.

    다만 속성의 이름은 [:photoapp][:dbtable]로 다릅니다.

  • s3bucket 변수는 이 예제에 고유한 것으로서 Amazon S3 버킷 이름을 나타내는 속성의 값인 [:photobucket](으)로 설정됩니다.

    [:photobucket]은(는) 뒤에 설명하는 것처럼 사용자 지정 JSON을 사용하여 정의됩니다. 속성에 대한 자세한 정보는 속성을(를) 참조하세요.

속성에 대한 자세한 정보는 속성을(를) 참조하세요.

dbsetup.rb 레시피는 각 사진의 메타데이터를 보관하는 데이터베이스 테이블을 설정합니다. 이것은 기본적으로 dbsetup.rb에 설명된 데이터베이스 설정 레시피를 약간 수정한 버전입니다. 자세한 설명은 해당 주제를 참조하세요.

이 예제와 오리지널 레시피의 유일한 차이점인 데이터베이스 스키마에는 Amazon S3 버킷에 저장된 각 사진의 ID, URL, 캡션이 포함된 3개의 열이 있습니다.

레시피는 이미 구현되어 있으므로 photoapp 쿡북을 각 인스턴스의 쿡북 캐시에 배포하기만 하면 됩니다. AWS OpsWorks 그러면 나중에 설명하겠지만, 스택은 적절한 라이프사이클 이벤트가 발생할 때 캐시된 레시피를 실행합니다.

photoapp 쿡북을 배포하려면
  1. AWS OpsWorks Stacks Stack 페이지에서 [스택 설정] 을 선택한 다음 [편집] 을 선택합니다.

  2. [구성 관리] 섹션에서:

    • [사용자 지정 Chef 쿡북 사용]을 []로 설정합니다.

    • [리포지토리 유형]을 Git로 설정합니다.

    • 리포지토리 URLgit://github.com/amazonwebservices/opsworks-example-cookbooks.git로 설정합니다.

  3. 스택 페이지에서 명령 실행을 선택하고 사용자 지정 쿡북 업데이트(사용자 지정 쿡북 업데이트) 스택 명령을 선택한 다음 사용자 지정 쿡북 업데이트(사용자 지정 쿡북 업데이트)를 선택하여 인스턴스 쿡북 캐시에 새 쿡북을 설치합니다.