Skip to content

AWS 계정 설정 가이드 (EKS 스터디)

date: 2026-03-11


1. AWS Root 계정 (Management) 생성

AWS 공식 사이트(https://aws.amazon.com)에서 새로운 AWS 계정을 생성했다. 이 계정이 AWS Organizations의 관리 계정(Management Account) 역할을 한다.

계정 생성 직후 보안 강화를 위해 MFA(Multi-Factor Authentication)를 설정했다.

  • MFA 방식: 패스키(Passkey) - Bitwarden을 통해 등록
  • 설정 경로: IAM -> Security credentials -> MFA device 할당

Root 계정은 일상적인 작업에는 사용하지 않는다. Organizations 관리, 빌링 설정 등 root만 가능한 작업이 아닌 이상 SSO를 통해 접근한다.


2. 빌링 알람 설정

Management 계정 생성 직후 가장 먼저 진행한 작업이다. 예상치 못한 과금을 방지하기 위해 비용 알람을 설정했다.

2-1. Billing Preferences 활성화

Budget 설정 전, 아래 두 항목을 활성화했다.

  • 설정 경로: Billing and Cost Management -> Billing Preferences
  • 활성화 항목:
    • AWS Free Tier alerts
    • CloudWatch billing alerts (한번 활성화하면 비활성화 불가)

2-2. Budget 알람 설정

EKS 스터디에 예상되는 비용이 약 $40(한화 약 5만원) 정도이므로, 이를 최대 한도로 잡고 단계별 임계값(threshold)을 설정했다.

  • 설정 경로: Billing and Cost Management -> Budgets -> Create budget
  • 알람 조건: $10(실제) / $20(실제) / $30(실제) / $40(예상) 초과 시 단계별 이메일 알림

참고: AWS Organizations 사용 시 Consolidated Billing이 자동으로 활성화되어, testing과 production 계정의 비용이 management 계정으로 통합 추적된다. 따라서 management 계정의 Budget 하나로 전체 계정의 비용을 모니터링할 수 있다.


3. AWS Organizations 설정

Management 계정에서 AWS Organizations를 활성화하고, 하위 계정 2개를 생성했다.

Proton Mail의 이메일 별칭(alias) 기능을 활용하여 실제로는 하나의 이메일 주소를 사용하지만, +태그 형식으로 각 계정에 별도의 이메일 주소를 부여해 손쉽게 계정을 생성할 수 있었다.

계정 구조

Root (Organization)
└── management ([REDACTED]) - management account, AdministratorAccess
    ├── production ([REDACTED]) - AdministratorAccess
    └── testing ([REDACTED]) - AdministratorAccess

4. AWS IAM Identity Center (SSO) 설정

SSO(Single Sign-On) 란 하나의 자격증명으로 여러 계정이나 서비스에 로그인할 수 있는 인증 방식이다.

실제로는 SSO 포털에서 leo 계정으로 로그인하면, 위에서 생성한 계정들(management, production, testing) 중 하나를 선택해 접근할 수 있다. AWS CLI에서도 동일하게 SSO를 통해 각 계정에 접근할 수 있다.

Management 계정에서 AWS IAM Identity Center를 활성화하고, 각 하위 계정에 SSO 접근을 설정했다.

  • 설정 경로: AWS IAM Identity Center -> 사용자 추가 -> 계정에 권한 세트 할당
  • 리전: 유럽(런던) - 거주지와 가장 가까운 리전으로 선택

AdministratorAccess는 AWS에서 기본 제공하는 권한 세트로, 해당 계정 내 모든 AWS 서비스와 리소스에 대한 완전한 접근 권한을 부여한다. 혼자 사용하는 개인 환경이므로 모든 계정에 AdministratorAccess를 부여했다.

권한 세트의 세션 지속 시간(session duration)은 12시간으로 설정했다. 세션이 만료되면 aws sso login --profile <profile> 명령으로 재인증할 수 있다.

SSO 사용자 MFA 설정

leo 사용자 생성 후 보안 강화를 위해 MFA를 별도로 설정했다. SSO 로그인 시 매번 MFA 인증이 요구된다.


최종 계정 현황

계정 용도
management 새 계정 생성, Organizations 관리 등 계정 관리 목적으로만 사용. 평소에는 거의 접속하지 않음.
production 개인 서비스 운영에 사용할 계정
testing EKS 스터디 등 실습 및 테스트 목적으로 자유롭게 활용할 계정

참고

도메인을 구입하였기 때문에 다음과 같은 경고 메일이 발생한다.


AWS Budget Notification — March 14, 2026

AWS Account: [ACCOUNT_ID]

Dear AWS Customer,

You requested that we alert you when the actual cost associated with your Monthly cost 5만원 이하 budget exceeds $10.00 for the current month. The month actual cost associated with this budget is $38.19. You can find additional details below and by accessing the AWS Budgets dashboard.

Budget Name Budget Type Budgeted Amount Alert Type Alert Threshold ACTUAL Amount
Monthly cost 5만원 이하 Cost $40.00 ACTUAL > $10.00 $38.19

``````