Ресурс aws_launch_configuration
Используйте ресурс проверки InSpec для тестирования свойств отдельной конфигурации запуска AWS.
Синтаксис
# Ensure that a launch configuration exists and has the correct key name
describe aws_launch_configuration('my-config') do
it { should exist }
its('key_name') { should be 'my-key-name' }
end
# You may also use hash syntax to pass the launch configuration name
describe aws_launch_configuration(launch_configuration_name: 'my-config') do
it { should exist }
end
Параметры
launch_configuration_name (обязательно)
Этот ресурс ожидает один параметр, launch_configuration_name, который однозначно идентифицирует конфигурацию запуска.
См. также документацию AWS по конфигурациям запуска.
Свойства
| Свойство | Описание |
|---|---|
| arn | Строка, представляющая ARN конфигурации запуска |
| image_id | Строка, представляющая AMI конфигурации запуска |
| instance_type | Строка, представляющая тип экземпляра конфигурации запуска |
| iam_instance_profile | Строка, представляющая профиль IAM для конфигурации запуска |
| key_name | Строка, представляющая пару ключей AWS для конфигурации запуска |
| security_groups | Массив строк идентификаторов групп безопасности, связанных с конфигурацией запуска |
| associate_public_ip_address | Булево значение, указывающее, настроена ли конфигурация запуска на установку публичного IP-адреса |
| user_data | Строка, содержащая данные пользователя, настроенные для конфигурации запуска |
| ebs_optimized | Булево значение, указывающее, оптимизирована ли конфигурация запуска для Amazon EBS |
| instance_monitoring | Строка, указывающая, установлено ли мониторинг экземпляра в detailed или basic
|
| spot_price | Число с плавающей точкой, обозначающее настроенную цену spot |
Примеры
Убедитесь, что конфигурация запуска использует правильный AMI
describe aws_launch_configuration('my-config') do
its('image_id') { should eq 'ami-012345'}
end
Проверьте тип экземпляра, используемого в конфигурации запуска
describe aws_launch_configuration('my-config') do
its('instance_type') { should eq 't3.micro'}
end
Убедитесь, что конфигурация запуска связана с правильным профилем IAM
describe aws_launch_configuration('my-config') do
its('iam_instance_profile') { should eq 'iam-profile' }
end
Убедитесь, что конфигурация запуска не устанавливает публичный IP-адрес
describe aws_launch_configuration('my-config') do
its('associate_public_ip_address') { should be false }
end
Убедитесь, что правильные данные пользователя установлены на запущенных экземплярах
describe aws_launch_configuration('my-config') do
its('user_data') { should include 'user-data' }
end
Сопоставители
Этот ресурс проверки InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на нашей странице сопоставителей.
exist
Управление пройдет, если describe вернёт хотя бы один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_launch_configuration('AnExistingLC') do
it { should exist }
end
describe aws_launch_configuration('ANonExistentLC') do
it { should_not exist }
end
Разрешения AWS
Вашему принципалу потребуется действие autoscaling:Describe* с эффектом Allow. Подробную документацию можно найти по адресу Действия, ресурсы и ключи условия для групп Amazon Auto Scaling и конфигураций запуска.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/aws_launch_configuration/