Chef 검색을 사용하여 속성 값 가져오기 - AWS OpsWorks

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

Chef 검색을 사용하여 속성 값 가져오기

중요

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

참고

이 방법은 Windows 스택 및 Chef 11.10 Linux 스택에서 사용할 수 있습니다.

노드 객체로부터 직접 스택 구성 및 배포 속성 값을 가져오는 방법은 복잡할 수 있으며 Windows 스택에서는 사용할 수 없습니다. 대안적 방법은 Chef 검색을 사용하여 원하는 속성을 쿼리하는 것입니다. Chef 서버에 익숙하다면 Stacks에서 Chef 검색이 약간 다르게 작동한다는 것을 알게 될 것입니다. AWS OpsWorks AWS OpsWorks 스택은 로컬 모드에서 chef-client를 사용하기 때문에 Chef 검색은 chef-zero라는 Chef 서버의 로컬 버전을 사용하므로 검색은 원격 서버가 아닌 인스턴스의 노드 개체에 로컬로 저장된 데이터에서 작동합니다.

실제로 AWS OpsWorks Stacks 인스턴스의 노드 객체에는 스택 구성 및 배포 속성이 포함되므로 검색을 로컬에 저장된 데이터로 제한하는 것은 일반적으로 중요하지 않습니다. 레시피가 일반적으로 Chef 서버에서 얻는 데이터의 전부는 아니더라도 대부분이 포함되며 동일한 이름을 사용하므로 일반적으로 AWS OpsWorks Stacks 인스턴스에서 Chef 서버용으로 작성된 검색 코드를 수정 없이 사용할 수 있습니다. 자세한 정보는 Chef 검색 사용을 참조하세요.

다음은 검색 쿼리의 기본의 구조를 보여줍니다.

result = search(:search_index, "key:pattern")
  • 검색 인덱스는 쿼리가 적용되는 속성을 지정하고 반환되는 객체의 유형을 결정합니다.

  • 키는 속성 이름을 지정합니다.

  • 패턴은 검색하려는 속성의 값을 지정합니다.

    특정 속성 값을 쿼리할 수도 있고 와일드 카드를 사용하여 일련의 값을 쿼리할 수도 있습니다.

  • 결과는 쿼리를 만족하는 객체의 목록이며, 각각 관련 속성이 여러 개 포함된 해시 테이블입니다.

    예를 들어 node 검색 인덱스를 사용할 경우 쿼리는 쿼리를 만족하는 인스턴스마다 하나씩 인스턴스 객체의 목록을 반환합니다. 각 객체는 호스트 이름, IP 주소 등 인스턴스 구성을 정의하는 속성 세트를 포함하는 해시 테이블입니다.

예를 들어 다음 쿼리는 스택의 인스턴스(Chef 용어로는 노드)에 적용되는 표준 Chef 검색 인덱스인 node 검색 인덱스를 사용합니다. 이 쿼리는 호스트 이름이 myhost인 인스턴스를 검색합니다.

result = search(:node, "hostname:myhost")

검색은 호스트 이름이 myhost인 인스턴스 객체의 목록을 반환합니다. 예를 들어 첫 번째 인스턴스의 운영 체제를 원할 경우 result[0][:os]에 의해 표현됩니다. 쿼리가 여러 객체를 반환할 경우 객체를 열거하여 필요한 정보를 검색할 수 있습니다.

레시피에서 검색을 사용하는 세부 방법은 Linux 스택 또는 Windows 스택을 사용하는지에 따라 다릅니다. 다음 주제에서는 두 스택 유형 모두에 대한 예제를 제공합니다.