

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

# 노드를 개별적으로 추가
<a name="opscm-addnodes-individually"></a>

**중요**  
AWS OpsWorks for Chef Automate는 2024년 5월 5일에 수명이 종료되었으며 신규 및 기존 고객 모두에서 비활성화되었습니다. 기존 고객은 Chef SaaS 또는 대체 솔루션으로 마이그레이션하는 것이 좋습니다. 질문이 있는 경우 [AWS re:Post](https://repost.aws/) 또는 [AWS Premium Support](https://aws.amazon.com/support)를 통해 AWS Support 팀에 문의할 수 있습니다.

이 섹션에서는 Chef 서버가 관리할 수 있도록 EC2 인스턴스를 추가하거나 *부트스트랩*하는 `knife` 명령을 실행하는 방법을 설명합니다.

 AWS OpsWorks for Chef Automate 서버와 관련된 노드에서 지원되는 최소 `chef-client` 버전은 13.*x*입니다. 안정적인 최신 `chef-client` 버전을 실행하는 것이 좋습니다.

**Topics**
+ [(선택 사항) Chef Automate 서버 루트 CA의 URL 지정](#opscm-addnodes-customdomain)
+ [지원되는 운영 체제](#w2ab1b9c28c17c13c13)
+ [knife를 사용하여 노드 추가](#w2ab1b9c28c17c13c15)

## (선택 사항) Chef Automate 서버 루트 CA의 URL 지정
<a name="opscm-addnodes-customdomain"></a>

서버에서 사용자 지정 도메인과 인증서를 사용하는 경우 서버의 루트 CA PEM 형식 인증서를 가져오는 데 사용할 수 있는 퍼블릭 URL을 사용하여 userdata 스크립트에서 `ROOT_CA_URL` 변수를 편집해야 할 수 있습니다. 다음 AWS CLI 명령은 루트 CA를 Amazon S3 버킷에 업로드하고 1시간 동안 사용할 수 있는 미리 서명된 URL을 생성합니다.

1. 루트 CA PEM 형식 인증서를 S3에 업로드합니다.

   ```
   aws s3 cp ROOT_CA_PEM_FILE_PATH s3://bucket_name/
   ```

1. 한 시간(이 예에서는 3600초) 동안 루트 CA를 다운로드하는 데 사용할 수 있는 미리 서명된 URL을 생성합니다.

   ```
   aws s3 presign s3://bucket_name/ROOT_CA_PEM_FILE_NAME --expires-in 3600
   ```

1. userdata 스크립트에서 미리 서명된 URL의 값을 사용하여 `ROOT_CA_URL` 변수를 편집합니다.

## 지원되는 운영 체제
<a name="w2ab1b9c28c17c13c13"></a>

현재 노드에 지원되는 운영 체제 목록은 [Chef 웹 사이트](https://docs.chef.io/platforms.html)를 참조하세요.

## knife를 사용하여 노드 추가
<a name="w2ab1b9c28c17c13c15"></a>

[https://github.com/chef/knife-ec2](https://github.com/chef/knife-ec2) 플러그인은 Chef Workstation에 포함되어 있습니다. `knife-ec2`에 더 익숙하다면 `knife bootstrap` 대신 사용하여 새 EC2 인스턴스를 프로비저닝하고 부트스트랩할 수 있습니다. 그렇지 않은 경우, 새 EC2 인스턴스를 시작한 다음 이 섹션의 단계에 따르십시오.

**관리할 노드를 추가하려면**

1. 다음 `knife bootstrap` 명령을 실행합니다. 이 명령은 Chef 서버에서 관리할 노드에 EC2 인스턴스를 부트스트랩합니다. `nginx` 단원에서 설치한 [Policyfile.rb를 사용하여 원격 소스에서 쿡북 가져오기](opscm-starterkit.md#install-cookbooks-policyfile) 쿡북의 레시피를 실행하도록 Chef 서버에 지시합니다. `knife bootstrap` 명령을 실행하여 노드를 추가하는 자세한 방법은 Chef 설명서의 [노드 부트스트랩](https://docs.chef.io/install_bootstrap.html) 단원을 참조하세요.

   다음 표에는 이 단계의 `knife` 명령에서 노드 운영 체제에 사용할 수 있는 유효한 사용자 이름이 나와 있습니다. `root` 및 `ec2-user`를 둘 다 사용할 수 없으면 AMI 공급자에게 문의하세요. Linux 기반 인스턴스에 연결하는 자세한 방법은 AWS 설명서의 [SSH를 사용하여 Linux 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) 단원을 참조하세요.  
**노드 운영 체제의 사용자 이름에 유효한 값**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/opscm-addnodes-individually.html)

   ```
   knife bootstrap INSTANCE_IP_ADDRESS -N INSTANCE_NAME -x USER_NAME --sudo --run-list "recipe[nginx]"
   ```

1. 다음 명령을 실행하고, *INSTANCE\$1NAME*을 방금 추가한 인스턴스의 이름으로 바꿔 새 노드가 추가되었는지 확인합니다.

   ```
   knife client show INSTANCE_NAME
   knife node show INSTANCE_NAME
   ```