Ресурс aws_alb
Используйте ресурс аудита InSpec aws_alb для проверки свойств одного балансировщика нагрузки AWS Application Load Balancer (ALB).
Синтаксис
Убедитесь, что aws_alb существует
describe aws_alb('arn:aws:elasticloadbalancing') do
it { should exist }
end
describe aws_alb(load_balancer_arn: 'arn:aws:elasticloadbalancing') do
it { should exist }
end
Параметры
load_balancer_arn (обязательно)
Этот ресурс принимает один параметр — ALB Arn, который однозначно идентифицирует ALB. Его можно передать как строку или как load_balancer_arn: 'value' запись ключ-значение в хэше.
См. также документацию AWS по балансировщикам нагрузки.
Свойства
| Свойство | Описание |
|---|---|
| load_balancer_name | Имя балансировщика нагрузки. |
| load_balancer_addresses | Коллекция адресов балансировщика нагрузки. |
| canonical_hosted_zone_id | Идентификатор доменной зоны Amazon Route 53 для балансировщика нагрузки. |
| dns_name | DNS-имя балансировщика нагрузки. |
| availability_zones | Зоны доступности для балансировщика нагрузки. |
| security_groups | Группы безопасности для балансировщика нагрузки. Действительно только для балансировщиков нагрузки в VPC. |
| scheme | Тип балансировщика нагрузки. Действительно только для балансировщиков нагрузки в VPC. |
| state | Состояние балансировщика нагрузки. |
| subnets | Коллекция идентификаторов подсетей. |
| type | Тип балансировщика нагрузки. |
| vpc_id | Идентификатор VPC для балансировщика нагрузки. |
| zone_names | Коллекция имён зон доступности. |
| listeners | Коллекция слушателей для балансировщика нагрузки. |
| ssl_policies | Список SSL-политик, настроенных для слушателей балансировщика нагрузки. |
| external_ports | Список портов, настроенных для слушателей балансировщика нагрузки. |
| protocols | Список протоколов, настроенных для слушателей балансировщика нагрузки. |
Примеры
Проверка правильной настройки зон доступности ALB
describe aws_alb('arn::alb') do
its('zone_names.count') { should be > 1 }
its('zone_names') { should include 'us-east-2a' }
its('zone_names') { should include 'us-east-2b' }
end
Сопоставители
В этом ресурсе аудита InSpec нет специальных сопоставителей. Полный список доступных сопоставителей см. на странице Универсальные сопоставители.
exist
Управление будет выполнено, если описание возвращает по крайней мере один результат.
Используйте should_not для проверки того, что сущность не должна существовать.
describe aws_alb('AnExistingALB') do
it { should exist }
end
describe aws_alb('ANonExistentALB') do
it { should_not exist }
end
Разрешения AWS
У вашего Принципала должно быть разрешено действие elasticloadbalancing:DescribeLoadBalancers.
Подробная документация доступна по ссылке Аутентификация и контроль доступа к балансировщикам нагрузки
© 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_alb/