Я пытаюсь создать развертывание командной строки для моего файла войны на Elastic Beanstalk. Он работает до сих пор. Но моя последняя проблема заключается в том, чтобы открыть порт 3306 для моей базы данных RDS MySQL, которую мое приложение может подключиться к нему. Мой сценарий развертывания можно найти по адресу: https://github.com/sven-hornberg-1314-fhb/Web106/blob/master/deploy.pyОткрытый порт для MySQL Amazon RDS с python или CLI
Я использую boto 2.23.0, Python 2.7.5+, connRds (соединение с RDS работает), dbeb - это мое имя базы данных.
Сначала я создал группу EC2 сначала с моим vpcid. и удалось открыть порт 3306 для этой группы.
.create_security_group(name=group_name, description=descriptionval,vpc_id=vpcid)
Далее я создал группу RDS над моей связи RDS
connRds.create_dbsecurity_group(self.rdsSecurityGroup, 'rdsgroup')
Мой следующий шаг, чтобы обновить группу RDS со следующими строками кода. Во-первых, я получаю определенную группу безопасности EC2 и попытаться выполнить метод Авторизоваться
connRds = boto.rds.connect_to_region(self.region,
aws_access_key_id=self.awsAccessKey,
aws_secret_access_key=self.awsSecretKey
)
instances = connRds.get_all_dbinstances('dbeb')
db = instances[0]
rdsgp = connRds.get_all_dbsecurity_groups()[1]
myEC = connEc2.get_all_security_groups([self.ec2SecurityGroup])[0]
rdsgp.authorize(ec2_group=sgEc2)
я получаю несколько ошибок, а также с другим кодом я размещаете спустя, первое сообщение об ошибке:
<ErrorResponse xmlns="http://rds.amazonaws.com/doc/2013-05-15/">
<Error>
<Type>Sender</Type>
<Code>InvalidParameterValue</Code>
<Message>VPC DB Security Groups cannot be modified with this API version. Please use an API version between 2012-01-15 and 2012-10-31 to modify this group.</Message>
</Error>
<RequestId>e48f8443-82bc-11e3-9861-6bf67b1543ed</RequestId>
</ErrorResponse>
Мой другой попробуйте это изменить группу на объекте БД:
instances = connRds.get_all_dbinstances('dbeb')
db = instances[0]
db.modify(security_groups=[sgEc2])
Но приводит к другой ошибке: Невозможно применить членство DB групп безопасности к БД Instance в VPC. Вместо этого используйте группы безопасности VPC.
Но я думал, что создаю группу VPC, передав параметр vpc_id? Есть ли у вас какие-либо намеки или другие способы открыть порт по командной строке? (Он должен быть над API или CLI)
http://docs.aws.amazon.com/AmazonRDS/latest/APIReference /API_AuthorizeDBSecurityGroupIngress.html AuthorizeDBSecurityGroupIngress? есть ли эквивалентный метод в boto? – svenhornberg