퍼펫 OpsWorks 엔터프라이즈용 시작하기 - AWS OpsWorks

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

퍼펫 OpsWorks 엔터프라이즈용 시작하기

중요

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

OpsWorks Puppet Enterprise의 경우 에서 Puppet Enterprise 서버를 실행할 수 있습니다. AWS약 15분 안에 Puppet Enterprise 마스터를 프로비저닝할 수 있습니다.

2021년 5월 3일부터 퍼펫 엔터프라이즈의 OpsWorks 경우 일부 퍼펫 엔터프라이즈 서버 속성이 에 저장됩니다. AWS Secrets Manager자세한 정보는 다음과의 통합 AWS Secrets Manager을 참조하세요.

다음 안내를 통해 Puppet Enterprise에서 첫 번째 Puppet 마스터를 만들 수 있습니다. OpsWorks

사전 조건 

시작하기 전에 다음과 같은 사전 조건을 완료해야 합니다.

Puppet 개발 키트 설치

  1. Puppet 웹 사이트에서 로컬 컴퓨터의 운영 체제에 맞는 Puppet 개발 키트를 다운로드하세요.

  2. Puppet 개발 키트를 설치합니다.

  3. 로컬 컴퓨터의 PATH 변수에 Puppet 개발 키트를 추가합니다.

    • Linux 또는 macOS 운영 체제의 경우, Bash 셸에서 다음 명령을 실행하여 PATH 변수에 Puppet 개발 키트를 추가할 수 있습니다.

      echo 'export PATH=/opt/puppetlabs/pdk/bin/pdk:$PATH' >> ~/.bash_profile && source ~/.bash_profile
    • Windows 기반 운영 체제에서는 PowerShell 세션에서 다음 .NET Framework 명령을 사용하거나 시스템 속성에서 액세스할 수 있는 PATH 환경 변수 대화 상자에서 Puppet 개발 키트를 변수에 추가할 수 있습니다. 다음 명령을 실행하려면 관리자 권한으로 PowerShell 세션을 실행해야 할 수 있습니다.

      [Environment]::SetEnvironmentVariable("Path","new path value","Machine")

Puppet Enterprise 클라이언트 도구 설치

Puppet Enterprise(PE) 클라이언트 도구는 워크스테이션에서 Puppet Enterprise 서비스에 액세스할 수 있도록 해주는 명령줄 도구 세트입니다. 이들 도구는 서로 다른 다수의 운영 체제에 설치가 가능하며, Puppet을 사용하여 관리하고 있는 노드에 설치할 수도 있습니다. 도구에서 지원되는 운영 체제와 이들의 설치 방법에 대한 자세한 정보는 Puppet Enterprise 설명서의 Installing PE client tools 단원을 참조하세요.

Git 제어 리포지토리 설정

사용자가 Puppet 마스터를 시작할 수 있기 때문에 Puppet 모듈 및 클래스를 저장하고 변경-관리할 수 있도록 Git에 제어 리포지토리를 구성해야 합니다. Puppet Enterprise 마스터 서버를 시작하기 위한 단계에서 Git 리포지토리에 대한 URL과 리포지토리 액세스를 위한 HTTPS 또는 SSH 계정 정보가 필요합니다. Puppet Enterprise 마스터가 사용하게 될 제어 리포지토리를 설정하는 방법에 대한 자세한 정보는 Setting up a control repository 단원을 참조하세요. Puppet의 control-repo샘플 리포지토리에 대한 추가 정보에서도 제어 리포지토리 설정 지침을 찾을 수 있습니다. GitHub 제어 리포지토리의 구조는 다음과 유사합니다.

├── LICENSE ├── Puppetfile ├── README.md ├── environment.conf ├── hieradata │ ├── common.yaml │ └── nodes │ └── example-node.yaml ├── manifests │ └── site.pp ├── scripts │ ├── code_manager_config_version.rb │ ├── config_version.rb │ └── config_version.sh └── site ├── profile │ └── manifests │ ├── base.pp │ └── example.pp └── role └── manifests ├── database_server.pp ├── example.pp └── webserver.pp

를 사용하여 리포지토리를 설정합니다. CodeCommit

를 사용하여 새 저장소를 만들 수 CodeCommit 있습니다. 제어 리포지토리를 만드는 CodeCommit 데 사용하는 방법에 대한 자세한 내용은 이 선택 사항: Puppet r10k 원격 제어 AWS CodeCommit 리포지토리로 사용 가이드의 내용을 참조하십시오. Git을 시작하는 방법에 대한 자세한 내용은 AWS 시작하기를 참조하십시오. CodeCommit CodeCommit Puppet Enterprise 서버를 리포지토리로 승인하려면 AWSCodeCommitReadOnly 정책을 IAM 인스턴스 프로필 OpsWorks 역할에 연결하십시오.

VPC 설정

Puppet OpsWorks Enterprise용 마스터는 Amazon Virtual Private Cloud에서 작동해야 합니다. 이 서버를 기존 VPC에 추가하거나 기본 VPC를 사용하거나 새 VPC를 생성해 서버를 포함시킬 수 있습니다. Amazon VPC 및 새 VPC 생성 방법에 대한 자세한 내용은 Amazon VPC 시작하기 안내서를 참조하세요.

