매일 쓰는 로그인, IAM 사용자와 Identity Center와 aws login
AWS 튜토리얼은 IAM 사용자의 액세스 키를 명령줄 설정에 붙여 넣으라고 하지만, 액세스 키는 지울 때까지 쓰이는 장기 자격 증명이다. 사람이 매일 쓰는 로그인은 Identity Center나 aws login처럼 시간이 정해진 임시 자격 증명을 받는 쪽으로 정하고, 무료 플랜 계정에서는 조직이 생기는 순간 플랜이 바뀐다는 점을 함께 따진다.
클라우드에 관한 28개의 기록을 모았습니다.
AWS 튜토리얼은 IAM 사용자의 액세스 키를 명령줄 설정에 붙여 넣으라고 하지만, 액세스 키는 지울 때까지 쓰이는 장기 자격 증명이다. 사람이 매일 쓰는 로그인은 Identity Center나 aws login처럼 시간이 정해진 임시 자격 증명을 받는 쪽으로 정하고, 무료 플랜 계정에서는 조직이 생기는 순간 플랜이 바뀐다는 점을 함께 따진다.
2025년 7월 15일 이후 만든 AWS 계정은 무료 플랜이나 유료 플랜으로 시작한다. 무료 플랜은 요금을 받지 않는 대신 6개월이 차거나 크레딧이 바닥나는 날 끝나고, 그날 계정이 닫힌다. 90일 안에 유료로 바꾸지 않으면 자원과 데이터가 지워지니, 실제 사용자가 쓸 서비스는 처음부터 유료 플랜 계정에 둔다.
AWS 계정을 만들 때 쓴 이메일과 비밀번호는 결제 정보까지 모든 것에 닿는 루트 사용자가 된다. 루트는 없앨 수 없어서 MFA로 잠가 두고, 피싱에 강한 패스키를 쓰고, 장치를 모두 잃었을 때 돌아올 길을 미리 챙긴다.
AWS에는 서브넷을 퍼블릭으로 켜는 설정이 따로 없다. 경로표에 인터넷 게이트웨이로 가는 줄이 있으면 퍼블릭이고, 그 안의 서버가 실제로 인터넷과 통신하려면 공인 주소도 있어야 한다.
캐시가 요청 대부분을 받아 주면 데이터베이스는 한가해 보인다. 그 한가함은 캐시가 처리하고 남은 몫이어서, 캐시가 비는 순간 요청 전체가 데이터베이스로 몰린다.
RDS에서 백업으로 되돌리면 지금 쓰는 데이터베이스가 되감기지 않고 새 DB 인스턴스가 생긴다. 그래서 연결 주소를 옮기고, 설정 묶음을 다시 붙이고, 복구 직후의 느린 성능까지 따로 챙겨야 한다.
S3의 저렴한 스토리지 클래스에는 최소 보관 기간과 꺼내는 요금이 붙는다. 곧 지울 데이터나 작은 파일, 자주 다시 읽는 데이터는 옮기는 쪽이 오히려 비쌀 수 있다.
RDS 읽기 복제본은 원본의 변경을 비동기로 받는다. 저장에 성공했다는 응답을 받고 곧바로 복제본에서 읽으면, 아직 반영되지 않은 예전 값이 보일 수 있다.
DynamoDB는 파티션 키 값으로 데이터를 여러 파티션에 나눠 저장하고, 파티션마다 처리 한도가 따로 있다. 요청이 한 값에 몰리면 테이블 전체 용량이 넉넉해도 거절되는데, 이 키는 테이블을 만든 뒤에 바꿀 수 없다.
AWS 청구서 페이지와 Cost Explorer는 서로 다른 데이터를 보기 때문에 같은 달 비용이 다르게 나올 수 있다. 현금 기준과 상각 기준, 서비스를 묶는 방식, 갱신 시점과 반올림에서 차이가 생긴다.
AWS 청구서는 서비스별로 묶여 있어서 프로젝트별 비용을 보려면 비용 배분 태그가 필요하다. 태그를 자원에 붙이는 일과 청구 화면에서 켜는 일이 따로 있고, 붙이기 전 기간은 소급으로도 메울 수 없다.
SCP는 구성원 계정이 할 수 있는 일의 상한만 정하고 권한을 주지는 않는다. 실제 권한은 IAM 정책으로 따로 줘야 하고, 조직을 만든 관리 계정에는 그 상한조차 걸리지 않는다.
WAF 규칙을 처음부터 Block으로 켜면 정상 요청까지 막힐 수 있고, 막힌 요청은 애플리케이션 로그에 남지 않는다. 그래서 새 규칙은 먼저 Count로 붙여 어떤 요청이 걸리는지 확인한 뒤에 막는다.
Inspector를 켜면 취약점 목록이 심각도와 함께 길게 쌓인다. 고칠 순서는 바깥에서 닿는 경로가 있는지, 알려진 공격 코드와 고친 버전이 있는지를 함께 보고 정하고, 목록이 비어 있으면 검사가 됐는지부터 확인한다.
CloudTrail은 계정을 만들 때부터 켜져 있지만, 기본으로 볼 수 있는 것은 자원과 설정을 다룬 기록 90일치다. 파일을 읽은 기록과 그보다 오래된 기록은 미리 설정해 두지 않으면 나중에 만들 수 없다.
ECS 서비스에 자동 확장을 걸면 태스크는 빨리 늘어나고 천천히 줄어든다. 목표 추적 정책이 늘릴 때는 서두르고 줄일 때는 보수적으로 움직이도록 만들어져 있고, 줄이는 순간에는 처리 중인 요청이 끊길 수 있기 때문이다.
RDS는 보안 패치를 몇 달에 한 번씩 유지보수 창에서 적용하고, 그때 데이터베이스가 잠시 내려가거나 대기 인스턴스로 넘어간다. 데이터베이스가 돌아와도 앱이 끊긴 연결과 옛 주소를 붙들고 있으면 장애가 이어진다.
사전 서명 URL은 만료 전까지 몇 번이든 쓸 수 있고, 만든 쪽의 자격 증명보다 오래 살지 못한다. 누가 보내는지, 무엇이 올라오는지는 서명과 상관없이 서비스가 따로 확인해야 한다.
GitHub Actions에서 OIDC를 쓰면 저장소에 AWS 액세스 키를 두지 않고도 배포할 수 있다. 대신 AWS가 어떤 저장소의 어떤 작업을 믿을지 역할의 신뢰 조건에 적어야 하고, 옛 키는 따로 찾아 지워야 한다.
CloudWatch 알람에는 정상과 경보 말고 데이터 부족이라는 상태가 하나 더 있다. 오류가 0건인 것과 오류 지표가 아예 오지 않는 것은 다르고, 값이 빈 구간을 어떻게 볼지는 지표마다 정해야 한다.
ECS 태스크 정의에는 역할을 넣는 칸이 두 개 있다. 실행 역할은 이미지와 비밀 값, 로그를 다루는 ECS 에이전트가 쓰고, 태스크 역할은 컨테이너 안의 앱 코드가 쓴다.
보안 그룹은 허용한 연결의 응답을 기억해서 통과시키지만, 네트워크 ACL은 패킷을 하나하나 따로 판단한다. 그래서 네트워크 ACL에서는 응답이 돌아가는 임시 포트까지 규칙으로 열어야 한다.
ALB는 헬스 체크를 통과한 대상에만 요청을 보내지만, 대상이 모두 비정상이면 전부에게 다시 보낸다. 대상을 뺄 때 진행 중인 요청을 기다리는 시간은 배포와 롤백 속도에도 그대로 걸린다.
ECS 서비스는 원하는 개수의 태스크를 계속 띄워 두고, 새 버전으로 바꿀 때는 최소 정상 비율과 최대 비율 안에서 조금씩 교체한다. 기본값은 새 태스크를 먼저 띄우는 방식이라 남는 자원이 없으면 배포가 멈춘다.
AI 모델을 직접 돌리려면 모델이 GPU 메모리에 들어가야 한다. GPU가 AI 계산에 쓰이는 이유부터 인스턴스를 고를 때 볼 사양, 모델을 바꾸는 동안 생기는 빈 구간을 대체 경로로 메우는 방법까지 이어서 설명한다.
EC2 인스턴스에는 퍼블릭 IP와 프라이빗 IP가 함께 붙는다. 두 주소가 각각 어디서 통하는지, 사설 IP만 가진 서버가 NAT을 거쳐 밖과 통신하는 방식, VPC 대역을 고를 때 주의할 점을 다룬다.
클라우드를 쓰면 하드웨어 고장과 전력, 회선은 제공자가 맡지만 운영체제 패치와 데이터, 권한 설정은 여전히 사용자 몫이다. 요금이 유리한지는 작업량이 시간에 따라 어떻게 오르내리는지에 달려 있다.
AWS에서 캐시를 만들려고 하면 엔진 목록에 Redis OSS와 Valkey가 나란히 나온다. Redis가 무슨 일을 하는지, 2024년 라이선스 변경 뒤 Valkey가 어떻게 갈라져 나왔는지, 고르거나 옮길 때 무엇을 확인하는지 정리한다.