기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
16단계: 커뮤니티 쿡북을 사용하도록 쿡북 업데이트
중요
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 만료되었으며 신규 및 기존 고객 모두에 대해 비활성화되었습니다. 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션하는 것이 좋습니다. 마이그레이션에 대한 질문이 있는 경우 AWS re:Post
마지막으로 Chef 커뮤니티가 제공하는 외부 쿡북에 있는 기능을 사용하도록 쿡북을 업데이트합니다. 이 안내서에서 사용할 외부 쿡북은 외부 Chef 쿡북에 액세스할 수 있는 인기 있는 위치인 Chef Supermarket
쿡북이 다른 쿡북에 의존하는 경우에는 다른 쿡북에 대한 종속성을 지정해야 합니다. 쿡북 종속성을 선언하고 관리하기 위해서는 Berkshelf라는 도구를 사용하는 것이 좋습니다. 로컬 워크스테이션에서 Berkshelf를 설치하는 방법에 대한 자세한 내용은 Chef 웹 사이트의 About Berkshelf
Berkshelf를 설치한 후 다음 절차에 따라 쿡북 종속성을 선언한 다음 외부 쿡북의 리소스를 호출하는 레시피를 만듭니다.
쿡북 종속성을 선언하려면
-
로컬 워크스테이션의
opsworks_cookbook_demo
디렉터리에서metadata.rb
파일의 끝에 다음 행을 추가합니다.depends "application", "5.0.0"
이 행은
application
, 버전 5.0.0 쿡북에 대한 종속성을 선언합니다. -
opsworks_cookbook_demo
디렉터리의 루트에서 다음 명령을 실행합니다. 명령 끝의 마침표는 의도적인 것입니다.berks init .
Berkshelf에서는 이후에 보다 고급 시나리오에 사용할 수 있는 여러 폴더 및 파일을 생성합니다. 이 연습에 필요한 유일한 파일은
Berksfile
입니다. -
Berksfile
파일 끝부분에서 다음 행을 추가합니다.cookbook "application", "5.0.0"
이 행은 Berkshelf에 애플리케이션 쿡북 버전 5.0.0
을 사용하려고 함을 알립니다. Berkshelf는 Chef Supermarket에서 이 버전을 다운로드합니다. -
터미널 또는 명령 프롬프트에서
opsworks_cookbook_demo
디렉터리의 루트에서 다음 명령을 실행합니다.berks install
Berkshelf에서는 사용자 쿡북 및 애플리케이션 쿡북 둘 다에 대한 종속성 목록을 생성합니다. Berkshelf는 다음 절차에서 이 종속성 목록을 사용합니다.
인스턴스에서 쿡북을 업데이트하고 새 레시피를 실행하려면
-
recipes
디렉터리의opsworks_cookbook_demo
하위 디렉터리에 다음 코드가 포함된dependencies_demo.rb
파일을 생성합니다.application "Install NetHack" do package "nethack.x86_64" end
이 레시피는 애플리케이션 쿡북의 애플리케이션 리소스에 따라 인스턴스에 유명한 텍스트 기반 어드벤처 게임인 NetHack을 설치합니다. 물론, 인스턴스에서 패키지를 패키지 관리자에 쉽게 사용할 수 있는 경우 원하는 다른 패키지 이름으로 대체할 수 있습니다.
-
opsworks_cookbook_demo
디렉터리의 루트에서 다음 명령을 실행합니다.berks package
Berkshelf에서는 이전 절차에서 생성한 종속성 목록을 사용하여
cookbooks-
파일을 만듭니다. 이 파일에는timestamp
.tar.gzopsworks_cookbook_demo
디렉터리와 쿡북의 종속 쿡북을 비롯한 업데이트된 콘텐츠가 들어 있습니다. 이 파일의 이름을opsworks_cookbook_demo.tar.gz
으로 바꿉니다. -
업데이트되어 이름이 바뀐
opsworks_cookbook_demo.tar.gz
파일을 S3 버킷에 업로드합니다. -
5단계: 인스턴스에서 쿡북을 업데이트하고 레시피 실행 단원의 절차에 따라 인스턴스에서 쿡북을 업데이트하고 레시피를 실행합니다. "레시피 실행" 절차에서 실행할 레시피에
opsworks_cookbook_demo::dependencies_demo
를 입력합니다. -
이 레시피를 실행하면 인스턴스에 로그인할 수 있어야 합니다. 그런 다음 명령 프롬프트에
nethack
을 입력해 실행을 시작합니다. 이 게임에 대한 자세한 정보는 NetHack및 NetHack 가이드북 단원을 참조하세요.
다음 단계에서는이 연습에 사용한 AWS 리소스를 정리할 수 있습니다. 이 다음 단계는 선택 사항입니다. AWS OpsWorks Stacks에 대해 계속 자세히 알아볼 때 이러한 AWS 리소스를 계속 사용할 수 있습니다. 그러나 이러한 AWS 리소스를 주변에 보관하면 AWS 계정에 지속적인 요금이 발생할 수 있습니다. 나중에 사용할 수 있도록 이러한 AWS 리소스를 계속 유지하려면 이제이 연습을 완료했으며 로 건너뛸 수 있습니다다음 단계.