자체 VPC를 생성하거나 기존 VPC를 사용하는 경우, VPC는 다음과 같은 설정 또는 속성을 가져야 합니다.

  • VPC에는 서브넷이 최소 하나 이상 있어야 합니다.

    Puppet OpsWorks Enterprise용 마스터가 공개적으로 액세스할 수 있게 하려면 서브넷을 퍼블릭으로 설정하고 퍼블릭 IP 자동 할당을 활성화하십시오.

  • [DNS 확인]이 활성화되어야 합니다.

  • 서브넷에서 [퍼블릭 IP 자동 할당]을 활성화합니다.

VPC를 만들거나 VPC에서 인스턴스를 실행하는 데 익숙하지 않은 경우, 다음 AWS CLI 명령을 실행하여 제공된 AWS CloudFormation 템플릿을 사용하여 단일 퍼블릭 서브넷으로 VPC를 만들 수 있습니다. AWS OpsWorks 를 사용하고 싶다면 템플릿을 콘솔에 AWS Management Console업로드할 수도 있습니다. AWS CloudFormation

aws cloudformation create-stack --stack-name OpsWorksVPC --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-vpc.yaml

EC2 키 페어 설정(선택 사항)

Puppet 서버의 일반적인 관리에는 SSH 연결이 필요하지 않거나 권장되지 않습니다. AWS Management Console 및 AWS CLI 명령을 사용하여 Puppet 서버에서 많은 관리 작업을 수행할 수 있습니다.

Puppet Enterprise 웹 기반 콘솔에서 로그인 암호를 변경하려는 경우에는 SSH를 사용하여 서버에 연결하려면 EC2 키 페어가 필요합니다. 기존 키 페어를 사용하거나 새 키 페어를 생성할 수 있습니다. 새 EC2 키 페어 생성 방법에 대한 자세한 정보는 Amazon EC2 키 페어를 참조하세요.

EC2 키 페어가 필요하지 않다면 곧 바로 Puppet Enterprise 마스터를 생성할 수 있습니다.

사용자 지정 도메인 사용을 위한 사전 조건(선택 사항)

고유 도메인에 Puppet Enterprise 마스터를 설정하여 사용자 지정 도메인에서 퍼블릭 엔드포인트를 지정하여 서버의 엔드포인트로 사용할 수 있습니다. 사용자 지정 도메인을 사용하는 경우 이 단원에서 자세히 설명하는 것과 같이 다음이 모두 필요합니다.

사용자 지정 도메인 설정

사용자 지정 도메인에서 Puppet Enterprise 마스터를 실행하려면 서버의 퍼블릭 엔드포인트(예: https://aws.my-company.com)가 필요합니다. 사용자 지정 도메인을 지정하는 경우 이전 단원에서 설명한 것과 같이 인증서와 프라이빗 키를 제공해야 합니다.

서버를 만든 후 서버에 액세스하려면 기본 설정 DNS 서비스에 CNAME DNS 레코드를 추가합니다. 이 레코드는 사용자 지정 도메인을 Puppet 마스터 생성 프로세스에 의해 생성된 엔드포인트(서버 Endpoint의 속성 값)을 가리켜야 합니다. 서버가 사용자 지정 도메인을 사용하는 경우 생성된 Endpoint 값을 사용하여 서버에 액세스할 수 없습니다.

인증서 가져오기

사용자 지정 도메인에 Puppet 마스터를 설정하려면 PEM 형식의 HTTPS 인증서가 필요합니다. 이는 자체 서명된 단일 인증서 또는 인증서 체인일 수 있습니다. Puppet Enterprise 마스터 생성 워크플로를 완료할 때 이 인증서를 지정하는 경우 사용자 지정 도메인과 프라이빗 키도 제공해야 합니다.

인증서 값에 대한 요구 사항은 다음과 같습니다.

  • 자체 서명된 사용자 지정 인증서 또는 전체 인증서 체인을 제공할 수 있습니다.

  • 인증서는 유효한 X509 인증서 또는 PEM 형식의 인증서 체인이어야 합니다.

  • 인증서는 업로드 시점에 유효해야 합니다. 유효 기간이 시작되기 전(인증서의 NotBefore 날짜) 또는 만료된 후(인증서의 NotAfter 날짜)에는 인증서를 사용할 수 없습니다.

  • 인증서의 일반 이름 또는 SAN(주체 대체 이름)이 있는 경우 사용자 지정 도메인 값과 일치해야 합니다.

  • 인증서는 사용자 지정 프라이빗 키 필드의 값과 일치해야 합니다.

프라이빗 키 가져오기

사용자 지정 도메인에 Puppet 마스터를 설정하려면 HTTPS를 사용하여 서버에 연결하기 위한 PEM 형식의 프라이빗 키가 필요합니다. 프라이빗 키는 암호화해서는 안 되며 암호로 보호할 수 없습니다. 사용자 지정 프라이빗 키를 지정하는 경우 사용자 지정 도메인과 인증서도 제공해야 합니다.