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 |