쿡북 101 - AWS OpsWorks

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

쿡북 101

중요

더 AWS OpsWorks Stacks 서비스 수명이 2024년 5월 26일에 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 다음 연락처로 문의하십시오. AWS Support 팀 구성: AWS re:포스트 포스트 또는 스루 AWS 프리미엄 지원.

프로덕션 수준 AWS OpsWorks 스택 스택에는 일반적으로 일부 사용자 지정이 필요합니다. 즉, 하나 이상의 레시피, 속성 파일 또는 템플릿 파일이 포함된 사용자 지정 Chef 쿡북을 구현해야 하는 경우가 많습니다. 이 주제는 다음을 위한 쿡북 구현에 대한 자습서 소개입니다. AWS OpsWorks 스택.

방법에 대한 자세한 내용은 AWS OpsWorks Stacks는 쿡북을 사용하며, 여기에는 쿡북에 대한 간략한 일반 소개가 포함되어 있습니다 (참조). 쿡북과 레시피 Chef 레시피를 구현하고 테스트하는 방법에 대한 자세한 정보는 Chef를 사용한 인프라 테스트 드라이브, 2판 단원을 참조하세요.

이 자습서의 예제는 다음 두 부분으로 나뉩니다.

  • 쿡북 기본 사항는 Chef에 익숙하지 않은 사용자를 위한 예제 안내서입니다. 경험이 많은 Chef 사용자는 이 섹션을 건너뛰어도 됩니다.

    이 예제는 패키지 설치 또는 디렉터리 생성 등 일반적인 작업을 수행하기 위해 쿡북을 구현하는 방법의 기초를 안내합니다. 프로세스를 간단히 하기 위해 VagrantTest Kitchen이라는 유용한 도구 2개를 사용하여 예제 대부분을 가상 머신에서 로컬로 실행하게 됩니다. 쿡북 기본 사항를 시작하기에 앞서 이들 도구의 설치 및 사용 방법을 배우기 위해 먼저 Vagrant와 Test Kitchen를 읽어야 합니다. Test Kitchen은 아직 Windows를 지원하지 않기 때문에 예제는 모두 Linux용이며 Windows에 맞게 조정하는 방법을 알려주는 참고가 포함되어 있습니다.

  • 에 대한 쿡북 구현 AWS OpsWorks 스택에 대한 레시피를 구현하는 방법을 설명합니다. AWS OpsWorks 스택 (Windows 스택용 포함).

    Berkshelf를 사용하여 외부 쿡북을 관리하는 방법 등 몇 가지 고급 s도 포함되어 있습니다. 예제는 쿡북 기본 사항의 예제처럼 Chef가 처음인 사용자들을 위해 작성되었습니다. 그러나 AWS OpsWorks 스택은 Chef 서버와 약간 다르게 작동하므로 숙련된 Chef 사용자는 최소한 이 섹션을 끝까지 읽어 보는 것이 좋습니다.

Vagrant와 Test Kitchen

Linux 인스턴스용 레시피 작업을 하는 경우, Vagrant와 Test Kitchen은 학습과 초기 개발 및 테스트에 매우 유용한 도구입니다. 이것은 Vagrant와 Test Kitchen을 간략히 설명하고 기본적인 도구 사용 방법을 시작하고 익힐 수 있는 설치 지침과 안내서를 제공합니다. Vagrant는 Windows를 지원하지만 Test Kitchen은 지원하지 않으므로 이 도구들의 경우, Linux 예제만 나와 있습니다.

Vagrant

Vagrant는 가상 머신에서 코드를 실행하고 테스트할 수 있는 일관된 환경을 제공합니다. Vagrant 박스라고 하는 다양한 환경을 지원하며, 각 환경은 구성된 운영 체제를 나타냅니다. 에 대한 AWS OpsWorks 스택, 관심 환경은 우분투, Amazon 또는 Red Hat Enterprise Linux (RHEL) 배포판을 기반으로 하므로 예제에서는 주로 이름이 지정된 Vagrant 상자를 사용합니다. opscode-ubuntu-12.04

