

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

# Windows 기능 설치: IIS
<a name="cookbooks-101-opsworks-install-software-feature"></a>

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

 Windows 기능은 .NET 프레임워크 및 인터넷 정보 서비스(IIS)를 비롯한 일련의 선택적 시스템 구성 요소입니다. 이 주제에서는 일반적으로 사용되는 기능인 인터넷 정보 서비스(IIS)를 설치하는 쿡북을 구현하는 방법을 설명합니다.

**참고**  
[패키지 설치](cookbooks-101-opsworks-install-software-package.md) 섹션은 MSI 파일과 같은 설치 프로그램 관리자로 제공되는 소프트웨어를 설치하는 방법을 보여줍니다. 이러한 패키지는 인스턴스로 다운로드하여 실행해야 합니다. [IIS 쿡북](https://github.com/opscode-cookbooks/iis) 

[Windows 인스턴스에서 레시피 실행](cookbooks-101-opsworks-opsworks-windows.md) 섹션은`powershell_script` 리소스를 사용하여 Windows 기능을 설치하는 방법을 보여줍니다. 이 예제는 Chef [Windows 쿡북의](https://github.com/opscode-cookbooks/windows) `windows_feature` 리소스를 사용하는 대안적 방법을 보여줍니다. 이 쿡북에는 [Deployment Image Servicing and Management](https://technet.microsoft.com/en-us/library/dd744256%28v=ws.10%29.aspx)를 사용하여 기능 설치를 비롯한 다양한 Windows 작업을 수행하는 일련의 리소스가 포함되어 있습니다.

**참고**  
Chef에도 IIS를 관리하는 데 사용할 수 있는 IIS 쿡북이 있습니다. 자세한 정보는 [IIS cookbook](https://github.com/opscode-cookbooks/iis) 단원을 참조하세요.

**쿡북을 설정하려면**

1. [windows cookbook GitHub 리포지토리](https://github.com/opscode-cookbooks/windows)로 이동한 다음 `windows` 쿡북을 다운로드합니다.

   이 예제에서는 `windows` 리포지토리를 .zip 파일로 다운로드한다고 가정하지만 원하는 경우 이 리포지토리를 복제할 수도 있습니다.

1. [chef\$1handler cookbook GitHub 리포지토리](https://github.com/opscode-cookbooks/chef_handler)로 이동한 다음 `chef-handler` 쿡북을 다운로드합니다.

   `windows` 쿡북은 `chef_handler`에 따라 달라지므로 이 쿡북을 직접 사용하지는 않습니다. 이 예제에서는 `chef_handler` 리포지토리를 .zip 파일로 다운로드한다고 가정하지만 원하는 경우 이 리포지토리를 복제할 수도 있습니다.

1. `windows` 및 `chef_handler` 쿡북을 쿡북 디렉터리 `windows` 및 `chef_handler`에 각각 추출합니다.

1. 쿡북 디렉터리 `install-iis` 안에 디렉터리를 만들고 그 디렉터리로 이동합니다.

1. `install-iis`에 다음 콘텐츠가 포함된 `metadata.rb` 파일을 추가합니다.

   ```
   name "install-iis"
   version "0.1.0"
   
   depends "windows"
   ```

   `depends` 명령을 사용하면 레시피에서 `windows` 쿡북 리소스를 사용할 수 있습니다.

1. `recipes`에 `install-iis` 디렉터리를 추가하고 다음 레시피 코드가 포함된 `default.rb` 파일을 이 디렉터리에 추가합니다.

   ```
   %w{ IIS-WebServerRole IIS-WebServer }.each do |feature|
     windows_feature feature do
       action :install
     end
   end
   
   service 'w3svc' do
     action [:start, :enable]
   end
   ```

   레시피에서는 `windows` 쿡북의 `windows_feature` 리소스를 사용하여 다음을 설치합니다.

   1. The [IIS 웹 서버 역할](https://technet.microsoft.com/en-us/library/cc770634.aspx).

   1. The [IIS 웹 서버](https://technet.microsoft.com/en-us/library/cc753433%28v=ws.10%29.aspx).

   그런 다음 레시피에서는 [https://docs.chef.io/chef/resources.html#service](https://docs.chef.io/chef/resources.html#service) 리소스를 사용하여 IIS 서비스(W3SVC)를 시작 및 활성화합니다.
**참고**  
사용 가능한 Windows 기능의 전체 목록을 확인하려면 [RDP를 사용하여 인스턴스에 로그인](workinginstances-rdp.md)해 명령 프롬프트 창을 열고 다음 명령을 실행합니다. 이 목록은 상당히 깁니다.  

   ```
   dism /online /Get-Features
   ```

1. `install-iis`, `chef_handler` 및 `windows` 쿡북이 포함된 `.zip` 아카이브를 만들어 S3 버킷에 업로드합니다. 이 아카이브를 퍼블릭으로 설정하고 나중에 사용하기 위해 URL을 적어 둡니다. 이 예제에서는 이 아카이브의 이름을 `install-iis.zip`이라고 가정합니다. 자세한 내용은 [쿡북 리포지토리](workingcookbook-installingcustom-repo.md) 섹션을 참조하세요.

   Amazon S3 버킷에 전달한 콘텐츠에는 고객 콘텐츠가 포함될 수 있습니다. 중요 데이터 제거에 관한 자세한 내용은 [S3 버킷을 비우려면 어떻게 해야 합니까?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) 단원 또는 [S3 버킷을 삭제하려면 어떻게 해야 합니까?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) 단원을 참조하세요.

다음과 같이 이 예제를 위한 스택을 생성합니다. 기존의 Windows 스택을 사용할 수도 있습니다. 나중에 설명하듯이 쿡북을 업데이트하면 됩니다.

**스택을 만듭니다**

1. [OpsWorks Stacks 콘솔](https://console.aws.amazon.com/opsworks/)을 열고 **스택 추가**를 선택합니다. 다음 설정을 지정하고, 그 외 설정에 대해서는 기본값을 수락한 다음 [**스택 추가**]를 선택합니다.
   + **이름** – InstallIIS
   + **리전** – 미국 서부(오레곤)

     이 예제는 모든 리전에서 작동하지만 자습서의 경우 미국 서부(오레곤)를 사용하는 것이 좋습니다.
   + **기본 운영 체제** - Microsoft Windows Server 2012 R2

1. [**계층 추가**]를 선택하여 스택에 다음 설정으로 [사용자 지정 계층을 추가](workinglayers-custom.md)합니다.
   + **이름** - IIS
   + **짧은 이름** - iis

1. 기본 설정을 사용하여 IIS 계층에 [24/7 인스턴스를 추가](workinginstances-add.md)하고 [해당 인스턴스를 시작](workinginstances-starting.md)합니다.

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

**쿡북을 설치하고 레시피를 실행하려면**

1. [스택을 편집해 사용자 지정 쿡북을 활성화](workingcookbook-installingcustom-enable.md)하고 다음 설정을 지정합니다.
   + **리포지토리 유형** – **S3 아카이브**
   + **리포지토리 URL** – 앞에서 기록해 둔 쿡북 아카이브 URL

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

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

1. **실행할 레시피**가 **install-iis::default**으로 설정된 상태에서 **레시피 실행** 스택 명령을 실행하여 레시피를 실행합니다. 이 명령은 지정한 레시피를 실행하는 Chef 실행을 시작합니다.
**참고**  
이 예제에서는 편의상 **레시피 실행**을 사용하지만 일반적으로 OpsWorks Stacks가 레시피를 적절한 수명 주기 이벤트에 할당하여 [레시피를 자동으로 실행](workingcookbook-assigningcustom.md)하도록 합니다. 수동으로 이벤트를 트리거하여 그러한 레시피를 실행할 수 있습니다. 스택 명령을 사용하여 설정 및 Configure 이벤트를 트리거할 수 있고, [배포 명령](workingapps-deploying.md)을 사용하여 Deploy 및 Undeploy 이벤트를 트리거할 수 있습니다.

1. 설치를 확인하려면 [RDP를 사용하여 인스턴스에 연결](workinginstances-rdp.md)한 다음 Windows 탐색기를 엽니다. 이제 파일 시스템에 `C:\inetpub` 디렉터리가 있을 것입니다. 관리 도구 제어판 애플리케이션에서 서비스 목록을 확인하는 경우 IIS는 맨 아래 근처에 있습니다. 그러나 이름이 IIS가 아니라 World Wide Web Publishing Service로 표시됩니다.