자세히 알아보기: 이 안내서에서 사용한 쿡북 살펴보기 - AWS OpsWorks

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

자세히 알아보기: 이 안내서에서 사용한 쿡북 살펴보기

중요

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

이 항목에서는 AWS OpsWorks Stacks가 안내를 위해 사용한 쿡북에 대해 설명합니다.

쿡북은 Chef 개념의 하나입니다. 쿡북은 레시피, 속성 값, 파일, 템플릿, 라이브러리, 정의, 사용자 지정 리소스 같은 구성 정보가 포함되어 있는 아카이브 파일입니다. 레시피 역시 Chef 개념입니다. 레시피는 Ruby 언어 구문으로 작성된 지침으로서 사용할 리소스와 이러한 리소스가 적용되는 순서를 지정합니다. 자세한 내용은 Learn Chef 웹 사이트의 쿡북 정보레시피 정보를 참조하세요.

이 안내에서 사용된 쿡북의 내용을 보려면 opsworks-linux-demo-cookbooks-nodejs.tar.gz 파일의 내용을 로컬 워크스테이션의 빈 디렉터리에 추출하십시오. 쿡북을 배포한 인스턴스에 로그인해 /var/chef/cookbooks 디렉터리의 내용을 살펴볼 수도 있습니다.

cookbooks/nodejs_demo/recipes 디렉터리의 default.rb 파일은 쿡북이 코드를 실행하는 곳입니다.

app = search(:aws_opsworks_app).first app_path = "/srv/#{app['shortname']}" package "git" do options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04" end application app_path do javascript "4" environment.update("PORT" => "80") git app_path do repository app["app_source"]["url"] revision app["app_source"]["revision"] end link "#{app_path}/server.js" do to "#{app_path}/index.js" end npm_install npm_start end

이 파일이 하는 일은 다음과 같습니다.

  • search(:aws_opsworks_app).first는 Chef 검색을 사용하여 최종적으로 인스턴스에 배포될 앱에 대한 정보를 찾습니다. 이 정보에는 앱의 짧은 이름과 소스 리포지토리 세부 정보 같은 설정이 포함됩니다. 이 안내서에서는 앱 하나만 배포했으므로 Chef 검색은 인스턴스에서 aws_opsworks_app 검색 인덱스 내 정보의 첫 번째 항목에서 이러한 설정을 가져옵니다. 인스턴스가 시작될 때마다 AWS OpsWorks Stacks는 이 정보와 기타 관련 정보를 인스턴스 자체에 데이터 백 세트로 저장하며 Chef 검색을 통해 데이터 백 콘텐츠를 가져옵니다. 이 설정들을 이 레시피에 하드코딩할 수 있지만 데이터 백과 Chef 검색을 사용하는 것이 더 확실한 방법입니다. 데이터 백에 대한 자세한 정보는 AWS OpsWorks 스택 데이터 백 레퍼런스 단원을 참조하세요. Learn Chef 웹 사이트의 데이터 백에 대한 정보도 참조하세요. Chef 검색에 대한 자세한 내용은 Learn Chef 웹 사이트의 검색 정보를 참조하세요.

  • package 리소스는 인스턴스에 Git를 설치합니다.

  • application 리소스는 웹 애플리케이션을 설명하고 배포합니다.

    • javascript설치할 JavaScript 런타임 버전입니다.

    • environment는 환경 변수를 설정합니다.

    • git는 지정된 리포지토리와 브랜치에서 소스 코드를 가져옵니다.

    • app_path는 리포지토리를 복제할 경로입니다. 인스턴스에 경로가 없는 경우 AWS OpsWorks Stacks는 경로를 생성합니다.

    • link는 심볼 링크를 생성합니다.

    • npm_install는 Node.js의 기본 패키지 관리자인 Node Package Manager를 설치합니다.

    • npm_start는 Node.js를 실행합니다.

이 안내를 위해 AWS OpsWorks Stacks에서 쿡북을 만들었지만 직접 쿡북을 만들 수도 있습니다. 자세한 방법은 시작하기 - 쿡북(을)를 참조하세요. 또한 Learn Chef 웹 사이트의 쿡북 정보, 레시피 정보Chef Basics on Ubuntu 배우기 페이지로 이동하고, Chef 시작하기 웹 사이트의 Chef를 이용한 첫 단계에서 “우리의 첫 Chef 쿡북” 섹션을 참조하세요.