노드를 개별적으로 추가 - AWS OpsWorks

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

노드를 개별적으로 추가

중요

AWS OpsWorks for Chef Automate는 2024년 5월 5일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없게 되었습니다. 기존 고객은 Chef SaaS 또는 대체 솔루션으로 마이그레이션하는 것이 좋습니다. 질문이 있는 경우 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의할 수 있습니다.

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

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

(선택 사항) Chef Automate 서버 루트 CA의 URL 지정

서버에서 사용자 지정 도메인과 인증서를 사용하는 경우 서버의 루트 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/
  2. 한 시간(이 예에서는 3600초) 동안 루트 CA를 다운로드하는 데 사용할 수 있는 미리 서명된 URL을 생성합니다.

    aws s3 presign s3://bucket_name/ROOT_CA_PEM_FILE_NAME --expires-in 3600
  3. userdata 스크립트에서 미리 서명된 URL의 값을 사용하여 ROOT_CA_URL 변수를 편집합니다.

지원되는 운영 체제

현재 노드에 지원되는 운영 체제 목록은 Chef 웹 사이트를 참조하세요.

knife를 사용하여 노드 추가

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

관리할 노드를 추가하려면
  1. 다음 knife bootstrap 명령을 실행합니다. 이 명령은 Chef 서버에서 관리할 노드에 EC2 인스턴스를 부트스트랩합니다. nginx 단원에서 설치한 Policyfile.rb를 사용하여 원격 소스에서 쿡북 가져오기 쿡북의 레시피를 실행하도록 Chef 서버에 지시합니다. knife bootstrap 명령을 실행하여 노드를 추가하는 자세한 방법은 Chef 설명서의 노드 부트스트랩 단원을 참조하세요.

    다음 표에는 이 단계의 knife 명령에서 노드 운영 체제에 사용할 수 있는 유효한 사용자 이름이 나와 있습니다. rootec2-user를 둘 다 사용할 수 없으면 AMI 공급자에게 문의하세요. Linux 기반 인스턴스에 연결하는 자세한 방법은 AWS 설명서의 SSH를 사용하여 Linux 인스턴스에 연결 단원을 참조하세요.

    노드 운영 체제의 사용자 이름에 유효한 값
    운영 체제 유효한 사용자 이름
    Amazon Linux ec2-user
    Red Hat Enterprise Linux 5 root 또는 ec2-user
    Ubuntu ubuntu
    Fedora fedora 또는 ec2-user
    SUSE Linux root 또는 ec2-user
    knife bootstrap INSTANCE_IP_ADDRESS -N INSTANCE_NAME -x USER_NAME --sudo --run-list "recipe[nginx]"
  2. 다음 명령을 실행하고, INSTANCE_NAME을 방금 추가한 인스턴스의 이름으로 바꿔 새 노드가 추가되었는지 확인합니다.

    knife client show INSTANCE_NAME knife node show INSTANCE_NAME