AWS TroubleShooting - 로컬 컴퓨터 시간이 중요할 줄이야

Jeongwon, Bae·2025년 7월 26일

개발 실황

목록 보기
6/6

🕒 EC2 콘솔 접속이 안돼요 ㅠㅠ

이상한 일이 하나 벌어졌다.

✅ 갑자기 되던 EC2 웹 연결이 안 된다?

AWS 콘솔에서 EC2 인스턴스를 띄워놓고,
“연결” → “브라우저 기반 SSH”를 눌렀다.
평소처럼 CLI 터미널이 브라우저에 떠야 하는데… 안 뜬다.

브라우저 연결은 아무 반응도 없고, CloudShell은 500 에러만 뱉는다.

심지어 EC2 대시보드에 진입하자마자 리소스 상태가 API 오류 투성이다.

처음엔 AWS 서비스가 일시적으로 고장났다고 생각했다.
그런데 이상한 건, 같은 계정으로 다른 로컬에서는 접속이 잘 된다는 것.

🧭 루트 계정도 안 됐는데… 남들은 된다고?

이 상황에서 의심은 점점 커졌다.

  • 루트 계정을 받아 직접 로그인해도 EC2 연결 실패

  • CloudShell은 “500 Internal Server Error”

  • EC2 콘솔은 "Signature not yet current" 경고 표시

  • 분명히 몇 개월 전에 내 로컬에서 작동했음

“왜 똑같은 계정인데, 내 컴퓨터에서만 안 될까?”

🔍 그러다 눈에 들어온 빨간 문장

EC2 대시보드 하단의 작고 붉은 경고창:

Signature not yet current:
20250726T121224Z is still later than 20250726T121539Z (+ 5 min.)

“응? 요청 시각이 서버보다 미래라고?”

이게 무슨 말인지 직감이 왔다.
혹시… 내 컴퓨터 시계가 너무 빨라진 건 아닐까?

🧠 SigV4는 시계가 맞지 않으면 ‘모든 요청’을 거부한다

AWS의 인증 방식인 SigV4(Signature Version 4) 는
요청에 포함된 타임스탬프를 기반으로 서명을 생성한다.

이때, 서버는 클라이언트 요청의 시간과 자신의 서버 시간을 비교해서
5분 이상 시간 차이가 나면 요청을 위조로 간주하고 무조건 거부한다.

✔️ 서버보다 너무 이른 요청 → "Signature not yet current"
✔️ 너무 늦은 요청 → "Signature has expired"

💥 결국 진짜 원인은 ‘빠른 내 로컬 시계’
알고 보니,
내 로컬은 동기화 안 하고 몇 달간 시간 설정을 방치해둔 사이 시계가 6~7분 정도 빨라진 상태였다.

처음 EC2 콘솔 연결이 안 되었던 것도,
CloudShell에서 credential 오류가 났던 것도,
SSM 세션이 안 붙었던 것도 모두 SigV4 서명 실패 때문이었다.

🔧 해결은 간단했다: 시계 맞추기

혹은 날짜 및 시간 설정에서 동기화를 해주자...ㅠㅠ

해결

이 문제 하나로 나는 1시간을 박았고,
심지어 AWS 콘솔이 먹통이라고 생각해 “루트 계정 요청”까지 했었다.

사실은 단순히 내 로컬 컴퓨터의 시계가 5분 이상 빨라서였을 뿐이다.

컴퓨터는 잘못 없다.

profile
Disruptive Challenger

0개의 댓글