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

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

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

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 만료되었으며 신규 및 기존 고객 모두에 대해 비활성화되었습니다. 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션하는 것이 좋습니다. 마이그레이션에 대한 질문이 있는 경우 AWS re:Post 또는 AWS Premium Support를 통해 AWS Support 팀에 문의하세요.

참고

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

노드 객체로부터 직접 스택 구성 및 배포 속성 값을 가져오는 방법은 복잡할 수 있으며 Windows 스택에서는 사용할 수 없습니다. 대안적 방법은 Chef 검색을 사용하여 원하는 속성을 쿼리하는 것입니다. Chef 서버에 익숙하다면 Chef 검색이 AWS OpsWorks Stacks와 약간 다르게 작동하는 것을 알 수 있습니다. AWS OpsWorks Stacks는 로컬 모드에서 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 스택을 사용하는지에 따라 다릅니다. 다음 주제에서는 두 스택 유형 모두에 대한 예제를 제공합니다.