Puppet 마스터가 관리할 노드 추가 - AWS OpsWorks

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

Puppet 마스터가 관리할 노드 추가

중요

이 AWS OpsWorks for Puppet Enterprise 서비스는 2024년 3월 31일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

노드를 추가하는 권장 방법은 API를 사용하는 것입니다. AWS OpsWorks associateNode() Puppet Enterprise 마스터 서버는 노드가 온프레미스 실제 컴퓨터이든 가상 머신이든 관계 없이, 관리하려는 노드에 Puppet 에이전트 소프트웨어를 설치하는 데 사용하는 리포지토리를 호스팅합니다. 일부 운영 체제용 Puppet 에이전트 소프트웨어는 시작 프로세스의 일부로 Puppet Enterprise 서버에 설치됩니다. OpsWorks 다음 표에는 Puppet Enterprise 서버 시작 시 사용할 수 있는 운영 체제 에이전트가 나와 있습니다 OpsWorks .

사전 설치된 운영 체제 에이전트
지원되는 운영 체제 버전
Ubuntu 16.04, 18.04, 20.04
Red Hat Enterprise Linux(RHEL) 6, 7, 8
Windows 모든 Puppet 지원 Windows 릴리스의 64비트 에디션

다른 운영 체제의 경우, puppet-agent를 서버에 추가할 수 있습니다. 시스템 유지 관리 시에는 시작 이후에 서버에 추가된 에이전트를 삭제한다는 점에 유의하세요. 삭제된 에이전트를 실행 중이던 대부분의 기존 연결 노드는 계속해서 체크인을 하지만, Debian 운영 체제를 실행 중인 노드들은 보고를 중지할 수 있습니다. Puppet Enterprise용 puppet-agent 서버에 에이전트 소프트웨어가 사전 설치되어 있지 않은 운영 체제를 실행하는 노드에는 수동으로 설치하는 것이 좋습니다. OpsWorks 다른 운영 체제를 가진 노드에서 puppet-agent를 서버에서 가용 상태로 만드는 방법에 대한 자세한 설명은 Puppet Enterprise 설명서의 Installing agents 단원을 참조하세요.

EC2 인스턴스 사용자 데이터를 채워서 자동으로 Puppet 마스터에 노드를 연결하는 방법에 대한 자세한 정보는 Puppet OpsWorks Enterprise에 자동으로 노드 추가 단원을 참조하세요.

associateNode() API 호출 실행

puppet-agent설치하여 노드를 추가하면 노드가 Puppet OpsWorks Enterprise용 서버에 인증서 서명 요청 (CSR) 을 보냅니다. Puppet 콘솔에서 CSR을 볼 수 있으며, 노드 CSR에 대한 자세한 정보는 Puppet Enterprise 설명서의 Managing certificate signing requests 단원을 참조하세요. Puppet OpsWorks Enterprise용 associateNode() API 호출을 실행하면 노드 CSR이 처리되고 노드가 서버와 연결됩니다. 다음은 에서 이 API 호출을 사용하여 단일 노드를 AWS CLI 연결하는 방법의 예입니다. 노드가 전송하는 PEM 형식 CSR이 필요하며, Puppet 콘솔에서 이를 얻을 수 있습니다.

aws opsworks-cm associate-node --server-name "test-puppet-server" --node-name "node or instance ID" --engine-attributes "Name=PUPPET_NODE_CSR,Value='PEM_formatted_CSR_from_the_node'

associateNode()를 사용하여 자동으로 노드를 추가하는 방법에 대한 자세한 정보는Puppet OpsWorks Enterprise에 자동으로 노드 추가 단원을 참조하세요.

온프레미스 노드 추가 고려 사항

온-프레미스 컴퓨터 또는 가상 puppet-agent 컴퓨터에 설치한 후 두 가지 방법 중 하나를 사용하여 Puppet OpsWorks Enterprise용 마스터에 온-프레미스 노드를 연결할 수 있습니다.

  • 노드에서 AWS SDK, AWS CLI 또는 AWS Tools for PowerShell 설치를 지원하는 경우 노드를 연결하기 위한 권장 방법으로, associateNode() API 호출을 실행할 수 있습니다. Puppet OpsWorks Enterprise용 마스터를 처음 만들 때 다운로드하는 스타터 키트에는 태그를 사용하여 노드에 역할을 할당하는 방법이 나와 있습니다. CSR에서 신뢰할 수 있는 정보를 지정하여 Puppet 마스터와 노드를 연결하면서 동시에 태그를 적용할 수 있습니다. 예를 들면 스타터 키트에 포함된 데모 제어 리포지토리는 pp_role 태그를 사용하여 역할을 Amazon EC2 인스턴스에 할당하도록 구성되어 있습니다. 태그를 신뢰할 수 있는 정보로서 CSR에 추가하는 방법에 대한 자세한 정보는 Puppet 플랫폼 설명서의 Extension requests (permanent certificate data) 단원을 참조하세요.

  • 노드에서 AWS 관리 또는 개발 도구를 실행할 수 없는 경우에도 관리되지 않는 Puppet Enterprise 마스터에 등록하는 것과 같은 방법으로 Puppet OpsWorks Enterprise용 마스터에 노드를 등록할 수 있습니다. 이 항목에서 설명한 것처럼 설치하면 Puppet OpsWorks Enterprise용 마스터로 CSR이 puppet-agent 전송됩니다. 권한 있는 Puppet 사용자는 CSR에 수동으로 서명하거나 Puppet 마스터에 저장된 autosign.conf 파일을 편집하여 CSR의 자동 서명을 구성할 수 있습니다. 자동 서명 구성 및 autosign.conf 편집에 대한 자세한 정보는 Puppet 플랫폼 설명서의 SSL 구성: 인증서 요청 자동 서명 단원을 참조하세요.

온프레미스 노드를 Puppet 마스터와 연결하거나 Puppet 마스터가 모든 CSR을 허용하게 하려면 Puppet Enterprise 콘솔에서 다음을 따라하세요. 동작을 제어하는 파라미터는 puppet_enterprise::profile::master::allow_unauthenticated_ca입니다.

중요

Puppet 마스터의 자체 서명된 CSR 또는 모든 CSR 허용은 보안상의 이유로 권장하지 않습니다. 기본적으로 인증되지 않은 CSR을 허용하면 Puppet 마스터로 하여금 세계에 접근 가능하게 합니다. 기본적으로 인증서 요청 업로드의 활성화는 Puppet 마스터를 DoS(서비스 거부) 공격에 취약하게 만듭니다.

  1. Puppet Enterprise 콘솔에 로그인.

  2. 구성을 선택하고, 분류 를 선택하고 PE 마스터를 선택하고 마지막으로 구성 탭을 선택하세요.

  3. 분류 탭에서 puppet_enterprise::profile::master 클래스를 찾으십시오.

  4. allow_unauthenticated_ca 파라미터의 값을 으로 설정합니다.

  5. 변경 내용을 저장합니다. 귀하의 변경 사항은 다음 Puppet 실행 때 적용됩니다. 변경 사항이 적용될 때까지(그리고 온프레미스 노드가 추가될 때까지) 30분을 기다리시거나 PE 콘솔의 실행 섹션에서 수동으로 Puppet을 실행하시면 됩니다.

추가 정보

Puppet Enterprise 서버 및 Puppet Enterprise 콘솔 기능에 사용하는 OpsWorks 방법에 대해 자세히 알아보려면 Learn Puppet 튜토리얼 사이트를 방문하십시오.