AWS Global Infrastructure
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 액세스 어드바이저)





Top comments (0)