16단계: 커뮤니티 쿡북을 사용하도록 쿡북 업데이트 - AWS OpsWorks

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

16단계: 커뮤니티 쿡북을 사용하도록 쿡북 업데이트

중요

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

마지막으로 Chef 커뮤니티가 제공하는 외부 쿡북에 있는 기능을 사용하도록 쿡북을 업데이트합니다. 이 안내서에서 사용할 외부 쿡북은 외부 Chef 쿡북에 액세스할 수 있는 인기 있는 위치인 Chef Supermarket을 통해 얻을 수 있습니다. 이 외부 쿡북은 4단계: 패키지를 설치하도록 쿡북 업데이트에서와 비슷하게 애플리케이션을 다운로드하고 설치할 수 있도록 해 주는 사용자 지정 리소스를 제공합니다. 다만 이 리소스는 패키지 외에 웹 애플리케이션과 그 밖의 애플리케이션 유형을 설치할 수 있습니다.

쿡북이 다른 쿡북에 의존하는 경우에는 다른 쿡북에 대한 종속성을 지정해야 합니다. 쿡북 종속성을 선언하고 관리하기 위해서는 Berkshelf라는 도구를 사용하는 것이 좋습니다. 로컬 워크스테이션에서 Berkshelf를 설치하는 방법에 대한 자세한 내용은 Chef 웹 사이트의 About Berkshelf를 참조하세요.

Berkshelf를 설치한 후 다음 절차에 따라 쿡북 종속성을 선언한 다음 외부 쿡북의 리소스를 호출하는 레시피를 만듭니다.

쿡북 종속성을 선언하려면
  1. 로컬 워크스테이션의 opsworks_cookbook_demo 디렉터리에서 metadata.rb 파일의 끝에 다음 행을 추가합니다.

    depends "application", "5.0.0"

    이 행은 application, 버전 5.0.0 쿡북에 대한 종속성을 선언합니다.

  2. opsworks_cookbook_demo 디렉터리의 루트에서 다음 명령을 실행합니다. 명령 끝의 마침표는 의도적인 것입니다.

    berks init .

    Berkshelf에서는 이후에 보다 고급 시나리오에 사용할 수 있는 여러 폴더 및 파일을 생성합니다. 이 연습에 필요한 유일한 파일은 Berksfile입니다.

  3. Berksfile 파일 끝부분에서 다음 행을 추가합니다.

    cookbook "application", "5.0.0"

    이 행은 Berkshelf에 애플리케이션 쿡북 버전 5.0.0을 사용하려고 함을 알립니다. Berkshelf는 Chef Supermarket에서 이 버전을 다운로드합니다.

  4. 터미널 또는 명령 프롬프트에서 opsworks_cookbook_demo 디렉터리의 루트에서 다음 명령을 실행합니다.

    berks install

    Berkshelf에서는 사용자 쿡북 및 애플리케이션 쿡북 둘 다에 대한 종속성 목록을 생성합니다. Berkshelf는 다음 절차에서 이 종속성 목록을 사용합니다.

인스턴스에서 쿡북을 업데이트하고 새 레시피를 실행하려면
  1. recipes 디렉터리의 opsworks_cookbook_demo 하위 디렉터리에 다음 코드가 포함된 dependencies_demo.rb 파일을 생성합니다.

    application "Install NetHack" do package "nethack.x86_64" end

    이 레시피는 인기 있는 텍스트 기반 어드벤처 게임을 인스턴스에 설치하기 위한 애플리케이션 쿡북의 애플리케이션 리소스에 따라 달라집니다. NetHack 물론, 인스턴스에서 패키지를 패키지 관리자에 쉽게 사용할 수 있는 경우 원하는 다른 패키지 이름으로 대체할 수 있습니다.

  2. opsworks_cookbook_demo 디렉터리의 루트에서 다음 명령을 실행합니다.

    berks package

    Berkshelf에서는 이전 절차에서 생성한 종속성 목록을 사용하여 cookbooks-timestamp.tar.gz 파일을 만듭니다. 이 파일에는 opsworks_cookbook_demo 디렉터리와 쿡북의 종속 쿡북을 비롯한 업데이트된 콘텐츠가 들어 있습니다. 이 파일의 이름을 opsworks_cookbook_demo.tar.gz으로 바꿉니다.

  3. 업데이트되어 이름이 바뀐 opsworks_cookbook_demo.tar.gz 파일을 S3 버킷에 업로드합니다.

  4. 5단계: 인스턴스에서 쿡북을 업데이트하고 레시피 실행 단원의 절차에 따라 인스턴스에서 쿡북을 업데이트하고 레시피를 실행합니다. "레시피 실행" 절차에서 실행할 레시피opsworks_cookbook_demo::dependencies_demo를 입력합니다.

  5. 이 레시피를 실행하면 인스턴스에 로그인할 수 있어야 합니다. 그런 다음 명령 프롬프트에 nethack을 입력해 실행을 시작합니다. (게임에 대한 자세한 내용은 NetHack가이드북을 NetHack 참조하십시오.)

다음 단계에서는 이 연습에 사용한 AWS 리소스를 정리할 수 있습니다. 이 다음 단계는 선택 사항입니다. 스택에 대해 AWS OpsWorks 계속 알아보면서 이러한 AWS 리소스를 계속 사용하는 것이 좋습니다. 하지만 이러한 AWS 리소스를 주변에 보관하면 AWS 계정에 계속 요금이 청구될 수 있습니다. 나중에 사용할 수 있도록 이러한 AWS 리소스를 보관하고 싶다면 이제 이 안내를 완료했으니 바로 진행해도 됩니다. 다음 단계