Ресурс aws_subnets
Используйте ресурс проверки aws_subnets InSpec для тестирования свойств некоторых или всех подсетей.
Подсети — это сети внутри VPC, которые могут иметь свой собственный блок IP-адресов и ACL. VPC охватывают все доступные зоны в AWS, в то время как подсеть в VPC может охватывать только одну доступную зону. Разделение IP-адресов позволяет защититься в случае сбоя в одной доступной зоне.
Синтаксис
Блок ресурса aws_subnets использует необязательный фильтр для выбора группы подсетей и затем тестирует эту группу.
# Test all subnets within a single vpc
describe aws_subnets.where(vpc_id: 'vpc-12345678') do
its('subnet_ids') { should include 'subnet-12345678' }
its('subnet_ids') { should include 'subnet-98765432' }
end
Параметры
Этот ресурс не ожидает никаких параметров.
См. также документацию AWS по подсетям.
Свойства
| Свойство | Описание |
|---|---|
| subnet_ids | Имя конфигурации запуска автоматического масштабирования, связанной с группой автоматического масштабирования |
| vpc_ids | Целое число, указывающее максимальное количество экземпляров в группе автоматического масштабирования |
| cidr_blocks | Целое число, указывающее минимальное количество экземпляров в группе автоматического масштабирования |
| availability_zone | Доступная зона, к которой принадлежит эта подсеть. |
| map_public_ip_on_launch | Логическое значение, указывающее, будет ли общедоступный IP-адрес автоматически назначаться экземплярам, запущенным в этой подсети. |
| states | Массив строк, соответствующих идентификаторам подсетей, связанных с группой автоматического масштабирования |
| entries | Предоставляет доступ к необработанным результатам запроса, которые могут обрабатываться как массив хешей. |
Примеры
Поиск всех подсетей в VPC
describe aws_subnets.where( vpc_id: 'vpc-12345678') do
its('subnet_ids') { should include 'subnet-12345678' }
its('subnet_ids') { should include 'subnet-98765432' }
end
Просмотр определенной подсети
describe aws_subnets.where(subnet_id: 'subnet-12345678') do
its('cidr_blocks') { should eq ['10.0.1.0/24'] }
end
Просмотр идентификаторов подсетей определенной VPC
describe aws_subnets.where( vpc_id: 'vpc-12345678') do
its('states') { should_not include 'pending' }
end
Просмотр идентификаторов VPC определенной подсети
describe aws_subnets.where( subnet_id: 'subnet-12345678') do
its('vpc_ids') { should include 'vpc-12345678' }
end
Сопоставители
Полный список доступных сопоставителей см. на нашей странице сопоставителей.
exist
Управление будет передано, если описание вернет по меньшей мере один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_subnets.where( <property>: <value>) do
it { should exist }
end
describe aws_subnets.where( <property>: <value>) do
it { should_not exist }
end
Разрешения AWS
Вашему принципалу потребуется действие ec2:DescribeSubnets с установленным значением Effect в Allow.
Подробную документацию можно найти по адресу Действия, ресурсы и ключи условий для Amazon EC2.
© 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_subnets/