2014-05-20 5 views
5

boto로 보안 그룹 및 VPC를 생성하고 있습니다. 스크립트에서 요소를 만들고 태그하는 경우 요소가 아직 준비되지 않았기 때문에 오류가 계속 발생합니다. 수동 대기 상태로 설정할 수는 있지만 실제로 준비가되었는지 확인하기 위해 끌어 오기를 선호합니다. 상태가 available, running 또는 무엇이든을 수 있는지 확인하기 위해 좀 더 논리와 while 루프와보안 그룹 또는 기타 요소가 준비되어 있는지 AWS boto 확인

import boto.vpc 

v = boto.vpc.VPCConnection(
    region=primary_region, 
    aws_access_key_id=aws_access_key, 
    aws_secret_access_key=aws_secret_key) 

vpcs = v.get_all_vpcs() 
print vpcs[0].state 

다음 VPC의 또는 서브넷를 들어 내가 좋아하는 뭔가를 사용할 수 있습니다. 이것은 대부분의 vpc/aws 요소에서 잘 작동하지만, 보안 그룹과 같은 일부 요소는 get_all_security_groups 또는 이와 동등한 것으로 반환 될 때 상태 속성을 갖지 않습니다.

사람들이 이러한 요소를 사용할 준비가되었는지 어떻게 확인합니까?

답변

1

상태 속성이없는 요소의 경우 창의성을 발휘하고 부서지기 쉬운 코드를 작성해야합니다. 보안 그룹의 구체적인 예를 들어

, 내가 할 :

  1. 는 보안 그룹을 찾기 위해 필터 get_all_security_groups를 사용합니다.
  2. sg.rules_egress를 확인하십시오.
  3. 지수 적 백 오프로 재 시도하십시오.

오류가 발생하기 시작하면 다른 방법과 더 좋은 방법을 다시 살펴보고 지금까지 실패하지 않았습니다.