8장. AWS 시작 — 계정·IAM·리전·비용
2부를 시작하며. 1부에서 우리는 라이브 투표 서비스를 로컬에서 직접 만들고(React 프론트 + Express API + PostgreSQL), 그것을 Docker라는 도구로 "어디서든 똑같이 도는 상자(컨테이너)"에 담아 내 노트북에서 실행하는 데까지 왔습니다. 2부의 목표는 그 상자를 내 노트북 밖, 진짜 인터넷 서버로 옮기는 것입니다. 그 서버를 빌려 쓸 곳이 바로 AWS입니다.
AWS는 화면이 방대해서 처음엔 압도됩니다. 하지만 이 책에서 쓸 부분은 정해져 있으니, 길을 잃지 않도록 이 8장에서 먼저 전체 지도를 그리고 갑니다. 이 장에서 실제로 서버를 만들지는 않습니다. AWS에 발을 들이는 준비, 즉 계정을 만들고 · 리전을 서울로 맞추고 · 실습용 사용자와 열쇠(액세스 키)를 만들고 · 요금 안전장치를 켜는 것까지가 목표입니다. 서두르지 말고 하나씩 따라오세요.
콘솔 화면은 조금씩 다를 수 있습니다 AWS는 화면(콘솔)을 자주 개편합니다. 이 책의 버튼 위치나 문구가 실제와 조금 다를 수 있는데, 큰 흐름은 같습니다. 찾는 항목이 안 보이면 8.2에서 배울 상단 검색창에 이름을 입력하면 대부분 바로 찾을 수 있습니다.
[지금 여기]
우리는 22단계를 거쳐 "라이브 투표 서비스"를 만들고, 컨테이너에 담아, AWS 클라우드에 배포하는 여정을 지나고 있습니다. 아래가 그 전체 지도이고, 지금은 8단계 — AWS에 처음 발을 들이는 자리입니다.
- 1장개발 환경 준비 (터미널 / Node.js / Git / GitHub / VS Code / Claude Code)
- 2장Claude Code 사용법 익히기
- 3장무엇을 만들지 기획 (라이브 투표 서비스)
- 4장로컬에서 서비스 만들기 (React + Express + PostgreSQL)
- 5장Docker 개념
- 6장Dockerfile 작성
- 7장컨테이너 빌드·실행
- 8장AWS 시작 (계정 / IAM / 리전 / 비용)
- 9장이미지 태깅
- 10장ECR에 이미지 올리기
- 11장VPC 네트워크 구성
- 12장RDS 데이터베이스 생성
- 13장SSM 터널로 RDS 초기화
- 14장ECS Fargate + ALB로 배포 (기본 완성)
- 15장CI/CD (GitHub Actions)
- 16장IaC (Terraform)
- 17장배포 자동화 연결
- 18장현업 운영 구조 이해
- 19장무중단 배포
- 20장신규 버전 배포 & 롤백
- 21장(심화) 프론트를 Vercel로 분리 배포
- 22장마무리 (회고 + 리소스 삭제)
- 방금 끝낸 것: 7장에서
docker compose로 프론트 + API + DB 컨테이너를 한꺼번에 띄워, 내 노트북 브라우저에서 투표 서비스가 도는 것을 확인했습니다. 여기까지는 전부 "내 컴퓨터 안"의 일이었습니다. - 이번 장에서 하는 것: AWS 계정을 만들어 콘솔에 로그인하고, 리전을 서울로 통일하고, 실습에 쓸 IAM 사용자와 액세스 키를 발급하고, 요금 안전장치(예산 알림)를 켭니다.
이번 장에서 완성되는 것
한 문장으로: AWS 콘솔에 로그인해 리전을 서울로 맞추고, 실습용 IAM
사용자 vote-admin과 그 액세스 키를 손에 쥐게 됩니다.
이렇게 되면 성공입니다:
- 콘솔 오른쪽 위에
서울또는ap-northeast-2가 표시된다. - IAM의 사용자 목록에
vote-admin이 보인다. vote-admin의 액세스 키 ID와 시크릿 액세스 키 두 값을 안전한 곳에 적어 두었다.- (권장) 예산 알림을 켜 두어, 요금이 정해 둔 금액을 넘으면 이메일이 오도록 해 두었다.
이 액세스 키는 9장부터 내 노트북과 Claude Code가 AWS를 다룰 때 쓰는 열쇠라, 이 장의 핵심 결과물입니다.
사전 조건
이 장은 2부의 첫 장이라, 앞 장의 코드 결과물을 직접 이어 쓰지는 않습니다. 다만 아래가 갖춰져 있어야 이후 장이 매끄럽습니다.
- 1~7장을 마쳐, 로컬에서 컨테이너로 서비스가 돈다. 즉 7장에서
docker compose up으로 프론트 + API + DB가 뜨고, 브라우저에서 투표가 동작하는 걸 확인한 상태입니다. (이 컨테이너 이미지를 2부에서 AWS로 올립니다.) - 인터넷이 되는 노트북과 웹브라우저. 이 장은 코드가 아니라 대부분 웹 화면(콘솔)에서 진행합니다.
- 본인 명의의 신용/체크카드 한 장. AWS 가입에는 카드 등록이 필요합니다(아래 8.2에서 자세히, 지금 큰돈이 나가는 건 아닙니다).
- 이메일과 휴대폰. 가입 중 인증에 씁니다.
아직 AWS를 한 번도 안 써 봤어도 괜찮습니다. 이 장이 처음 쓰는 사람 기준으로 하나씩 안내합니다.
8.1 AWS가 뭔가
먼저 우리가 앞으로 계속 쓸 두 단어, 클라우드와 AWS부터 정리합시다.
클라우드(Cloud) 내 서버 컴퓨터를 직접 사서 방에 두는 대신, 인터넷 너머에 있는 거대한 회사의 컴퓨터를 필요한 만큼 빌려 쓰는 방식입니다. 전기를 발전기 없이 콘센트로 쓰는 것과 비슷합니다.
AWS(Amazon Web Services) 아마존이 운영하는, 세계에서 가장 널리 쓰이는 클라우드 서비스입니다. 서버, 데이터베이스, 네트워크 등 IT에 필요한 거의 모든 것을 인터넷으로 빌려줍니다.
우리가 7장까지 만든 서비스는 "내 노트북 안"에서만 돕니다. 내 노트북을 끄면 아무도 접속할 수 없죠. 남들이 인터넷으로 접속하게 하려면, 24시간 켜져 있고 인터넷에 연결된 서버 컴퓨터가 필요합니다. 그런 컴퓨터를 직접 사서 관리하는 대신 빌려 쓰는 것이 클라우드이고, 그 대표가 AWS입니다.
[활용 사례] AWS는 실제로 어디에 쓰이나
AWS는 우리 실습만을 위한 도구가 아니라, 현업에서 다음처럼 폭넓게 쓰입니다. "이래서 배워 두는구나"를 실감하는 게 목표입니다.
- 스타트업의 첫 서버: 창업 초기엔 서버를 살 돈도, 관리할 사람도 없습니다. AWS에서 작은 서버 하나로 시작해, 사용자가 늘면 그때그때 키우면 됩니다. 초기 비용이 거의 안 들어 많은 스타트업이 이렇게 시작합니다.
- 대기업·대형 서비스의 인프라: 넷플릭스, 배달·이커머스 같은 대형 서비스도 수많은 서버를 AWS 위에서 돌립니다. 갑자기 트래픽이 몰리는 이벤트(할인 행사 등) 때 서버를 잠깐 늘렸다가 줄일 수 있어서입니다.
- 개인 프로젝트·사이드 프로젝트: 개인이 만든 웹사이트나 앱을 세상에 공개할 때도 AWS를 씁니다. 우리가 지금 하는 것이 바로 이 경우입니다.
- 데이터 분석·AI 학습: 평소엔 없다가, 큰 계산이 필요할 때만 고성능 컴퓨터 여러 대를 몇 시간 빌렸다 반납하는 식으로도 씁니다.
이렇게 "필요할 때 필요한 만큼 빌린다"가 클라우드의 핵심이고, AWS는 그것을 다음 방식으로 제공합니다.
온디맨드(On-demand) 필요할 때 필요한 만큼만 빌려 쓰고, 쓴 만큼만 요금을 내는 방식입니다. 서버를 미리 통째로 사둘 필요 없이, 오늘 한 시간 켜면 한 시간치만 냅니다.
이 특징은 장점이자 주의점입니다. 필요한 만큼만 써서 좋지만, 뒤집어 말하면 켜 두면 계속 요금이 나옵니다. 그래서 이 과정 마지막(22장)에 실습 리소스를 반드시 지우는 절을 따로 둡니다. 지금부터 "만든 건 나중에 지운다"를 마음에 새겨 두세요. 요금 이야기는 8.5에서 다시 정리합니다.
우리가 2부에서 빌려 쓸 AWS 부품들을 미리 이름만 소개하면 이렇습니다. 지금은 몰라도 됩니다. 각 장에서 하나씩 자세히 다룹니다.
- ECR: 우리 컨테이너 이미지를 올려 둘 창고 (7장 로컬 레지스트리의 AWS 버전)
- VPC: 우리 서비스만의 사설 네트워크(울타리 친 공간)
- RDS: AWS가 관리해 주는 데이터베이스
- ECS / Fargate: 컨테이너를 실제로 실행해 주는 서비스
- ALB: 사용자 요청을 받아 컨테이너로 나눠 주는 로드밸런서
8.2 계정 만들기 & 콘솔 로그인
콘솔(Console) AWS를 마우스로 조작하는 웹사이트 화면입니다. 클릭으로 서버를 만들고 설정하는 관리 화면이라고 보면 됩니다. 이 장의 대부분을 이 콘솔에서 진행합니다.
이미 AWS 계정이 있다면
이미 계정이 있으면 아래 "계정 만들기"는 건너뛰고, 바로 로그인만 하면 됩니다.
- 웹브라우저에서
https://aws.amazon.com에 접속합니다. - 오른쪽 위 콘솔에 로그인(Sign in to the Console) 버튼을 누릅니다.
- 로그인에 성공하면 AWS Management Console 메인 화면이 나옵니다. (이후 8.3의 "화면 둘러보기"로 가세요.)
[콘솔] 계정 만들기 (가입) — 처음 하는 사람
계정이 없다면 가입부터 합니다. https://aws.amazon.com 오른쪽 위의
계정 만들기(Create an AWS Account)를 눌러 시작합니다. 이메일·비밀번호로
기본 정보를 만든 뒤, 아래 단계를 따라갑니다. (화면은 수시로 조금씩
바뀌지만 큰 흐름은 같습니다.)
1) 계정 플랜 선택 — 2025년 개편 이후 가입할 때 무료 플랜(Free)과 유료 플랜(Paid) 중 하나를 고르게 됩니다. 학습·실습용으로는 무료 플랜을 고릅니다. 무료 플랜은 가입 후 6개월 또는 제공된 크레딧을 다 쓸 때까지 중 먼저 오는 시점까지 유효하며, 그 안에서 실습하기에 충분합니다. (프리티어·크레딧 이야기는 뒤 8.5에서 자세히 다룹니다.)
2) 연락처 정보 입력 — 이름·주소·전화번호를 입력합니다. 개인이면 계정 유형을 개인(Personal)으로 선택해 진행하면 됩니다.
3) 결제 정보 입력 — 신용/체크카드를 등록합니다.
카드 등록은 필요하지만, 지금 큰돈이 나가는 건 아닙니다 AWS는 본인·부정사용 확인을 위해 1 USD(또는 그에 상당하는 금액)를 3~5일간 임시로 잡았다가 되돌립니다(실제 청구 아님). 다만 앞서 말했듯 만든 리소스를 안 지우면 요금이 쌓이므로, 실습 후 삭제(22장)를 꼭 지키세요.
4) 카드 본인 인증 — 카드를 등록하면 확인 창이 뜹니다. 확인을 누르면 카드사 인증 페이지가 열립니다.
국내 카드는 카드번호·비밀번호·생년월일을 입력하는 본인 인증 창(아래)이 나옵니다. 유효시간(보통 3분) 안에 입력해 인증을 마칩니다.
5) 본인 확인(전화/문자)과 지원 플랜 선택 — 휴대폰으로 오는 인증 번호를 입력해 본인 확인을 마칩니다. 마지막에 지원(Support) 플랜을 고르는 화면이 나오면 기본(Basic) — 무료를 선택하면 됩니다.
인증까지 끝나면 가입이 완료되고, 로그인하면 AWS Management Console 메인 화면이 나옵니다.
로그인이 되면 화면 맨 위에 검은색(또는 짙은 남색) 바가 있고, 그 안에 검색창과 오른쪽 위 계정/지역 표시가 보입니다. 이 화면이 "AWS Management Console"이고, 앞으로 우리의 작업실입니다.
8.3 콘솔 둘러보기 — 딱 세 곳만 기억
처음엔 화면에 정보가 많아 보이지만, 지금 알아야 할 곳은 세 군데뿐입니다.
- 상단 검색창: 화면 맨 위 가운데의 검색창입니다. 여기에
ECR,VPC,RDS처럼 서비스 이름을 입력하면 바로 그 화면으로 갈 수 있습니다. 메뉴를 헤맬 필요 없이, 앞으로 이 검색창을 주로 씁니다.- [용어] 서비스: AWS가 제공하는 각각의 기능(ECR, VPC, RDS 등)을 "서비스"라고 부릅니다.
- 오른쪽 위 리전 선택: 지금 어느 지역의 AWS를 쓰는지 표시됩니다. (다음 8.4에서 자세히 다룹니다.)
- 오른쪽 위 계정 메뉴: 내 계정 이름이 표시되는 곳. 로그아웃, 계정 설정 등이 여기 있습니다.
[맛보기] 검색창으로 서비스 이동해 보기
콘솔을 손으로 한 번 만져 봅시다. 아직 아무것도 만들지 않으니 안전합니다.
- 화면 맨 위 가운데 검색창을 클릭하고
EC2를 입력합니다. - 아래에 뜨는 목록에서 EC2(가상 서버 서비스)를 클릭합니다. EC2 대시보드 화면으로 들어가집니다.
- 다시 맨 위 검색창을 클릭하고, 이번엔
S3를 입력해 S3로 이동해 봅니다.
두 번 해 보면 감이 옵니다. "어느 메뉴에 있더라?" 하고 헤매지 말고,
검색창에 이름을 치면 바로 그 서비스로 간다 — 이 하나만 익히면 이
절은 충분합니다. 앞으로 이 책이 "IAM 서비스로 가세요"라고 하면, 검색창에
IAM을 치면 됩니다.
8.4 리전 고르기 — 서울로 통일
리전(Region) AWS의 데이터센터가 모여 있는 "지역"입니다. 서울, 도쿄, 미국 버지니아 등 전 세계에 여러 리전이 있습니다. 내가 만드는 리소스는 특정 리전 안에 만들어집니다.
리전이 왜 여러 개일까요? 현업에서는 이렇게 씁니다. 접속자가 가까운 리전을 골라 속도(지연시간)를 줄이고(한국 사용자 대상 서비스면 서울), 나라별 데이터 보관 규정을 지키려고 그 나라 리전에 두기도 하고, 큰 서비스는 재해 대비로 여러 리전에 나눠 두기도 합니다. 우리는 한국에서 실습하니 서울 리전을 씁니다.
여기에 초보자가 가장 많이 겪는 함정이 있습니다.
리전을 섞으면 리소스가 "사라진 것처럼" 보입니다 리소스는 만들 때 선택한 리전에만 존재합니다. 서울 리전에서 만든 걸 도쿄 리전 화면에서 찾으면, 아무것도 없는 것처럼 보입니다. "분명 만들었는데 왜 없지?"의 대부분은 리전을 잘못 보고 있는 경우입니다.
그래서 이 실습에서는 모든 작업을 서울 리전 하나로 통일합니다.
[콘솔] 리전을 서울로 맞추기
- 화면 오른쪽 위, 지역 이름이 적힌 부분(예:
버지니아 북부또는N. Virginia)을 클릭합니다. - 펼쳐진 목록에서 아시아 태평양(서울) / Asia Pacific (Seoul) ap-northeast-2를 클릭합니다.
- 화면 오른쪽 위에
서울또는ap-northeast-2가 표시되면 완료입니다.
ap-northeast-2
서울 리전의 코드 이름입니다. 리전마다 이런 코드가 있는데, 9장부터
명령어나 설정에서 이 코드를 쓰게 됩니다. "서울 = ap-northeast-2"만
기억하세요.
앞으로 매 실습 전 리전 확인
2부 내내, 새 작업을 시작할 때마다 오른쪽 위가 서울인지 습관적으로
확인하세요. 이 습관 하나가 수많은 혼란을 막아 줍니다.
8.5 루트 계정 vs IAM 사용자
지금 로그인한 이 계정은 "루트 계정"입니다. 이걸 그대로 실습에 쓰면 안 되는 이유가 있습니다.
루트 계정(Root Account) 가입할 때 만든, 그 AWS 계정의 최고 관리자 계정입니다(가입에 쓴 이메일로 로그인하는 계정). 무엇이든 할 수 있는 만능 열쇠라, 반대로 이 계정 정보가 새어 나가면 피해가 큽니다. 그래서 평소 작업에는 쓰지 않는 것이 원칙입니다.
IAM(Identity and Access Management) AWS에서 "누가 무엇을 할 수 있는지"를 관리하는 서비스입니다. 루트 계정 대신 쓸 별도의 사용자들을 만들고, 각자에게 필요한 권한만 부여할 수 있습니다.
IAM 사용자(IAM User) IAM으로 만드는, 실제 작업에 쓸 계정입니다. 루트라는 만능 열쇠는 금고에 넣어 두고, 실습에는 이 IAM 사용자를 씁니다.
집에 비유하면, 루트 계정은 집 전체의 마스터키입니다. 마스터키는 금고에 보관하고, 평소엔 필요한 문만 여는 일반 열쇠(IAM 사용자)를 쓰는 것이 안전하겠죠. AWS도 똑같이 권장합니다.
[활용 사례] 현업에서 IAM은 이렇게 쓴다
IAM은 "권한을 사람·프로그램별로 나눠 주는" 도구라, 실무에서 폭넓게 쓰입니다.
- 팀원별로 권한 나누기: 개발자에게는 서버를 만들고 고치는 권한을, 디자이너에게는 파일 저장소만 보는 권한을, 회계 담당에게는 요금 청구서만 보는 권한을 각각 다르게 줍니다. 한 계정을 함께 쓰되 할 수 있는 일을 다르게 합니다.
- 자동 배포용 계정: 3부에서 배울 CI/CD(GitHub Actions)처럼 사람이 아니라 프로그램이 AWS를 다룰 때도, 사람 계정이 아니라 배포 전용 IAM 사용자(또는 역할)를 따로 만들어 딱 배포에 필요한 권한만 줍니다.
- 읽기 전용 감사 계정: 무언가를 바꾸지는 못하고 현황만 들여다볼 수 있는 계정을 만들어, 외부 점검자나 모니터링 도구에 내줍니다.
우리는 이 실습을 편하게 하려고, 넓은 권한을 가진 실습 전용 IAM 사용자를 하나 만들어 쓰겠습니다.
[콘솔] 실습용 IAM 사용자 만들기
- 상단 검색창에
IAM을 입력해 IAM 서비스로 들어갑니다. - 왼쪽 사이드바에서 사용자(Users)를 클릭합니다.
- 사용자 생성(Create user) 버튼을 누릅니다.
- 사용자 이름(User name)에
vote-admin을 입력합니다. - 바로 아래 AWS Management Console에 대한 사용자 액세스 권한 제공 (Provide user access to the AWS Management Console) 체크박스가 있습니다. 이 IAM 사용자로도 웹 콘솔에 로그인하고 싶다면 체크합니다. 우리는 주로 액세스 키(명령어)로 쓸 거라 체크하지 않아도 됩니다. 그대로 다음(Next)을 누릅니다.
- 권한 설정(Set permissions) 단계가 나옵니다. 위쪽 세 옵션 중 직접 정책 연결(Attach policies directly)을 선택합니다.
- 아래 정책 목록의 검색란에
AdministratorAccess를 입력하고, 나온 AdministratorAccess 왼쪽 체크박스를 켠 뒤 다음(Next)을 누릅니다.- [주의]
AdministratorAccess는 거의 모든 것을 할 수 있는 넓은 권한입니다. 실무에서는 이렇게 넓게 주지 않고 필요한 최소 권한만 줍니다. 여기서 넓게 주는 건 오직 학습용 계정이라 배우기 편하게 하기 위해서입니다. 실제 서비스 계정에서는 이렇게 하지 않는다는 점을 기억하세요.
- [주의]
- 검토 및 생성(Review and create) 화면에서 사용자 이름(
vote-admin)과 권한(AdministratorAccess)이 맞는지 확인하고 사용자 생성(Create user)을 누릅니다.
IAM 왼쪽 사용자(Users) 목록에 vote-admin이 보이면
생성 성공입니다.
[콘솔] 액세스 키 만들기 (로컬에서 AWS를 다루기 위해)
콘솔(웹 화면)이 아니라, 내 컴퓨터의 명령어나 Claude Code로 AWS를 다루려면 "액세스 키"가 필요합니다. 9장부터 이 키를 씁니다.
액세스 키(Access Key) 프로그램이나 명령어가 AWS에 "나는 이 사용자다"라고 증명하는 열쇠입니다. 아이디에 해당하는 액세스 키 ID와, 비밀번호에 해당하는 시크릿 액세스 키 한 쌍으로 이루어집니다.
- IAM 사용자(Users) 목록에서 방금 만든
vote-admin을 클릭해 들어갑니다. - 위쪽 탭에서 보안 자격 증명(Security credentials) 탭을 클릭합니다.
- 아래로 스크롤해 액세스 키(Access keys) 영역의 액세스 키 만들기(Create access key)를 누릅니다.
- 사용 사례(use case)를 묻는 화면에서 명령줄 인터페이스(CLI) (Command Line Interface)를 선택합니다.
- 그 아래 "위의 권장 사항을 이해했으며 액세스 키를 만들려고 합니다" 같은 확인 체크박스가 나오면 체크하고 다음(Next)을 누릅니다.
- 설명(태그)을 묻는 화면은 비워 두고 액세스 키 만들기(Create access key)를 누릅니다.
- 생성 완료 화면에 액세스 키(Access key)와 비밀 액세스 키
(Secret access key) 두 값이 나옵니다.
.csv 파일 다운로드 (Download .csv file)버튼을 눌러 파일로 저장하거나, 두 값을 그대로 복사해 안전한 곳에 붙여넣어 둡니다.
시크릿 액세스 키는 이 화면에서만 보입니다 시크릿 키는 생성 직후 이 화면에서 한 번만 전체가 보이고, 화면을 벗어나면 다시 볼 수 없습니다. 반드시 지금 안전한 곳에 복사(또는 .csv 다운로드)해 두세요. 잃어버리면 키를 새로 만들어야 합니다.
액세스 키는 절대 공개하지 마세요
이 키가 노출되면 남이 내 AWS를 마음대로 쓸 수 있습니다. 코드나
GitHub에 절대 올리지 말고(1장에서 만든 저장소는 프라이빗, 민감값은
.env에), 9장 이후 실습에서 안전하게 등록해 사용합니다.
더 안전한 방식도 있습니다 AWS는 요즘 장기 액세스 키 대신 "IAM Identity Center" 같은 방식을 권장합니다. 다만 개념이 더 복잡해서, 이 입문 과정에서는 이해하기 쉬운 IAM 사용자 + 액세스 키로 진행합니다. 실무에서 더 나아갈 때 그 방식을 찾아보면 됩니다.
8.6 비용 감 잡기 & 프리티어
마지막으로, 요금 이야기를 분명히 하고 넘어갑니다. 겁줄 필요는 없지만, 모르고 방치하는 게 가장 위험합니다.
프리티어(Free Tier) AWS를 처음 쓰는 사람을 위한 무료 혜택입니다. 정책이 개편되어, 현재 신규 계정은 가입 시 제공되는 크레딧을 일정 기간 안에 쓰는 방식이 기본입니다. 가입하면 100달러 크레딧이 주어지고, 온보딩 활동(간단한 서비스 사용 등)을 완료하면 최대 200달러까지 늘어납니다. 무료 계정 플랜은 가입 후 6개월 또는 크레딧 소진 중 먼저 오는 시점까지 유효합니다. 여기에 더해 상시 무료(always free) 한도가 있는 서비스도 30여 개 있습니다. 어느 쪽이든 "모든 것이 무제한 공짜"는 아니라는 점이 중요합니다.
이 실습에서 요금이 나올 수 있는 부분
우리가 2부에서 만들 것 중 일부는 프리티어를 벗어나거나, 켜 두면 시간당 요금이 붙습니다. 대표적으로:
- NAT 게이트웨이(11장): 켜 두면 시간당 요금이 꾸준히 나옵니다.
- RDS(데이터베이스)(12장): 인스턴스 크기에 따라 요금이 붙습니다.
- ALB(로드밸런서)(14장): 시간당 + 트래픽당 요금이 붙습니다.
금액이 아주 큰 건 아니지만, 며칠씩 켜 두고 잊으면 쌓입니다. 그래서 이렇게 하세요.
- 실습은 가능한 한 이어서 진행하고,
- 22장의 리소스 삭제 절에서 만든 것을 모두 지웁니다.
- 실습을 며칠에 걸쳐 나눠 한다면, 하루 실습이 끝날 때 지웠다가 다음에 다시 만들어도 됩니다(반복이 곧 복습이 됩니다).
[콘솔] 예산 알림(Budgets) 켜 두기 — 안전장치
요금이 정해 둔 금액을 넘으면 이메일로 알려 주는 안전장치를 지금 켜 둡시다. 실제 요금을 막아 주지는 않지만, "모르는 새 쌓이는" 최악을 막아 줍니다.
- 상단 검색창에
Budgets를 입력해 AWS Budgets(비용 관리) 화면으로 들어갑니다. - 예산 생성(Create budget)을 누릅니다.
- 템플릿 사용(Use a template)을 선택하고, 목록에서 월별 비용 예산(Monthly cost budget)을 고릅니다. (요금이 한 푼이라도 나면 알림을 받고 싶다면 제로 지출 예산(Zero spend budget)을 골라도 됩니다.)
- 예산 이름(Budget name)에
vote-monthly같은 알아볼 이름을 넣고, 예산 금액(Budgeted amount)에 감당할 상한(예:10달러)을 입력합니다. - 이메일 수신자(Email recipients)에 알림을 받을 내 이메일 주소를 입력합니다.
- 예산 생성(Create budget)을 눌러 마칩니다.
이렇게 해 두면, 이번 달 실제 요금(또는 예상 요금)이 정해 둔 금액을 넘어설 때 이메일이 옵니다.
[확인]
이번 장이 제대로 끝났는지 눈으로 확인합니다.
- AWS 콘솔에 로그인돼 있고, 상단 검색창에
EC2를 치면 그 서비스로 이동할 수 있다. - 화면 오른쪽 위에
서울또는ap-northeast-2가 표시돼 있다. - IAM → 사용자(Users) 목록에
vote-admin이 보인다. vote-admin의 액세스 키 ID와 시크릿 액세스 키 두 값을 안전한 곳(메모/.csv)에 적어 두었다.- (권장) Budgets에
vote-monthly같은 예산이 하나 생겼다.
여기까지 됐다면 AWS에 발을 들이고, 다음 장부터 쓸 열쇠(액세스 키)까지 손에 쥔 것입니다.
막히면
이 장에서 자주 나는 문제와 대처법입니다.
-
가입 중 카드가 거절된다 / 인증이 안 된다. 해외 결제가 막힌 카드일 수 있습니다. 카드사 앱·고객센터에서 해외 결제를 열거나, 다른 카드로 시도하세요. 카드 본인 인증 창은 유효시간 (보통 3분)이 짧아, 시간이 지나면 처음부터 다시 진행해야 합니다.
-
"분명 만들었는데" 콘솔에 아무것도 안 보인다. 십중팔구 리전이 다른 것입니다. 화면 오른쪽 위가
서울인지 먼저 확인하세요. 8.4대로 서울로 바꾸면 만든 것이 다시 보입니다. -
IAM에서
AdministratorAccess정책이 목록에 안 뜬다. 권한 설정 단계에서 직접 정책 연결(Attach policies directly)을 먼저 선택해야 정책 목록이 나타납니다. 그런 다음 검색란에AdministratorAccess를 입력하세요. -
시크릿 액세스 키를 못 적어 두고 화면을 닫아 버렸다. 시크릿 키는 다시 볼 수 없습니다. 당황하지 말고,
vote-admin→ 보안 자격 증명(Security credentials)에서 기존 키를 비활성화/삭제한 뒤 액세스 키 만들기로 새로 발급받으면 됩니다. -
상단 검색창에서 서비스를 찾아도 화면이 이 책과 다르다. AWS는 콘솔을 자주 개편합니다. 버튼 위치·문구가 달라도 큰 흐름(사용자 생성 → 권한 → 키 발급)은 같습니다. 항목이 안 보이면 검색창과 각 화면의 검색란을 활용해 이름으로 찾으세요.
[체크리스트]
아래가 모두 됐는지 확인해 보세요. 하나라도 안 됐다면 해당 절로 돌아가 다시 진행합니다.
- □ 클라우드·온디맨드가 무엇인지, 왜 "안 쓰면 지워야" 하는지 안다
- □ AWS 계정을 만들어(또는 기존 계정으로) 콘솔에 로그인했다
- □ 상단 검색창으로 원하는 서비스(EC2 등)에 이동해 봤다
- □ 리전을 서울(ap-northeast-2)로 맞췄고, 리전을 섞으면 안 되는 이유를 안다
- □ 루트 계정 대신 쓸 IAM 사용자
vote-admin을 만들었다 - □
vote-admin의 액세스 키를 만들어 안전하게 보관했다 (공개 금지) - □ (권장) 예산 알림(Budgets)을 설정했다
모두 체크됐다면 AWS 준비가 끝난 겁니다.