기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EC2 API의 최종 일관성
Amazon EC2 PI를 지원하는 시스템의 분산 특성으로 인해 API는 결과적 일관성 모델을 따릅니다. 이는 Amazon EC2 리소스에 영향을 미치는 API 명령을 실행한 결과가 모든 후속 명령에 즉시 표시되지 않을 수 있음을 의미합니다. 이전 API 명령 바로 다음에 API 명령을 실행할 때는 이 점을 염두에 두어야 합니다.
최종 일관성은 리소스 관리 방식에 영향을 미칠 수 있습니다. 예를 들어, 명령을 실행하여 리소스를 생성하면 결국 다른 명령에 표시됩니다. 즉, 방금 생성한 리소스를 수정하거나 설명하는 명령을 실행하면 ID가 시스템 전체에 전파되지 않았을 수 있으며 리소스가 존재하지 않는다고 응답하는 오류가 발생합니다.
최종 일관성을 관리하려면 다음을 수행할 수 있습니다.
-
명령을 실행하여 수정하기 전에 리소스의 상태를 확인합니다. 이전 명령이 시스템에 전파될 시간이 충분하도록 지수 백오프 알고리즘을 사용하여 적절한
Describe명령을 실행합니다. 이렇게 하려면 몇 초의 대기 시간으로 시작하여 몇 분까지 점진적으로 증가하는Describe명령을 반복적으로 실행합니다. -
Describe명령이 정확한 응답을 반환하더라도 후속 명령 사이에 대기 시간을 추가합니다. 몇 초의 대기 시간으로 시작하는 지수 백오프 알고리즘을 적용하고 몇 분까지 점진적으로 증가시킵니다.
최종 일관성 오류 예제
다음은 최종 일관성의 결과로 발생할 수 있는 오류 코드의 예제입니다.
-
InvalidInstanceID.NotFoundRunInstances명령을 성공적으로 실행한 다음,RunInstances의 응답에 제공된 인스턴스 ID를 사용하여 다른 명령을 즉시 실행하면InvalidInstanceID.NotFound오류가 반환될 수 있습니다. 이는 인스턴스가 존재하지 않는다는 의미는 아닙니다.영향을 받을 수 있는 특정 명령은 다음과 같습니다.
-
DescribeInstances: 인스턴스의 실제 상태를 확인하려면 지수 백오프 알고리즘을 사용하여 이 명령을 실행합니다. -
TerminateInstances: 인스턴스의 상태를 확인하려면 먼저 지수 백오프 알고리즘을 사용하여DescribeInstances명령을 실행합니다.중요
TerminateInstances실행 후InvalidInstanceID.NotFound오류가 발생한다고 해서 인스턴스가 종료되거나 종료될 것임을 의미하지는 않습니다. 인스턴스가 계속 실행 중일 수 있습니다. 따라서 먼저DescribeInstances를 사용하여 인스턴스의 상태를 확인하는 것이 중요합니다.
-
-
InvalidGroup.NotFoundCreateSecurityGroup명령을 성공적으로 실행한 다음,CreateSecurityGroup의 응답에 제공된 보안 그룹 ID를 사용하여 다른 명령을 즉시 실행하면InvalidGroup.NotFound오류가 반환될 수 있습니다. 보안 그룹의 상태를 확인하려면 지수 백오프 알고리즘을 사용하여DescribeSecurityGroups명령을 실행합니다. -
InstanceLimitExceeded지정된 인스턴스 유형에 대해 현재 인스턴스 한도가 허용하는 것보다 많은 인스턴스를 요청했습니다. 인스턴스가 종료된 후 잠시 동안 인스턴스 한도에 포함되므로 인스턴스를 빠르게 시작하고 종료하는 경우 예기치 않게 한도에 도달할 수 있습니다.