Chef Automate 서버 생성 - AWS OpsWorks

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

Chef Automate 서버 생성

중요

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

AWS OpsWorks for Chef Automate 콘솔을 사용하거나 를 사용하여 Chef 서버를 만들 수 있습니다. AWS CLI

에서 Chef 오토메이트 서버를 생성하십시오. AWS Management Console

  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/opsworks/ 에서 AWS OpsWorks 콘솔을 엽니다.

  2. AWS OpsWorks 홈 페이지에서 Chef Automate로 OpsWorks 이동을 선택합니다.

    AWS OpsWorks 서비스 홈
  3. AWS OpsWorks for Chef Automate 홈페이지에서 Chef 오토메이트 서버 생성을 선택합니다.

    Chef Automate 서버 홈
  4. [이름, 리전, 유형 설정] 페이지에서 서버의 이름을 지정합니다. Chef 서버 이름은 40자 이하여야 하며 영숫자와 대시만 포함할 수 있습니다. 지원되는 리전을 선택한 다음 관리하려는 노드 수에 맞는 인스턴스 유형을 선택합니다. 필요한 경우 서버가 생성된 후 인스턴스 유형을 변경할 수 있습니다. 이 안내를 위해 미국 서부(오레곤) 리전에 m5.large 인스턴스 유형을 생성합니다. 다음을 선택합니다.

    이름, 리전 및 유형 설정 페이지
  5. 키 페어 이름을 지정하지 않으려면 서버 구성 페이지에서 SSH 키 드롭다운 목록의 기본 선택을 그대로 둡니다.

    SSH 키 선택 페이지
  6. 서버 엔드포인트 지정에서 기본값인 자동 생성된 엔드포인트 사용을 그대로 두고 서버가 사용자 지정 도메인에 있는 것을 원하지 않는 한 다음을 선택합니다. 사용자 지정 도메인을 구성하려면 다음 단계로 이동합니다.

    서버 엔드포인트 섹션 지정
  7. 사용자 지정 도메인을 사용하려면 서버 엔드포인트 지정에 있는 드롭다운 목록에서 사용자 지정 도메인 사용을 선택합니다.

    사용자 지정 도메인 사용
    1. FQDN(정규화된 도메인 이름)에서 FQDN을 지정합니다. 사용하고자 하는 도메인 이름을 보유해야 합니다.

    2. SSL 인증서에서 –––--BEGIN CERTIFICATE-----로 시작하고 –––--END CERTIFICATE-----로 끝나는 전체 PEM 형식의 인증서를 붙여넣습니다. SSL 인증서 주체는 이전 단계에서 입력한 FQDN과 일치해야 합니다.

    3. SSL 프라이빗 키에서 –––--BEGIN RSA PRIVATE KEY-----로 시작하고 –––--END RSA PRIVATE KEY-----로 끝나는 전체 RSA 프라이빗 키를 붙여넣습니다. SSL 프라이빗 키는 이전 단계에서 입력한 SSL 인증서의 퍼블릭 키와 일치해야 합니다. 다음을 선택합니다.

  8. 고급 설정 구성 페이지의 네트워크 및 보안 영역에서 VPC, 서브넷 및 하나 이상의 보안 그룹을 선택합니다. 다음은 VPC에 대한 요구 사항입니다.

    • VPC에는 하나 이상의 퍼블릭 서브넷이 있어야 합니다.

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

    • 퍼블릭 서브넷에서 퍼블릭 IP 자동 할당이 활성화되어야 합니다.

    AWS OpsWorks 사용하려는 보안 그룹, 서비스 역할 및 인스턴스 프로필이 없는 경우 대신 보안 그룹, 서비스 역할 및 인스턴스 프로필을 생성할 수 있습니다. 서버는 여러 보안 그룹의 멤버일 수 있습니다. 이 페이지를 나간 뒤에는 Chef 서버의 네트워크 및 보안 설정을 변경할 수 없습니다.

    네트워크 및 보안
  9. [시스템 유지 관리] 섹션에서 시스템 유지 관리를 시작하려는 날짜와 시간을 설정합니다. 시스템 유지 관리 중에는 서버가 오프라인 상태여야 하므로 정규 업무 시간 중 서버에 대한 수요가 낮은 시간을 선택하세요. 연결된 노드는 유지 관리가 완료될 때까지 pending-server 상태로 전환됩니다.

    유지 관리 기간은 필수 항목입니다. AWS Management Console AWS CLI, 또는 API를 사용하여 시작 날짜 및 시간을 나중에 변경할 수 있습니다.

    시스템 유지 관리
  10. 백업을 구성합니다. 기본적으로 자동 백업이 활성화되어 있습니다. 선호하는 빈도와 자동 백업을 시작할 시간을 설정한 다음 Amazon Simple Storage Service에 저장할 백업 세대 수를 설정합니다. 최대 30개의 백업이 보관되며, 최대 백업에 도달하면 가장 오래된 백업을 AWS OpsWorks for Chef Automate 삭제하여 새 백업을 위한 공간을 확보합니다.

    자동 백업
  11. (선택 사항) 태그에서 EC2 인스턴스, 탄력적 IP 주소, 보안 그룹, S3 버킷 및 백업과 같은 서버 및 관련 리소스에 태그를 추가합니다. AWS OpsWorks for Chef Automate 서버 태그 지정에 대한 자세한 내용은 을 참조하십시오. AWS OpsWorks for Chef Automate 리소스에서 태그 사용하기

  12. 고급 설정 구성을 마치면 [다음]을 선택합니다.

  13. [검토] 페이지에서 선택 사항을 검토합니다. 서버를 생성할 준비가 되면 [시작]을 선택합니다.

    Chef 서버 생성을 기다리는 동안 AWS OpsWorks 스타터 키트와 Chef Automate 대시보드 자격 증명을 다운로드하세요. Starter Kit를 사용하여 Chef 서버 구성 서버가 온라인 상태가 되어 이러한 항목을 다운로드할 때까지 기다리지 마십시오.

    서버 생성이 끝나면 AWS OpsWorks for Chef Automate 홈 페이지에서 Chef 서버를 확인할 수 있으며, 상태는 온라인입니다. 서버가 온라인 상태가 되면 https://your_server_name-random.region.opsworks-cm.io 형식의 URL을 가진 서버 도메인에서 Chef Automate 대시보드를 사용할 수 있습니다.

