Existen varias opciones para configurar plantillas de nube de forma que admitan la administración de configuración basada en Puppet en recursos informáticos de AWS.
Administración de Puppet en AWS con nombre de usuario y contraseña
Ejemplo de... | YAML de blueprint de ejemplo |
---|---|
Autenticación de la configuración de nube en cualquier imagen de máquina de Amazon compatible. | 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 |
Autenticación de la configuración de nube en una imagen de máquina de Amazon personalizada con un usuario existente. | 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 |
Administración de Puppet en AWS con PublicPrivateKey generado.
Ejemplo de... | YAML de blueprint de ejemplo |
---|---|
Autenticación remoteAccess.authentication en AWS con acceso de generatedPublicPrivateKey. | 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 |