윈도우 스크립트 실행 PowerShell - AWS OpsWorks

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

윈도우 스크립트 실행 PowerShell

중요

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

참고

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

레시피가 Windows 인스턴스에서 작업, 특히 해당 Chef 리소스가 없는 작업을 수행하도록 하는 한 가지 방법은 레시피가 Windows 스크립트를 실행하도록 하는 것입니다. PowerShell 이 섹션에서는 Windows 스크립트를 사용하여 Windows PowerShell 기능을 설치하는 방법을 설명하여 기본 사항을 소개합니다.

powershell_script리소스는 인스턴스에서 Windows PowerShell cmdlet을 실행합니다. 다음 예제에서는 Install- WindowsFeature cmdlet을 사용하여 인스턴스에 XPS 뷰어를 설치합니다.

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

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

    • 이름 — PowerShellTest

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

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

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

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

    • 이름 — PowerShell

    • 짧은 이름 - powershell

  3. 기본 설정이 포함된 24/7 인스턴스를 PowerShell 레이어에 추가하고 시작합니다.

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

인스턴스가 시작되는 동안(보통 몇 분 정도 소요됨) 쿡북을 생성할 수 있습니다. 이 예제의 레시피는 데이터 디렉터리를 생성하며, 기본적으로 예제 3: 디렉터리 생성의 레시피를 Windows용으로 수정한 것입니다.

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

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

    name "powershell" version "0.1.0"
  3. recipes 디렉터리 내에 powershell 디렉터리를 만듭니다.

  4. 다음 레시피가 포함된 default.rb 파일을 만들어 recipes 디렉터리에 저장합니다.

    Chef::Log.info("******Installing XPS.******") powershell_script "Install XPS Viewer" do code <<-EOH Install-WindowsFeature XPS-Viewer EOH guard_interpreter :powershell_script not_if "(Get-WindowsFeature -Name XPS-Viewer).installed" end
    • powershell_script 리소스가 cmdlet을 실행해 XPS 뷰어를 설치합니다.

      이 예제에서는 cmdlet을 하나만 실행하지만 code 블록에는 명령줄을 무제한 포함할 수 있습니다.

    • guard_interpreter 속성은 Chef가 64비트 버전의 Windows를 사용하도록 지시합니다. PowerShell

    • not_if 보호 속성은 Chef가 이미 설치된 기능을 설치하지 않도록 합니다.

  5. powershell 디렉터리의 .zip 아카이브를 생성합니다.

  6. 아카이브를 Amazon S3 버킷에 업로드하고, 해당 아카이브를 퍼블릭으로 설정한 다음, 아카이브의 URL을 적어 둡니다. 또한 프라이빗 아카이브를 사용할 수도 있지만 이 예제에는 퍼블릭 아카이브면 충분합니다. 퍼블릭 아카이브가 작업하기 더 간단합니다.

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

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

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

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

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

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

  2. [사용자 지정 쿡북 업데이트] 스택 명령을 실행하여 인스턴스에 사용자 지정 쿡북의 최신 버전을 설치합니다.

  3. 사용자 지정 쿡북 업데이트가 완료되면 실행할 레시피powershell::default로 설정된 상태에서 레시피 실행 스택 명령을 실행하여 레시피를 실행합니다.

참고

이 예제에서는 편의를 위해 레시피 실행을 사용하지만, 일반적으로 AWS OpsWorks Stacks에서 레시피를 적절한 수명 주기 이벤트에 할당하여 레시피를 자동으로 실행하도록 합니다. 수동으로 이벤트를 트리거하여 그러한 레시피를 실행할 수 있습니다. 스택 명령을 사용하여 설정 및 Configure 이벤트를 트리거할 수 있고, 배포 명령을 사용하여 Deploy 및 Undeploy 이벤트를 트리거할 수 있습니다.

레시피가 성공적으로 실행되면 이를 확인할 수 있습니다.

powershell 레시피를 확인하려면
  1. Chef 로그를 확인합니다. powershell1 인스턴스의 로그 열에서 표시를 클릭하여 로그를 표시합니다. 아래로 스크롤하면 맨 아래 근처에 로그 메시지가 보입니다.

    ... [2015-04-27T18:12:09+00:00] INFO: Storing updated cookbooks/powershell/metadata.rb in the cache. [2015-04-27T18:12:09+00:00] INFO: ******Installing XPS.****** [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Install XPS Viewer] action run (powershell::default line 3) [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Guard resource] action run (dynamically defined) [2015-04-27T18:12:42+00:00] INFO: powershell_script[Install XPS Viewer] ran successfully ...
  2. RDP를 사용하여 인스턴스에 로그인하고 [시작] 메뉴를 엽니다. XPS 뷰어가 [Windows 액세서리]와 함께 나열되어야 합니다.