1. AWS Regions (지역)
2. AWS Availability Zones (가용 영역)
3. AWS Data Centers (데이터 센터)
4. AWS Edge Locations / Points of Presence (엣지 로케이션, 접속 지점)
1. AWS Regions (지역, 리전)
- AWS has Regions all around the world (AWS는 전 세계에 리전 보유)
- Names can be us-east-1, eu-west-3.. (리전명 예시)
- A region is a cluster of data centers (리전은 데이터 센터의 집합)
- Most AWS services are region-scoped (대부분 AWS 서비스는 리전 범위로 제공)
Q. How to choose an AWS Region?
(1). Compliance with data governance and legal requirements
- data never leaves a region without your explicit permission (규정 준수): 명시적 허가 없이 데이터 리전 외부 이동 불가
(2). Proximity to customer
- reduce latency (근접성): 대기 시간 (지연 시간) 최소화
(3). Available Services within a Region
- new services and new features aren’t available in every Region (서비스 가용성): 신규 서비스/기능은 일부 리전만 제공
(4). Pricing
- pricing varies region to region and is transparent in the service pricing page (가격): 리전별 가격 상이 (투명하게 공개)
2. AWS Availability Zones (가용 영역)
- Each region has many availability zones (usually 3, min 3, max 6) (각 리전은 여러개의 가용 영역 보유, 일반적으로 3개, 최소 3개, 최대6개) Ex) ap-southeast-2a, ap-southeast-2b, ap-southeast-2c
3. AWS Data Centers (데이터 센터)
-
Each availability zone (AZ) is one or more discrete data centers with redundant power, networking, and connectivity (각 가용 영역은 하나 이상의 독립적인 데이터 센터로 구성 – 중복 전원, 네트워크 및 연결 제공)
-
They’re separate from each other, so that they’re isolated from disasters (서로 분리되어 재해로부터 격리)
-
They’re connected with high bandwidth, ultra-low latency networking (고대역폭, 초저지연 네트워크로 상호 연결)
4. AWS Edge Locations / Points of Presence (엣지 로케이션, 접속 지점)
- Amazon has 400+ Points of Presence (400+ Edge Locations & 10+ Regional Caches) in 90+ cities across 40+ countries (AWS : 400개 이상의 접속 지점, 10개 이상의 리전 캐시 보유, 40개국 90개 이상 도시에 위치)
- Content is delivered to end users with lower latency (콘텐츠를 최종 사용자에게 낮은 지연 시간으로 전송)
AWS Global Services vs Region-scoped
(글로벌 서비스 vs 리전 범위 서비스)
1. AWS has Global Services:
- Identity and Access Management (IAM) : 자격증명 및 액세스 관리
- Route 53 (DNS service) : DNS 서비스
- CloudFront (Content Delivery Network, CDN) : 콘텐츠전송 네트워크
- WAF (Web Application Firewall) : 웹방화벽
2. Most AWS services are Region-scoped:
- Amazon EC2 (Infrastructure as a Service, IaaS) : 서비스형 인프라
- Elastic Beanstalk (Platform as a Service, PaaS) : 서비스형 플랫폼
- Lambda (Function as a Service, FaaS) : 서비스형 함수
- Rekognition (Software as a Service, SaaS) : 서비스형 소프트웨어
Identity and Access Management (IAM, 자격증명 및 액세스 관리)
1. IAM: Users & Groups
-
IAM : Identity and Access Management, Global service (글로벌 서비스)
-
Root account created by default, shouldn’t be used or shared (루트 계정은 기본 생성되며, 사용 및 공유 금지)
-
Users are people within your organization, and can be grouped (사용자는 조직 내 구성원이며 그룹으로 묶을 수 있음)
-
Groups only contain users, not other groups (그룹은 사용자만 포함 가능, 다른 그룹 포함 불가)
-
Users don’t have to belong to a group, and user can belong to multiple groups (사용자는 그룹에 속하지 않아도 되며, 여러 그룹에 동시 소속 가능)
2. IAM: Permissions
- Users or Groups can be assigned JSON documents called policies (사용자 또는 그룹에 정책이라는 JSON 문서 할당 가능)
- These policies define the permissions of the users (정책은 사용자의 권한을 정의)
- In AWS you apply the least privilege principle: don’t give more permissions than a user needs (AWS는 최소 권한 원칙 적용: 사용자에게 필요한 것 이상의 권한 부여 금지)
3. IAM: Policies Structure (IAM 정책 구조)
1. Consists of (구성 요소)
- Version: Policy language version, always include “2012-10-17” (정책 언어 버전, 항상 “2012-10-17” 사용)
- Id: an identifier for the policy (optional) (정책 식별자, 선택 사항)
- Statement: one or more individual statements (required) (하나 이상의 개별 문장, 필수)
2. Statements consists of (Statement 구성 요소)
- Sid: an identifier for the statement (optional) (문장 식별자, 선택 사항)
- Effect: whether the statement allows or denies access (Allow, Deny) (액세스 허용 또는 거부 여부)
- Principal: account/user/role to which this policy applied to (정책이 적용되는 계정/사용자/역할)
- Action: list of actions this policy allows or denies (정책이 허용 또는 거부하는 작업 목록)
- Resource: list of resources to which the actions applied to (작업이 적용되는 리소스 목록)
- Condition: conditions for when this policy is in effect (optional) (정책이 적용되는 조건, 선택 사항)
IAM Defense Mechanism (방어기제)
1. IAM – Password Policy (암호정책)
Strong passwords = higher security for your account (강력한 암호 = 계정 보안 강화)
- In AWS, you can setup a password policy (AWS에서 암호 정책 설정 가능):
- Set a minimum password length (최소 암호 길이 설정)
-
Require specific character types (특정 문자 유형 필수):
- including uppercase letters (대문자 포함)
- lowercase letters (소문자 포함)
- numbers (숫자 포함)
- non-alphanumeric characters (특수문자 포함)
-
Allows all IAM users to change their own passwords (암호변경허용)
-
Require users to change their password after some time (password expiration) (일정 시간 후 암호 변경 요구, 암호 만료)
-
Prevent password re-use (암호 재사용 방지)
2. IAM – Multi Factor Authentication (MFA, 다중 인증)
- User have access to your account and can possibly change configurations or delete resources in your AWS account (계정 액세스, 구성 변경, 리소스 삭제 가능)
- You want to protect your Root Accounts and IAM users
- MFA = password you know + security device you own (MFA = 알고 있는 암호 + 소유한 보안 장치)
Password + MFA = Successful Login
- Main benefit of MFA : if a password is stolen or hacked, the account is not compromised (암호가 도난 또는 해킹되어도 계정 손상X)
MFA devices options in AWS
- Virtual MFA device (Support for multiple tokens on a single device – ex) Google Authenticator, Authy)
- Universal 2nd factor (U2F) Security Key – YubiKey by Yubico (Support for multiple root and IAM users using a single security key, 3rd party)
- Hardware Key Fob MFA Device – Provided by Gemalto (3rd party)
- Hardware Key Fob MFA Device for AWS GovCloud(US) – Provided by SurePassID (3rd party)
How can users access AWS?
-
To access AWS, you have three options:
- AWS Management Console (protected by password + MFA) (암호 + MFA로 보호)
- AWS Command Line Interface (CLI) : protected by access keys (AWS 명령줄 인터페이스 – 액세스 키 보호)
- AWS Software Developer Kit (SDK) – for code: protected by access keys (AWS 소프트웨어 개발 키트 – 엑세스 키 보)
-
Access keys are generated through the AWS Console
-
Users manage their own access keys
-
Access Keys are secret, just like a password. Do Not share them
-
Access Key Id = username
-
Secret Access Key = password
What is the AWS CLI?
- A tool that enables you to interact with AWS services using commands in your command-line shell (명령줄 셸에서 명령어를 사용하여 AWS 서비스와 상호작용할 수 있는 도구)
- Direct access to the public APIs of AWS services (AWS 서비스의 퍼블릭 API에 직접 액세스)
- You can develop scripts to manage your resources(리소스 관리를 위한 스크립트 개발 가능)
- Alternative to using AWS Management Console (AWS 관리 콘솔 사용의 대안)
What is the AWS SDK?
- AWS Software Development Kit (AWS SDK) (AWS 소프트웨어 개발 키트)
- Language-specific APIs (set of libraries) (언어별 API, 라이브러리 집합)
- Enables you to access and manage AWS services programmatically (프로그래밍 방식으로 AWS 서비스 액세스 및 관리 가능)
- Embedded within your application (애플리케이션 내에 임베디드)
- Supports (지원 언어)
- SDK (JavaScript, Python, PHP, .NET, Ruby, Java, Go, Node.js, C++)
- Mobile SDKs (Android, iOS, …)
- IoT Device SDKs (Embedded C, Arduino, …)
- Example: AWS CLI is built on AWS SDK for Python
IAM Roles for Services
- Some AWS service will need to perform actions on your behalf (일부 AWS 서비스는 사용자를 대신하여 작업을 수행해야 함)
-
To do so, we will assign permissions to AWS services with IAM Roles (이를 위해 IAM 역할을 통해 AWS 서비스에 권한 할당)
-
Common roles:
- EC2 Instance Roles (EC2 인스턴스 역할)
- Lambda Function Roles (Lambda 함수 역할)
- Roles for CloudFormation (CloudFormation 역할)
IAM Security Tools (IAM 개발도구)
-
IAM Credentials Report (Account-level) (IAM 자격 증명 보고서, 계정 수준)
- a report that lists all your account’s users and the status of their various credentials (모든 사용자 및 다양한 자격 증명 상태 목록)
-
IAM Access Advisor (User-level) (액세스 어드바이저, 사용자 수준)
- Access advisor shows the service permissions granted to a user and when those services were last accessed. (부여된 서비스 권한 및 마지막 액세스 시간 표시)
IAM Guidelines & Best Practices
- Don’t use the root account except for AWS account setup (계정설정시 제외하고, 루트 계정 사용 금지)
- One physical user = One AWS user (1 명의 실제 사용자 = 1명 AWS 사용자)
- Assign users to groups and assign permissions to groups (사용자를 그룹에 할당하고 그룹에 권한 부여)
- Create a strong password policy (강력한 암호 정책 생성)
- Use and enforce the use of Multi Factor Authentication (MFA) (다중 인증(MFA) 사용 및 강제)
- Create and use Roles for giving permissions to AWS services (AWS 서비스 권한 부여 시 역할 활용)
- Use Access Keys for Programmatic Access (CLI/SDK) (CLI/SDK용 프로그래밍 액세스)
- Audit permissions of your account using IAM Credentials Report & IAM Access Advisor (IAM 자격 증명 보고서 및 IAM 액세스 어드바이저를 사용하여 계정 권한 감사)
- Never share IAM users & Access Keys (IAM유저 & 액세스키 절대공유금지)
IAM Section – Summary
- Users: mapped to a physical user, has a password for AWS Console (사용자: 실제 사용자 매핑, 콘솔 암호)
- Groups: contains users only (그룹: 사용자만 포함)
- Policies: JSON document that outlines permissions for users or groups (정책: 권한 정의 JSON 문서)
- Roles: for EC2 instances or AWS services (역할: EC2/AWS 서비스용)
- Security: MFA + Password Policy (보안: MFA + 암호 정책)
- AWS CLI: manage your AWS services using the command-line (명령줄 관리 도구)
- AWS SDK: manage your AWS services using a programming language (프로그래밍 언어 기반 관리)
- Access Keys: access AWS using the CLI or SDK (액세스 키: CLI/SDK 액세스)
- Audit: IAM Credential Reports & IAM Access Advisor (감사 : IAM 자격 증명 보고서 및 IAM 액세스 어드바이저)
Source: DEV Community.

![[AWS] 1. IAM (Identity and Access Management) & AWS CLI (Command Line Interface)](https://monimega.com/wp-content/uploads/2025/11/https3A2F2Fdev-to-uploads.s3.amazonaws.com2Fuploads2Farticles2Fnc9h2h2ng231aotf7j88.webp)





Leave a Reply