aws-cli나 aws-sdk가 움직이지 않을 때는 시간이 올바른지 확인한다(원인과 대응)

1385 단어 aws-sdkaws-cliAWS
VirtualBox 등의 가상화 환경에서 aws 명령(aws-cli)이나 aws-api 라이브러리를 사용한 시스템에서 AWS의 각종 API에 액세스하면 다음과 같이 오류가 표시될 수 있습니다.
An error occurred (RequestTimeTooSkewed) when calling the ListBuckets operation: The difference between the request time and the current time is too large.

특히 노트북 PC의 경우에는 그 현상이 현저하게 발생하는 경향이 있습니다.

원인



노트북 PC에서 VM을 부팅하는 동안 잠자기(서스펜드, 최대 절전 모드)를 수행하면 잠자기 복귀 후 시간 차이가 발생할 수 있습니다.

수면 복귀 후 시간이 자동으로 보정되지 않을 수 있으므로 다음 중 하나가 필요합니다.

A) 수동으로 시간 보정
B) VM을 일단 정지(셧다운)하고 나서 재시작

대응



여기에서는 A의 방법을 바탕으로 설명을 진행합니다.

1. 시간이 올바른지 확인



Linux(VM) 날짜 및 시간을 확인합니다.
# date
Thu Apr 18 00:05:58 JST 2019

그런 다음 호스트 OS의 날짜와 시간을 확인합니다.


이상을 보면 호스트 OS와 VM에서 다른 시간을 보여주는 것을 알 수 있습니다.

2. 시간 맞추기



ntpdate로 시간을 맞춥니다. (아래는 NICT의 타임 서버를 사용하는 예입니다)
# ntpdate ntp.nict.jp

위 명령을 실행하면 다음과 같이 결과가 반환되고 시간이 보상됩니다.
18 Apr 01:21:42 ntpdate[15103]: step time server 133.243.238.243 offset 4325.436029 sec

3. aws 명령 실행



aws 명령으로 어떠한 실행을 실시해, 의도한 결과가 돌려주면 해결이 됩니다.

좋은 웹페이지 즐겨찾기