ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS 학습 환경 구성 — Phase 1: 계정 보안 & 비용 알람 설정
    IT기술/AWS 2026. 4. 2. 09:47

    AWS 학습 환경 구성 — Phase 1: 계정 보안 & 비용 알람 설정

    AWS 콘솔 실습을 시작하기 전에 반드시 해야 하는 기초 작업.
    root 계정 보안 + IAM User 생성 + 비용 알람 설정까지 다룬다.

    왜 Phase 1이 중요한가

    AWS는 계정을 만들면 즉시 과금 대상이 된다. root 계정이 탈취되면 계정 전체가 날아간다. 실제로 다음 두 가지 사고가 자주 발생한다.

    root 계정 탈취 → 공격자가 고사양 EC2를 수백 대 띄워 수천 달러 청구
    리소스 방치 → NAT Gateway, RDS 등을 켜두고 잊어버려 예상치 못한 청구서

    Phase 1은 이 두 가지를 막는 작업이다.


    사전 준비

    ▪ AWS 계정 (유료 or 프리티어)
    ▪ MFA 앱: Google Authenticator 또는 Authy
    ▪ 이메일 계정 (알람 수신용)

    콘솔 언어 설정: AWS 콘솔은 영어로 사용하는 것을 강력 권장한다.
    한글 번역 품질이 들쑥날쑥해서 메뉴명이 문서와 다르게 보이는 경우가 많다.
    우측 상단 계정명 → 언어 아이콘 → English 선택.
    또는 URL에 ?lng=en 추가.

    Step 1. root 계정 MFA 설정

    root 계정은 비밀번호만으로는 부족하다. MFA(다단계 인증)를 반드시 활성화해야 한다.

    설정 방법

    ① AWS 콘솔 우측 상단 계정명 클릭 → Security credentials
    Multi-factor authentication (MFA) 섹션 → Assign MFA device
    ③ Device name 입력 (예: root-mfa)
    Authenticator app 선택 → Next
    ⑤ MFA 앱으로 QR코드 스캔
    ⑥ MFA 코드 2회 연속 입력 → Add MFA

    확인

    MFA 섹션에 디바이스가 표시되면 완료. 이후 root 로그인 시 MFA 코드를 요구한다.

    중요: MFA 설정 이후 root 계정은 거의 사용하지 않는다.
    Billing 설정 변경 등 꼭 필요한 경우에만 사용한다.

    Step 2. Admin IAM User 생성

    일상적인 AWS 작업은 root가 아닌 IAM User로 해야 한다.
    root 계정은 권한 범위 제한이 불가능하고, 탈취 시 복구가 어렵다.

    설정 방법

    ① 콘솔 검색창 → IAM → IAM 콘솔 진입
    ② 좌측 메뉴 → UsersCreate user
    ③ User name 입력 (예: admin-dev)
    Provide user access to the AWS Management Console 체크
    I want to create an IAM user 선택
    ⑥ 비밀번호 직접 설정 / Users must create a new password 체크 해제
    Next
    Attach policies directly 선택
    AdministratorAccess 검색 → 체크 → NextCreate user
    ⑩ 생성 후 나오는 Console sign-in URL 복사해서 북마크

    확인

    새 탭에서 IAM User로 로그인 확인. 이후 모든 실습은 이 계정으로 진행한다.

    IAM User와 root의 차이
    root는 모든 서비스에 무제한 접근이 가능하다. IAM User는 정책(Policy)으로 권한을 제한할 수 있다.
    실무에서는 서비스별로 최소 권한만 부여하는 것이 원칙(Principle of Least Privilege)이다.
    학습 단계에서는 AdministratorAccess를 부여하되, 나중에 서비스별 권한 분리를 익히자.

    Step 3. 비용 알람 설정

    3-1. AWS Budgets — 월별 예산 초과 알람

    특정 금액을 초과하면 이메일로 알림을 보내준다.

    ① 콘솔 검색 → Billing and Cost Management
    ② 좌측 → BudgetsCreate budget
    Use a templateMonthly cost budget
    ④ Budget name: monthly-limit
    ⑤ Budgeted amount: $20
    ⑥ Email address: 본인 이메일 입력
    Create budget

    3-2. CloudWatch Billing Alert — 즉각 알람

    AWS Budgets는 하루 1~3회 체크 주기가 있어 실시간성이 다소 떨어진다.
    CloudWatch Billing Alert는 메트릭 기반으로 더 빠르게 반응한다.

    ⚠️ 중요: Billing 메트릭은 us-east-1 (버지니아 북부) 리전에서만 보인다.
    콘솔 우측 상단에서 리전을 반드시 US East (N. Virginia) 로 변경 후 진행.

    ① 리전을 us-east-1으로 변경
    ② 콘솔 검색 → CloudWatch
    ③ 좌측 → AlarmsAll alarmsCreate alarm
    Select metric 클릭
    BillingTotal Estimated ChargeUSD 선택 → Select metric
    ⑥ Threshold type: Static
    ⑦ Whenever EstimatedCharges is Greater than 10
    Next
    Create new topic → 토픽 이름 입력 → 이메일 입력 → Create topic
    Next → Alarm name: billing-alert-10usdCreate alarm
    ⑪ 입력한 이메일로 구독 확인 메일 수신 → Confirm subscription 클릭


    트러블슈팅: CloudWatch에서 Billing 메트릭이 안 보이는 경우

    증상

    Select metric에서 Billing 카테고리 자체가 없거나,
    Total Estimated Charge 메트릭이 보이지 않는 경우.

    원인

    Billing 메트릭은 AWS에서 기본값으로 비활성화 상태다.
    root 계정에서 별도로 활성화해야 CloudWatch에 데이터가 흘러들어온다.

    해결 방법

    root 계정으로 재로그인 (IAM User로는 이 설정에 접근 불가)
    ② 우측 상단 계정명 → Billing and Cost Management
    ③ 좌측 → Billing Preferences
    Alert preferences 섹션 → Edit
    Receive CloudWatch billing alerts 체크 → Update

    활성화 후 주의사항

    ▪ 설정 후 최대 15분 대기해야 CloudWatch에 Billing 메트릭이 나타난다.
    ▪ 메트릭이 보이기 시작하면 Step 3-2로 돌아가서 알람 설정을 완료한다.


    Phase 1 완료 체크리스트

    항목완료
    root 계정 MFA 등록
    IAM Admin User 생성 및 로그인 확인
    이후 모든 작업을 IAM User로 진행
    AWS Budgets $20 월별 알람 설정
    Billing 메트릭 활성화 (root 계정에서)
    CloudWatch $10 결제 알람 + 이메일 구독 확인
    현재 작업 리전: ap-northeast-2 (서울)

    다음 단계

    Phase 2 — VPC 네트워크 구성
    VPC, Public/Private Subnet, Internet Gateway, Route Table, Security Group 설정.
    전체 아키텍처의 기반이 되는 가장 중요한 구간.


    이 시리즈는 AWS 풀스택 웹 호스팅 아키텍처를 콘솔로 직접 구성하며 학습하는 과정을 기록한 것입니다.
    추후 동일한 구성을 AWS CDK(IaC)로 재현하는 것을 목표로 합니다.
Designed by Tistory.