AWS 계산 리소스에서 Puppet 기반 구성 관리를 지원하는 클라우드 템플릿을 구성하기 위한 몇 가지 옵션이 있습니다.
사용자 이름 및 암호를 사용하여 AWS에서 Puppet 관리
| 예시... | 샘플 Blueprint YAML |
|---|---|
| 지원되는 모든 Amazon 시스템 이미지의 클라우드 구성 인증 | inputs:
username:
type: string
title: Username
default: puppet
password:
type: string
title: Password
encrypted: true
default: VMware@123
resources:
Webserver:
type: Cloud.AWS.EC2.Instance
properties:
flavor: small
image: centos
cloudConfig: |
#cloud-config
ssh_pwauth: yes
chpasswd:
list: |
${input.username}:${input.password}
expire: false
users:
- default
- name: ${input.username}
lock_passwd: false
sudo: ['ALL=(ALL) NOPASSWD:ALL']
groups: [wheel, sudo, admin]
shell: '/bin/bash'
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDytVL+Q6/+vGbmkXoRpX [email protected]
runcmd:
- echo "Defaults:${input.username} !requiretty" >> /etc/sudoers.d/${input.username}
Puppet_Agent:
type: Cloud.Puppet
properties:
provider: PEOnAWS
environment: production
role: 'role::linux_webserver'
host: '${Webserver.*}'
osType: linux
username: '${input.username}'
password: '${input.password}'
useSudo: true |
| 기존 사용자를 사용하여 사용자 지정 Amazon 시스템 이미지의 클라우드 구성 인증 | inputs:
username:
type: string
title: Username
default: puppet
password:
type: string
title: Password
encrypted: true
default: VMware@123
resources:
Webserver:
type: Cloud.AWS.EC2.Instance
properties:
flavor: small
image: centos
cloudConfig: |
#cloud-config
runcmd:
- sudo sed -e 's/.*PasswordAuthentication no.*/PasswordAuthentication yes/' -i /etc/ssh/sshd_config
- sudo service sshd restart
Puppet_Agent:
type: Cloud.Puppet
properties:
provider: PEOnAWS
environment: production
role: 'role::linux_webserver'
host: '${Webserver.*}'
osType: linux
username: '${input.username}'
password: '${input.password}'
useSudo: true |
생성된 PublicPrivateKey를 사용하여 AWS에서 Puppet 관리
| 예제... | 샘플 Blueprint YAML |
|---|---|
| generatedPublicPrivateKey 액세스를 사용하여 AWS에서 remoteAccess.authentication 인증 | inputs: {}
resources:
Machine:
type: Cloud.AWS.EC2.Instance
properties:
flavor: small
imageRef: ami-a4dc46db
remoteAccess:
authentication: generatedPublicPrivateKey
Puppet_Agent:
type: Cloud.Puppet
properties:
provider: puppet-BlueprintProvisioningITSuite
environment: production
role: 'role::linux_webserver'
host: '${Machine.*}’
osType: linux
username: ubuntu
useSudo: true
agentConfiguration:
runInterval: 15m
certName: ‘${Machine.address}'
useSudo: true |