1
필자는 boto로 자동화하기가 비교적 쉽고 Python의 boto API를 사용하여 AWS에 자동 확장 인프라를 설정하는 스크립트를 만들었습니다.AWS- boto API를 사용하여로드 밸런서 생성과 VPC 연결하기
그러나로드 균형 조정자 생성과 내 VPC를 연결할 수 없습니다. 전체에서
zoneStrings = 'eu-west-1a', 'eu-west-1b' #The availability zones of my VPC
elb_conn = boto.ec2.elb.connect_to_region('eu-west-1') #
lb_name = 'my-lb'
zones = zoneStrings
subnets = 'subnet-09519f50', 'subnet-9fa12dfa' #VPC subnets
ports= [(80, 80, 'http'), (443, 443, 'tcp')]
lb = elb_conn.create_load_balancer(lb_name, zones, subnets, ports)
오류는 다음과 같습니다 : 모든 통찰력이 크게 감사하겠습니다
Traceback (most recent call last):
File "./test.py", line 70, in <module>
lb = elb_conn.create_load_balancer(lb_name, zones, subnets, ports)
File "/usr/local/lib/python2.7/dist-packages/boto/ec2/elb/__init__.py", line 243, in create_load_balancer
params, LoadBalancer)
File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1207, in get_object
raise self.ResponseError(response.status, response.reason, body)
boto.exception.BotoServerError: BotoServerError: 400 Bad Request
<ErrorResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/">
<Error>
<Type>Sender</Type>
<Code>MalformedInput</Code>
</Error>
<RequestId>12659703-a021-11e4-9488-1f8ceceab6a1</RequestId>
</ErrorResponse>
다음 코드는 잘못된 입력 오류를 반환합니다.
도움을 주셔서 감사합니다. 다음은 lb = elb_conn.create_load_balancer (name = lb_name, zones = zones, subnets = subnets, listener = ports, security_groups = sg)를 사용했습니다. 흥미롭게도 문서 순서는 서브넷 이전의 리스너이므로 나에게 적합하지 않습니다. http://boto.readthedocs.org/en/latest/ref/elb.html#boto.ec2.elb.ELBConnection.create_load_balancer – AD26891
또한 존의 값은 none이거나 vpc 서브넷과 충돌합니다 . – AD26891