Spec-Zone.ru › Chef 18

Ресурс aws_subnets

[редактировать на GitHub]

Используйте ресурс проверки InSpec для аудита свойств некоторых или всех подсетей.

Подсети — это сети внутри VPC, которые могут иметь свой собственный блок IP-адресов и ACL. VPC охватывают все доступные зоны в AWS, в то время как подсеть в VPC может охватывать только одну доступную зону. Разделение IP-адресов позволяет обеспечить защиту в случае сбоя в одной доступной зоне.

Синтаксис

Блок ресурса использует необязательный фильтр для выбора группы подсетей и затем тестирует эту группу.

# 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

Контроль будет пройден, если describe вернёт как минимум один результат.

Используйте 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 действие с эффектом «Разрешено».

Подробную документацию см. на странице Действия, ресурсы и ключи условий для 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API