AWS OpsWorks Windows 스택의 스택별 검색 인덱스 사용 - AWS OpsWorks

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

AWS OpsWorks Windows 스택의 스택별 검색 인덱스 사용

중요

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

참고

이 예제에서는 사용자가 이미 Windows 인스턴스에서 레시피 실행 예제를 완료한 것으로 가정합니다. 그렇지 않은 경우 먼저 그 예제를 수행해야 합니다. 특히, 그 예제는 인스턴스에 대한 RDP 액세스를 활성화하는 방법을 설명합니다.

AWS OpsWorks Stacks는 그 외에도 다음과 같은 검색 색인을 제공합니다. node

  • aws_opsworks_stack – 스택 구성.

  • aws_opsworks_layer – 스택의 계층 구성.

  • aws_opsworks_instance – 스택의 인스턴스 구성.

  • aws_opsworks_app – 스택의 앱 구성.

  • aws_opsworks_user – 스택의 사용자 구성.

  • aws_opsworks_rds_db_instance – 등록된 RDS 인스턴스의 연결 정보.

이러한 인덱스에는 일부 표준 Chef 속성이 포함되지만 주로 Stacks별 속성을 검색하는 AWS OpsWorks 데 사용됩니다. 예를 들어 aws_opsworks_instanceonline과 같은 인스턴스 상태를 제공하는 status 포함합니다.

참고

권장되는 방법은 가능할 경우 node를 사용하여 레시피를 표준 Chef 사용과 일관되게 유지하는 것입니다. 예시는 Windows 스택에서 노드 검색 인덱스 사용단원을 참조하세요.

이 예제에서는 AWS OpsWorks Stacks 인덱스를 사용하여 Stacks별 속성 값을 검색하는 방법을 보여줍니다. AWS OpsWorks 이 예제는 단일 인스턴스의 단일 사용자 지정 계층을 포함하는 단순한 Windows 스택을 기반으로 합니다. Chef 검색을 사용하여 인스턴스의 AWS OpsWorks 스택 ID를 가져오고 결과를 Chef 로그에 기록합니다.

다음은 이 예제를 위한 스택을 생성하는 방법을 간략히 요약한 것입니다. 자세한 내용은 새 스택 생성 섹션을 참조하세요.

스택을 만듭니다
  1. AWS OpsWorks Stacks 콘솔을 열고 + Stack(+ 스택)을 선택합니다. 다음 설정을 지정하고, 그 외 설정에 대해서는 기본값을 수락한 다음 [스택 추가]를 선택합니다.

    • 이름 – IDSearch

    • 리전 – 미국 서부(오레곤)

      이 예제는 모든 리전에서 작동하지만 자습서의 경우 미국 서부(오레곤)를 사용하는 것이 좋습니다.

    • 기본 운영 체제 - Microsoft Windows Server 2012 R2

  2. [계층 추가]를 선택하여 스택에 다음 설정으로 사용자 지정 계층을 추가합니다.

    • 이름 – IDCheck

    • 짧은 이름 - idcheck

  3. 기본 설정을 사용하여 IDCheck 계층에 24/7 t2.micro 인스턴스를 추가하고 해당 인스턴스를 시작합니다. 이 인스턴스의 이름은 iptest1입니다.

    AWS OpsWorks 스택은 이 인스턴스에 자동으로 AWS-OpsWorks-RDP-Server 할당됩니다. RDP 액세스 활성화인증된 사용자가 인스턴스에 로그인할 수 있도록 허용하는 인바운드 규칙을 이 보안 그룹에 추가하는 방법을 설명합니다.

  4. [권한] 및 [편집]을 차례대로 선택하고 [SSH/RDP] 및 [sudo/admin]을 선택합니다. 인스턴스에 로그인하려면 일반 사용자에게는 AWS-OpsWorks-RDP-Server 보안 그룹 이외에 이러한 권한 부여가 필요합니다.

    참고

    Administrator로도 로그인할 수 있지만 로그인 절차가 다릅니다. 자세한 내용은 RDP를 사용하여 로그인 섹션을 참조하세요.

