

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

# 8단계: 파일을 생성하고 복사하도록 쿡북 업데이트
<a name="gettingstarted-cookbooks-create-file"></a>

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

인스턴스에 2개의 파일을 추가하는 레시피를 추가하여 쿡북을 업데이트합니다. 레시피의 첫 번째 리소스는 순전히 레시피 코드를 사용하여 파일을 생성합니다. 이것은 Linux **cat**, **echo** 또는 **touch** 명령이나 Windows **echo** 또는 **fsutil** 명령을 실행하는 것과 비슷합니다. 이 기법은 소수의 작거나 단순한 파일에 유용합니다. 레시피의 두 번째 리소스는 쿡북의 파일을 인스턴스의 다른 디렉터리에 복사합니다. 이것은 Linux **cp** 명령이나 Windows **copy** 명령을 실행하는 것과 비슷합니다. 이 기법은 다수의 크거나 복잡한 파일에 유용합니다.

이 단계를 시작하기 전에 [7단계: 디렉터리를 생성하도록 쿡북 업데이트](gettingstarted-cookbooks-create-directory.md)를 완료하여 파일의 상위 디렉터리가 이미 존재하는지 확인하세요.

**인스턴스에서 쿡북을 업데이트하고 새 레시피를 실행하려면**

1. 로컬 워크스테이션의 `opsworks_cookbook_demo` 디렉터리에서 하위 디렉터리 `files`를 만듭니다.

1. `files` 하위 디렉터리에 **Hello, World\$1**라는 텍스트가 포함된 `hello.txt` 파일을 만듭니다.

1. 다음 코드를 사용하여 `recipes` 디렉터리의 `opsworks_cookbook_demo` 하위 디렉터리에 `create_files.rb` 파일을 생성합니다. 자세한 정보는 [파일](https://docs.chef.io/resource_file.html) 및 [cookbook\$1file](https://docs.chef.io/resource_cookbook_file.html) 단원을 참조하세요.

   ```
   file "Create a file" do
     content "<html>This is a placeholder for the home page.</html>"
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/index.html"
   end
   
   cookbook_file "Copy a file" do  
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/hello.txt"
     source "hello.txt"  
   end
   ```

   `file` 리소스는 지정된 경로에 파일을 생성합니다. `cookbook_file` 리소스는 쿡북에서 방금 만든 `files` 디렉터리에서(Chef에서는 파일을 복사해 올 표준 이름 하위 디렉터리 `files`를 찾음) 인스턴스의 다른 디렉터리로 파일을 복사합니다.

1. 터미널 또는 명령 프롬프트에서 **tar** 명령을 사용하여 `opsworks_cookbook_demo` 디렉터리와 업데이트된 내용 포함된 `opsworks_cookbook_demo.tar.gz` 파일의 새 버전을 만듭니다.

1. 업데이트된 `opsworks_cookbook_demo.tar.gz` 파일을 S3 버킷에 업로드합니다.

1. [5단계: 인스턴스에서 쿡북을 업데이트하고 레시피 실행](gettingstarted-cookbooks-copy-cookbook.md) 단원의 절차에 따라 인스턴스에서 쿡북을 업데이트하고 레시피를 실행합니다. "레시피 실행" 절차에서 **실행할 레시피**에 **opsworks\$1cookbook\$1demo::create\$1files**를 입력합니다.

**레시피를 테스트하려면**

1. 아직 로그인하지 않았다면 인스턴스에 로그인합니다.

1. 명령 프롬프트에서 다음 명령을 실행하여 한 번에 하나씩 새 파일이 추가되었는지 확인합니다.

   ```
   sudo cat /tmp/create-directory-demo/index.html
   
   sudo cat /tmp/create-directory-demo/hello.txt
   ```

   파일의 내용이 다음과 같이 표시됩니다.

   ```
   <html>This is a placeholder for the home page.</html>
   
   Hello, World!
   ```

[다음 단계](gettingstarted-cookbooks-run-command.md)에서는 인스턴스에서 명령을 실행하도록 쿡북을 업데이트합니다.