다음을 사용하여 Chef 오토메이트 서버를 만드십시오. AWS CLI

AWS CLI 명령을 실행하여 AWS OpsWorks for Chef Automate 서버를 만드는 것은 콘솔에서 서버를 만드는 것과 다릅니다. 사용할 기존 서비스 역할 및 보안 그룹을 지정하지 않을 경우 콘솔에서 자동으로 서비스 역할 및 보안 그룹을 AWS OpsWorks 생성합니다. 에서 보안 그룹을 지정하지 않으면 자동으로 보안 그룹을 생성할 AWS OpsWorks 수 있지만 서비스 역할이 자동으로 생성되지는 않으므로 명령의 일부로 서비스 역할 ARN을 제공해야 합니다. AWS CLIcreate-server 콘솔에서 Chef AWS OpsWorks Automate 서버를 만드는 동안 Chef Automate 스타터 키트와 Chef Automate 대시보드의 로그인 자격 증명을 다운로드합니다. 를 사용하여 서버를 생성할 때는 이 작업을 수행할 수 없으므로 새 AWS OpsWorks for Chef Automate AWS OpsWorks for Chef Automate 서버가 온라인 상태가 된 후 JSON 처리 유틸리티를 사용하여 create-server 명령 결과에서 로그인 자격 증명과 스타터 키트를 가져옵니다. AWS CLI또는 새 AWS OpsWorks for Chef Automate 서버가 온라인 상태가 된 후 콘솔에서 새 스타터 키트 및 새 로그인 자격 증명 집합을 생성할 수 있습니다.