쿡북을 설정하려면
  1. idcheck 하위 디렉터리를 만들고 그 디렉터리로 이동합니다.

  2. 다음 내용이 포함된 metadata.rb 파일을 만들어 opstest에 저장합니다.

    name "idcheck" version "0.1.0"
  3. idcheck 안에 recipes 디렉터리를 만들고 다음 레시피가 포함된 default.rb 파일을 이 디렉터리에 추가합니다.

    windowsserver = search(:aws_opsworks_instance, "hostname:idcheck*").first Chef::Log.info("**********The public IP address is: '#{windowsserver[:instance_id]}'**********")

    이 레시피는 aws_opsworks_instance 검색 인덱스와 함께 Chef 검색을 사용하여 스택의 각 인스턴스에 대한 인스턴스 속성idcheck로 시작하는 호스트 이름과 함께 가져옵니다. 계층의 짧은 이름에 정수를 추가하여 호스트 이름을 생성하는 기본 테마를 사용하는 경우 이 쿼리는 IDCheck 계층의 인스턴스를 모두 반환합니다. 예를 들어, 이 계층에는 인스턴스가 하나 뿐인 것으로 알려져 있기 때문에 레시피는 첫 번째 인스턴스만 windowsserver에 할당합니다. 인스턴스가 여러 개인 경우 전체 목록을 가져와 인스턴스를 열거할 수 있습니다.

    이 레시피는 스택에는 이 호스트 이름을 가진 인스턴스가 하나 뿐이라는 사실을 활용하므로 첫 번째 결과는 올바른 인스턴스 하나입니다. 스택에 인스턴스가 여러 개인 경우 다른 속성을 검색하면 결과가 두 개 이상 반환될 수 있습니다. 인스턴스 속성의 목록은 인스턴스 데이터 백(aws_opsworks_instance) 단원을 참조하세요.

    인스턴스 속성은 기본적으로 해시 테이블이며, 인스턴스의 AWS OpsWorks Stacks ID는 instance_id 속성에 할당되므로 ID를 로 참조할 수 있습니다. windowsserver[:instance_id] 레시피가 해당 문자열을 메시지에 삽입하고 Chef 로그에 추가합니다.

  4. ipaddress 쿡북의 .zip 아카이브를 생성하고, 이 아카이브를 Amazon S3 버킷에 업로드한 다음, 해당 아카이브의 URL을 기록합니다. 쿡북 리포지토리에 대한 자세한 정보는 쿡북 리포지토리 단원을 참조하세요.

    Amazon S3 버킷에 전달한 콘텐츠에는 고객 콘텐츠가 포함될 수 있습니다. 중요 데이터 제거에 관한 자세한 내용은 S3 버킷을 비우려면 어떻게 해야 합니까? 단원 또는 S3 버킷을 삭제하려면 어떻게 해야 합니까? 단원을 참조하세요.

이제 쿡북을 설치하고 레시피를 실행할 수 있습니다.

쿡북을 설치하고 레시피를 실행하려면
  1. 스택을 편집해 사용자 지정 쿡북을 활성화하고 다음 설정을 지정합니다.

    • 리포지토리 유형S3 아카이브

    • 리포지토리 URL - 앞에서 기록해 둔 쿡북 아카이브 URL

    기타 설정에 대해 기본값을 수락하고 [저장]을 선택하여 스택 구성을 업데이트합니다.

  2. 사용자 지정 쿡북 업데이트 스택 명령을 실행하여 스택의 인스턴스(온라인 인스턴스 포함)에 사용자 지정 쿡북의 최신 버전을 설치합니다. 쿡북의 이전 버전이 있으면 이 명령이 이전 버전을 덮어 씁니다.

  3. 사용자 지정 쿡북 업데이트가 완료되면 실행할 레시피idcheck::default로 설정된 상태에서 레시피 실행 스택 명령을 실행하여 레시피를 실행합니다. 이 명령은 레시피로 구성된 실행 목록을 사용하여 Chef 실행을 시작합니다. execute_recipes 페이지는 그대로 열어 두십시오.

레시피가 성공적으로 실행되면 Chef 로그에서 가장 최근의 execute_recipes 이벤트를 보고 이를 확인할 수 있습니다. 실행 중인 명령 execute_recipes 페이지에서 iptest1 인스턴스의 로그 열에 있는 표시를 선택하여 로그를 표시합니다. 로그를 거의 끝까지 아래로 스크롤하여 다음과 같은 로그 메시지를 찾습니다.

... [2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/recipes/default.rb in the cache. [2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/metadata.rb in the cache. [2015-05-13T20:03:47+00:00] INFO: **********The instance ID is: 'i-8703b570'********** [2015-05-13T20:03:47+00:00] INFO: Chef Run complete in 0.312518 seconds ...