

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

# 2단계: Windows Server Amazon EC2 인스턴스에 배포하도록 원본 콘텐츠 구성
<a name="tutorials-windows-configure-content"></a>

이제 Amazon EC2 인스턴스에 배포할 수 있도록 애플리케이션의 소스 콘텐츠를 구성해야 합니다. 이 튜토리얼에서는 Windows Server를 실행하는 Amazon EC2 인스턴스에 단일 웹 페이지를 배포합니다. 이 인스턴스는 IIS(인터넷 정보 서비스)를 웹 서버로 실행합니다. 이 웹 페이지는 간단한 “Hello, World\$1” 메시지를 표시합니다.

**Topics**
+ [웹 페이지 만들기](#tutorials-windows-configure-content-download-code)
+ [애플리케이션을 실행하는 스크립트 만들기](#tutorials-windows-configure-content-create-scripts)
+ [애플리케이션 사양 파일 추가](#tutorials-windows-configure-content-add-appspec-file)

## 웹 페이지 만들기
<a name="tutorials-windows-configure-content-download-code"></a>

1. `c:\temp` 폴더에 `HelloWorldApp`(이)라는 하위 디렉터리(하위 폴더)를 만든 다음 다음 해당 폴더로 전환합니다.

   ```
   mkdir c:\temp\HelloWorldApp
   cd c:\temp\HelloWorldApp
   ```
**참고**  
`c:\temp` 또는 `HelloWorldApp`(이)라는 하위 폴더의 위치를 사용할 필요가 없습니다. 다른 위치 또는 하위 폴더를 사용하는 경우 이 자습서 전체에서 이를 사용해야 합니다.

1. 텍스트 편집기를 사용하여 폴더 내에 파일을 생성합니다. 파일 이름을 `index.html`으로 지정합니다.

   ```
   notepad index.html
   ```

1. 파일에 다음 코드를 추가하고 파일을 저장합니다.

   ```
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html>
   <head>
     <title>Hello, World!</title>
     <style>
       body {
         color: #ffffff;
         background-color: #0188cc;
         font-family: Arial, sans-serif;  
         font-size:14px;
       }
     </style>
   </head>
   <body>
     <div align="center"><h1>Hello, World!</h1></div>
     <div align="center"><h2>You have successfully deployed an application using CodeDeploy</h2></div>
     <div align="center">
       <p>What to do next? Take a look through the <a href="https://aws.amazon.com/codedeploy">CodeDeploy Documentation</a>.</p>
     </div>
   </body>
   </html>
   ```

## 애플리케이션을 실행하는 스크립트 만들기
<a name="tutorials-windows-configure-content-create-scripts"></a>

다음으로 CodeDeploy가 대상 Amazon EC2 인스턴스에 웹 서버를 설정하는 데 사용할 스크립트를 생성합니다.

1. 동일한 하위 폴더에서 `index.html` 파일이 저장되면 텍스트 편집기를 사용하여 다른 파일을 생성합니다. 파일 이름을 `before-install.bat`으로 지정합니다.

   ```
   notepad before-install.bat
   ```

1. 파일에 다음 배치 스크립트 코드를 추가하고 파일을 저장합니다.

   ```
   REM Install Internet Information Server (IIS).
   c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Import-Module -Name ServerManager
   c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Install-WindowsFeature Web-Server
   ```

## 애플리케이션 사양 파일 추가
<a name="tutorials-windows-configure-content-add-appspec-file"></a>

그런 다음 웹 페이지 및 배치 스크립트 파일 외에 애플리케이션 사양 파일(AppSpec file)을 추가합니다. AppSpec 파일은 CodeDeploy에서 다음을 위해 사용하는 [YAML](http://www.yaml.org) 형식 파일입니다.
+ 애플리케이션 수정 버전의 소스 파일을 인스턴스의 대상으로 매핑합니다.
+ 배포 중에 인스턴스에서 실행할 스크립트를 지정합니다.

AppSpec 파일의 이름은 `appspec.yml`이어야 합니다. 애플리케이션 소스 코드의 루트 폴더에 있어야 합니다.

1. 동일한 하위 폴더에서 `index.html` 및 `before-install.bat` 파일이 저장되면 텍스트 편집기를 사용하여 다른 파일을 생성합니다. 파일 이름을 `appspec.yml`으로 지정합니다.

   ```
   notepad appspec.yml
   ```

1. 파일에 다음 YAML 코드를 추가하고 파일을 저장합니다.

   ```
   version: 0.0
   os: windows
   files:
     - source: \index.html
       destination: c:\inetpub\wwwroot
   hooks:
     BeforeInstall:
       - location: \before-install.bat
         timeout: 900
   ```

CodeDeploy는 이 AppSpec 파일을 사용하여 `index.html` 파일을 애플리케이션 소스 코드의 루트 폴더에서 대상 Amazon EC2 인스턴스의 `c:\inetpub\wwwroot` 폴더로 복사합니다. 배포하는 동안 CodeDeploy는 **BeforeInstall** 배포 수명 주기 이벤트 중에 `before-install.bat` 배치 스크립트를 대상 Amazon EC2 인스턴스에서 실행합니다. 이 스크립트를 실행하는 데 900초(15분) 이상 걸리면 CodeDeploy는 배포를 중지하고 Amazon EC2 인스턴스에 대한 배포를 실패로 표시합니다.

이러한 설정에 대한 자세한 정보는 [CodeDeploy AppSpec 파일 참조](reference-appspec-file.md) 단원을 참조하세요.

**중요**  
이 파일에 있는 각 항목 사이의 공백 위치와 개수는 중요합니다. 공백이 올바르지 않으면 CodeDeploy는 디버깅하기 어려운 오류를 발생시킵니다. 자세한 내용은 [AppSpec 파일 간격](reference-appspec-file.md#reference-appspec-file-spacing) 단원을 참조하십시오.