Ресурс aws_rds_instance
Используйте ресурс аудита InSpec aws_rds_instance для проверки подробных свойств отдельной базы данных RDS.
RDS предоставляет вам доступ к возможностям сервера баз данных MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle или Amazon Aurora.
Синтаксис
Блок ресурса aws_rds_instance использует параметры ресурса для поиска экземпляра RDS и затем проверяет этот экземпляр. Если ни один экземпляр RDS не соответствует условиям поиска, ошибка не генерируется, но exists матчер вернёт false и все свойства будут nil. Если нескольким экземплярам RDS соответствует поиск (из-за нечётких параметров поиска), генерируется ошибка.
describe aws_rds_instance('test-instance-id') do
it { should exist }
end
# Can also use hash syntax
describe aws_rds_instance(db_instance_identifier: 'test-instance-id') do
it { should exist }
end
Параметры
db_instance_identifier (обязательно)
Этот ресурс принимает один параметр — предоставленный пользователем идентификатор экземпляра. Этот параметр не чувствителен к регистру. Он может быть передан либо как строка, либо как db_instance_identifier: 'value' пара ключ-значение в хэше.
См. также документацию AWS по RDS.
Свойства
Полный список свойств, которые можно проверить для экземпляра RDS, см. в объекте ответа AWS.
Примеры
Проверка используемого движка с экземпляром RDS
describe aws_rds_instance(db_instance_identifier: 'awsrds123') do
its ('engine') { should eq 'mysql' }
its ('engine_version') { should eq '5.6.37' }
end
Проверка выделенного хранилища для экземпляра RDS
describe aws_rds_instance(db_instance_identifier: 'awsrds123') do
its ('storage_type') { should eq 'gp2' }
its ('allocated_storage') { should eq 10 }
end
Проверка типа экземпляра и имени пользователя мастера
describe aws_rds_instance(db_instance_identifier: 'awsrds123') do
its ('master_username') { should eq 'db-maintain' }
its ('db_instance_class') { should eq 'db.t3.micro' }
end
Матчеры
Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров см. на нашей странице матчеров.
exist
Контроль пройдёт, если describe вернёт по крайней мере один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_rds_instance(db_instance_identifier: 'AnExistingRDS') do
it { should exist }
end
describe aws_rds_instance(db_instance_identifier: 'ANonExistentRDS') do
it { should_not exist }
end
Разрешения AWS
Для вашего принципала потребуется действие rds:DescribeDBInstances с эффектом Allow.
Подробная документация доступна по адресу Действия, ресурсы и ключи условий для Amazon RDS.
© 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_rds_instance/