Vagrant는 Linux, Windows, Macintosh 시스템에서 사용 가능하므로 원하는 워크스테이션을 사용하여 지원되는 어떤 운영 체제에서도 레시피를 구현하고 테스트할 수 있습니다. 이 장의 예제는 Ubuntu Linux 시스템에서 작성되었지만 Windows 또는 Macintosh 시스템에도 간단히 적용할 수 있습니다.

Vagrant는 기본적으로 가상화 공급자용 래퍼입니다. 대부분의 예제는 공급자를 사용합니다. VirtualBox VirtualBox 는 무료이며 리눅스, 윈도우, 매킨토시 시스템에서 사용할 수 있습니다. 시스템에 아직 설치하지 않은 경우 Vagrant 안내를 통해 설치 지침을 확인할 수 있습니다. VirtualBox 에서 Ubuntu 기반 환경을 실행할 수 VirtualBox 있지만 Amazon Linux는 Amazon 인스턴스에서만 사용할 수 있습니다. EC2 그러나 초기 개발 및 테스트에 VirtualBox 유용한 CentOS와 같은 유사한 운영 체제를 실행할 수 있습니다.

다른 공급자에 대해서는 Vagrant 설명서를 참조하세요. 특히 vagrant-aws 플러그인 공급자를 사용하면 Amazon EC2 인스턴스에서 Vagrant를 사용할 수 있습니다. 이 공급자는 Amazon EC2 인스턴스에서만 사용할 수 있는 Amazon Linux에서 레시피를 테스트하는 데 특히 유용합니다. vagrant-aws공급자는 무료이지만 AWS 계정이 있어야 하고 사용하는 AWS 리소스에 대해 비용을 지불해야 합니다.

이 시점에서 워크스테이션에 Vagrant를 설치하는 방법을 설명하고 Vagrant의 기본적 사용 방법을 알려 주는 Vagrant 시작하기 안내서를 읽어야 합니다. 이 장의 예제는 Git 리포지토리를 사용하지 않기 때문에 원한다면 안내서에서 해당 부분은 생략해도 됩니다.

Test Kitchen

Test Kitchen은 Vagrant에서 쿡북을 실행하고 테스트하는 프로세스를 간소화합니다. 실제로는 직접 Vagrant를 사용할 일은 거의 없습니다. 다음을 비롯한 대부분의 일반적 작업은 Test Kitchen이 수행합니다.

  • Vagrant에서 인스턴스 시작.

  • 쿡북을 인스턴스로 이전.

  • 인스턴스에서 쿡북의 레시피 실행.

  • 인스턴스에서 쿡북의 레시피 테스트.

  • 인스턴스에 SSH 로그인하는 데 사용합니다.

Test Kitchen gem을 직접 설치하는 대신 Chef DK를 설치하는 것이 좋습니다. 이 패키지에는 셰프 자체 외에도 테스트 키친, 버크쉘프 및 기타 여러 유용한 도구가 포함되어 있습니다. ChefSpec

이 시점에서 Test Kitchen을 사용하여 레시피를 실행하고 테스트하는 방법을 알려 주는 Test Kitchen 시작하기 안내서를 읽어야 합니다.

참고

이 장의 예제에서는 레시피를 실행하는 편리한 방법으로 Test Kitchen을 사용합니다. 원한다면 예제에 대해 알아야 할 모든 내용을 다루고 있는 수동으로 확인(Manually Verifying) 섹션을 마친 다음 시작하기 안내서를 중단해도 됩니다. 하지만 Test Kitchen은 주로 bash 자동 테스트 시스템 () 과 같은 테스트 프레임워크를 지원하는 테스트 플랫폼입니다. BATS 일정 시점이 되면 안내서의 나머지 부분을 끝마쳐 Test Kitchen을 사용해 레시피를 테스트하는 방법을 배워야 합니다.