로컬 컴퓨터에서 이 (가) 아직 실행되고 있지 않은 경우 AWS CLI, AWS 명령줄 인터페이스 사용 설명서의 설치 지침에 따라 다운로드 및 설치하십시오. AWS CLI 이 단원에서는 create-server 명령과 함께 사용할 수 있는 모든 파라미터를 다 설명하지는 않습니다. create-server 파라미터에 대한 자세한 내용은 AWS CLI 레퍼런스create-server를 참조하세요.

  1. 사전 요구 사항(특히 VPC 설정)을 완료하거나 사용할 기존 VPC가 있어야 합니다. Chef Automate 서버를 생성하려면 서브넷 ID가 필요합니다.

  2. 또는 OpenSSL을 사용하여 Chef 중심 키를 생성하고 나서 키를 로컬 컴퓨터의 안전하고 편리한 파일에 저장한다. 이 중심 키는 create-server 명령에서 제공하지 않는 경우 서버 생성 프로세스의 일부로서 자동으로 생성됩니다. 이 단계를 건너뛰려는 경우 create-server 명령의 결과에서 Chef Automate 중심 키를 대신 가져올 수 있습니다. Chef Automate 중심 키 값은 RSA 키 페어의 퍼블릭 절반이므로, 다음 명령을 사용하여 중심 키를 생성하도록 선택하는 경우 -pubout 파라미터를 포함해야 합니다. 자세한 정보는 6단계를 참조하세요.

    umask 077 openssl genrsa -out "pivotal" 2048 openssl rsa -in "pivotal" -pubout
  3. 서비스 역할과 인스턴스 프로필을 생성합니다. AWS OpsWorks 두 가지를 모두 생성하는 데 사용할 수 있는 AWS CloudFormation 템플릿을 제공합니다. 다음 AWS CLI 명령을 실행하여 서비스 역할 및 인스턴스 프로필을 생성하는 AWS CloudFormation 스택을 생성합니다.

    aws cloudformation create-stack --stack-name OpsWorksCMRoles --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml --capabilities CAPABILITY_NAMED_IAM
  4. 스택 생성을 AWS CloudFormation 완료한 후 계정에서 서비스 역할의 ARN을 찾아 복사합니다.

    aws iam list-roles --path-prefix "/service-role/" --no-paginate

    list-roles 명령의 결과에서 다음과 같은 서비스 역할 ARN을 찾아봅니다. 서비스 역할 ARN을 기록해 둡니다. 이러한 값은 Chef Automate 서버를 만드는 데 필요합니다.

    { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZQG6R22HC", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-ec2-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-ec2-role" }, { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZZZZZZ6QE", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-service-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-service-role" }
  5. 해당 계정에서 인스턴스 프로파일의 ARN을 찾아서 복사합니다.

    aws iam list-instance-profiles --no-paginate

    list-instance-profiles 명령의 결과에서 다음과 같은 인스턴스 프로파일 ARN을 찾아봅니다. 인스턴스 프로파일 ARN을 기록해 둡니다. 이러한 값은 Chef Automate 서버를 만드는 데 필요합니다.

    { "Path": "/", "InstanceProfileName": "aws-opsworks-cm-ec2-role", "InstanceProfileId": "EXAMPLEDC6UR3LTUW7VHK", "Arn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "Roles": [ { "Path": "/service-role/", "RoleName": "aws-opsworks-cm-ec2-role", "RoleId": "EXAMPLEE4STNUQG6R22HC", "Arn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] },
  6. 명령을 실행하여 AWS OpsWorks for Chef Automate create-server 서버를 생성합니다.

    • --engine 값은 ChefAutomate, --engine-model 값은 Single, 그리고 --engine-version 값은 12입니다.

    • 서버 이름은 AWS 계정 내, 각 지역 내에서 고유해야 합니다. 서버 이름은 문자로 시작해야 하며, 그 이후에는 문자, 숫자 또는 하이픈(-)을 사용할 수 있으며, 최대 길이는 40자입니다.

    • 4단계와 5단계에서 복사해 둔 인스턴스 프로파일 ARN 및 서비스 역할 ARN을 사용합니다.

    • 유효한 인스턴스 유형은 m5.large, r5.xlarge 또는 r5.2xlarge입니다. 인스턴스 유형의 사양에 대한 자세한 내용은 Amazon EC2 사용 설명서인스턴스 유형을 참조하세요.

    • --engine-attributes 파라미터는 선택 사항이며, 하나 또는 두 값을 모두 지정하지 않을 경우 서버 생성 프로세스에서 해당 값이 자동으로 생성됩니다. --engine-attributes를 추가할 경우 2단계에서 생성한 CHEF_AUTOMATE_PIVOTAL_KEY 값, CHEF_AUTOMATE_ADMIN_PASSWORD 또는 두 가지 모두를 지정합니다.

      CHEF_AUTOMATE_ADMIN_PASSWORD의 값을 설정하지 않으면 암호가 생성되어 create-server 응답의 일부로서 반환됩니다. 또한 콘솔에서 스타터 키트를 다시 다운로드할 수도 있습니다. 그러면 이 암호가 다시 생성됩니다. 암호 길이는 최소 8자이며, 최대 32자입니다. 암호는 문자, 숫자 및 특수 문자(!/@#$%^+=_)를 포함할 수 있습니다. 암호에는 소문자, 대문자, 숫자 및 특수 문자가 각각 1개 이상 포함되어야 합니다.

    • SSH 키 페어는 선택 사항이지만, Chef Automate 대시보드 관리자 암호를 재설정해야 하는 경우 Chef Automate 서버에 연결하는 데 도움이 될 수 있습니다. SSH 키 페어 생성에 대한 자세한 내용은 Amazon EC2 사용 설명서Amazon EC2 키 페어를 참조하세요.

    • 사용자 지정 도메인을 사용하려면 명령에 다음 파라미터를 추가합니다. 그렇지 않은 경우 Chef Automate의 서버 생성 프로세스가 자동으로 엔드포인트를 생성합니다. 사용자 지정 도메인을 구성하려면 세 가지 파라미터 모두가 필요합니다. 이러한 매개 변수를 사용하기 위한 추가 요구 사항에 대한 자세한 내용은 AWS OpsWorks CM API Reference를 참조하십시오 CreateServer.

      • --custom-domain - 서버의 선택적 퍼블릭 엔드포인트(예: https://aws.my-company.com).

      • --custom-certificate - PEM 형식의 HTTPS 인증서. 값은 자체 서명된 단일 인증서 또는 인증서 체인일 수 있습니다.

      • --custom-private-key - HTTPS를 사용하여 서버에 연결하기 위한 PEM 형식의 프라이빗 키. 프라이빗 키는 암호화해서는 안 되며 암호로 보호할 수 없습니다.

    • 매주 시스템 유지 관리가 필요합니다. 유효한 값은 DDD:HH:MM 형식으로 지정해야 합니다. 지정한 시간은 협정 세계시(UTC)로 표시됩니다. --preferred-maintenance-window의 값을 지정하지 않으면 기본값은 화요일, 수요일 또는 금요일의 임의 한 시간입니다.

    • --preferred-backup-window의 유효 값은 HH:MM(매일 백업) 또는 DDD:HH:MM(매주 백업) 형식 중 하나로 지정해야 합니다. 지정한 시간은 UTC 형식입니다. 기본값은 임의 일일 시작 시간입니다. 자동 백업을 옵트아웃하려면 대신에 --disable-automated-backup 파라미터를 추가합니다.

    • --security-group-ids에는 공백으로 구분하여 하나 이상의 보안 그룹 ID를 입력합니다.

    • --subnet-ids에는 서브넷 ID를 입력합니다.

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"pivotal_key","CHEF_AUTOMATE_ADMIN_PASSWORD":"password"}' --key-pair "key_pair_name" --preferred-maintenance-window "ddd:hh:mm" --preferred-backup-window "ddd:hh:mm" --security-group-ids security_group_id1 security_group_id2 --service-role-arn "service_role_ARN" --subnet-ids subnet_ID

    다음은 예입니다.

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "automate-06" --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.large" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" --preferred-backup-window "Sun:02:00" --security-group-ids sg-b00000001 sg-b0000008 --service-role-arn "arn:aws:iam::12345678912:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-300aaa00

    다음 예제에서는 사용자 지정 도메인을 사용하는 Chef Automate 서버를 만듭니다.

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-custom-domain-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-chef-automate-server.my-corp.com" \ --custom-certificate "-----BEGIN CERTIFICATE----- EXAMPLEqEXAMPLE== -----END CERTIFICATE-----" \ --custom-private-key "-----BEGIN RSA PRIVATE KEY----- EXAMPLEqEXAMPLE= -----END RSA PRIVATE KEY-----" \ --key-pair "amazon-test" \ --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00

    다음 예제에서는 Stage: ProductionDepartment: Marketing 태그를 추가하는 Chef Automate 서버를 만듭니다. AWS OpsWorks for Chef Automate 서버의 태그 추가 및 관리에 대한 자세한 내용은 이 AWS OpsWorks for Chef Automate 리소스에서 태그 사용하기 가이드의 내용을 참조하십시오.

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-test-chef-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --key-pair "amazon-test" \ --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  7. AWS OpsWorks for Chef Automate 새 서버를 만드는 데 약 15분이 소요됩니다. create-server 명령의 출력을 무시하거나 셸 세션을 닫지 마십시오. 다시 표시되지 않는 중요 정보가 출력에 포함되어 있을 수도 있기 때문입니다. create-server 결과에서 암호 및 스타터 키트를 가져오려면 다음 단계로 이동합니다.

    서버에서 사용자 지정 도메인을 사용하는 경우 create-server 명령 출력에서 Endpoint 속성 값을 복사합니다. 다음은 예입니다.

    "Endpoint": "automate-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  8. 키와 비밀번호를 AWS OpsWorks for Chef Automate 생성하도록 선택한 경우 jq와 같은 JSON 프로세서를 사용하여 create-server 결과에서 사용 가능한 형식으로 키와 비밀번호를 추출할 수 있습니다. jq를 설치한 후에는 다음 명령을 실행하여 중심 키, Chef Automate 대시보드 관리자 암호 및 스타터 키트를 추출할 수 있습니다. 4단계에서 고유의 중심 키 및 암호를 제공하지 않은 경우 추출한 중심 키 및 관리자 암호를 안전하면서 편리한 위치에 저장해야 합니다.

    #Get the Chef password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_ADMIN_PASSWORD") | .Value' #Get the Chef Pivotal Key: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_PIVOTAL_KEY") | .Value' #Get the Chef Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
  9. create-server명령 결과에서 스타터 키트를 추출하지 않은 경우 콘솔의 서버 속성 페이지에서 새 스타터 키트를 다운로드할 수도 있습니다. AWS OpsWorks for Chef Automate 새 스타터 키트를 다운로드하면 Chef Automate 대시보드 관리자 암호를 재설정합니다.

  10. 사용자 지정 도메인을 사용하지 않는 경우 다음 단계로 이동합니다. 서버에서 사용자 지정 도메인을 사용하는 경우 기업의 DNS 관리 도구에 CNAME 항목을 생성하여 사용자 지정 도메인이 7단계에서 복사한 AWS OpsWorks for Chef Automate 엔드포인트를 가리키도록 하십시오. 이 단계를 완료해야 사용자 지정 도메인을 사용하여 서버에 연결하거나 로그인할 수 있습니다.

  11. 서버 생성 프로세스가 완료되면 Starter Kit를 사용하여 Chef 서버 구성 단원을 진행합니다.