왜 SSH가 아니라 SSM으로 배포하나요?
SSH로 배포하려면 서버의 SSH 포트를 밖에 열어 둬야 해요. GitHub Actions 러너는 IP가 매번 바뀌어서 사실상 넓게 열어야 하고, 서버 개인키도 GitHub에 맡겨야 해요. SSM은 서버의 에이전트가 AWS 쪽으로 먼저 연결해서 명령을 받아 오는 방식이라 배포 때문에 열어 둘 포트가 없어요. 권한은 OIDC로 받는 임시 권한이라 저장해 둔 키도 없고, "이 서버 한 대에 AWS-RunShellScript로만"으로 좁혀 두었고, 누가 언제 무슨 명령을 보냈는지 기록도 남아요. 솔직히 덧붙이면 SSH 포트는 하나 열려 있어요. Workbench로 DB를 보려고 쓰는 터널인데, 제 IP에서 제 키로만 들어오는 개인용 통로이고 자동 배포에는 SSH가 아예 끼지 않아요.
대신 떠안은 것 IAM 역할 두 개와 정책을 직접 이해해야 했어요. 처음 설정이 SSH보다 훨씬 오래 걸렸어요.
↑ 14단계로 돌아가기