/images/avatar.png

🍞πŸ₯πŸ₯– 라일리의 μ½”λ“œ λΆ€μŠ€λŸ¬κΈ° 🍞πŸ₯πŸ₯–

8. AWS Fundamentals - Load Balancing, Auto Scaling Groups and EBS Volumes

ν™•μž₯μ„±(Scalability) 및 κ³ κ°€μš©μ„±(High Availability) ν™•μž₯성은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜/μ‹œμŠ€ν…œμ΄ 더 큰 λΆ€ν•˜λ₯Ό μ²˜λ¦¬ν•  수 있게 μ μš©λ˜λŠ” 것을 의미 ν™•μž₯μ„± μ’…λ₯˜ Vertical Scalability Horizontal Scalability (= 탄λ ₯μ„±elasticity) ν™•μž₯성은 κ³  κ°€μš©μ„±(HA)κ³Ό μ—°κ²°λ˜μ–΄ μžˆμ§€λ§Œ μ„œλ‘œλ‹€λ₯΄λ‹€. Vertical Scalability 수직적 ν™•μž₯은 μΈμŠ€ν„΄μŠ€ 크기λ₯Ό 증가 μ‹œν‚€λŠ” 것을 의미 μ˜ˆμ‹œ) t2.micro -> t2.large둜 ν™•μž₯ 수직적 ν™•μž₯성은 λ°μ΄ν„°λ² μ΄μŠ€μ™€ 같은 λΉ„λΆ„μ‚° μ‹œμŠ€ν…œμ—μ„œ 맀우 일반적 RDS, ElastiCacheλŠ” 수직 ν™•μž₯이 κ°€λŠ₯ν•œ μ„œλΉ„μŠ€ 일반적으둜 μˆ˜μ§ν™•μž₯μ—λŠ” μ œν•œμ΄ 있음(ν•˜λ“œμ›¨μ–΄ μ œν•œ) Horizontal Scalability μˆ˜ν‰μ  ν™•μž₯은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μΈμŠ€ν„΄μŠ€ ν˜Ήμ€ μ‹œμŠ€ν…œ 수 증가 λΆ„μ‚° μ‹œμŠ€ν…œμ„ 의미 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜/ν˜„λŒ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 맀우 일반적 Amazon EC2와 같은 ν΄λΌμš°λ“œ μ œν’ˆ 덕뢄에 μˆ˜ν‰ν™•μž₯ 용이 High Availability κ³ κ°€μš©μ„±(HA)은 일반적으둜 μˆ˜ν‰ ν™•μž₯κ³Ό ν•¨κ»˜ 제곡 μ΅œμ†Œ 두 개의 데이터 μ„Όν„°(=AZ)μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μ‹œμŠ€ν…œμ„ μ‹€ν–‰ν•˜λŠ” 것을 의미 κ³ κ°€μš©μ„±μ˜ λͺ©ν‘œλŠ” 데이터 μ„Όν„° μ†μ‹€μ—μ„œ μ‚΄μ•„ λ‚¨λŠ” 것 κ³ κ°€μš©μ„±μ€ μˆ˜λ™μ μΌ 수 있음 (RDS Multi AZ의 경우) κ³ κ°€μš©μ„±μ€ ν™œμ„±ν™” ν•  수 있음 (μˆ˜ν‰μ  ν™•μž₯을 μœ„ν•΄) EC2λ₯Ό μœ„ν•œ κ³ κ°€μš©μ„± 및 ν™•μž₯μ„± Vertical Scaling : μΈμŠ€ν„΄μŠ€ μ‚¬μ΄μ¦ˆλ₯Ό λŠ˜λ¦°λ‹€.

7. AWS EC2 Instance Storage

EBS Volume EBS(Elastic Block Store) Volume은 λ³Όλ₯¨ μΈμŠ€ν„΄μŠ€κ°€ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•  수 μžˆλŠ” λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λΈŒμ΄λ‹€. μΈμŠ€ν„΄μŠ€κ°€ μ’…λ£Œλœ 후에도 데이터λ₯Ό μœ μ§€ν•  수 μžˆλ‹€. ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€μ—λ§Œ 마운트 ν•  수 μžˆλ‹€. (CCP 레벨) CCP 레벨 : ν•˜λ‚˜μ˜ EBSλŠ” ν•˜λ‚˜μ˜ EC2 μΈμŠ€ν„΄μŠ€μ—λ§Œ 마운트 κ°€λŠ₯ Associate Level: 일뢀 EBS 닀쀑 μ—°κ²° νŠΉμ • κ°€μš© μ˜μ—­μ—λ°” 바인딩 λ˜μ–΄ μžˆλ‹€. λ„€νŠΈμ›Œν¬ USB μŠ€ν‹±κ³Ό μœ μ‚¬ν•˜λ‹€. ν”„λ¦¬ν‹°μ–΄λŠ” ν•œ 달 30GB의 일반 μš©λ„ (SSD) λ˜λŠ” λ§ˆκ·Έλ„€ν‹± μœ ν˜•μœΌλ‘œ 제곡 EBS Volume νŠΉμ§• λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λΈŒμ΄λ‹€.

26. AWS Identity and Access Management - Advanced

STS - Security Token Service AWS λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ œν•œμ μ΄κ³  μΌμ‹œμ μΈ μ•‘μ„ΈμŠ€ κΆŒν•œμ„ ν—ˆμš© 토큰은 1 μ‹œκ°„κΉŒμ§€ 유효 (μƒˆλ‘œκ³ μΉ¨ ν•„μš”) STS API STS API μ„€λͺ… AssumeRole - 개인 계정 λ‚΄μ—μ„œ: λ³΄μ•ˆμ„ κ°•ν™”ν•˜κΈ° μœ„ν•΄ μ‚¬μš© - 계정 κ°„ : λŒ€μƒ 계정에 역할을 μˆ˜μž„ν•˜μ—¬ μž‘μ—…μ„ μˆ˜ν–‰ AssumeRoleWithSAML - SAML으둜 λ‘œκ·ΈμΈν•œ μ‚¬μš©μžμ˜ 자격증λͺ…을 λ°˜ν™˜ AssumeRoleWithWebIdentity - IdP(Identity Provider - Facebook Login, Google Login, OIDC Compatible…) 둜그인 μ‚¬μš©μžμ˜ 자격증λͺ…을 λ°˜ν™˜ - μ΄κ²ƒλ³΄λ‹€λŠ” AWS Cognito μΆ”μ²œν•¨ GetSessionToken - AWS 루트 계정 λ˜λŠ” μ‚¬μš©μžμ— λŒ€ν•œ MFA 인증 STSλ₯Ό 톡해 역할을 μˆ˜μž„λ°›κΈ° IAM 계정 λ‚΄ ν˜Ήμ€ 계정 κ°„ IAM μ—­ν• (Role)을 μ •μ˜ν•œλ‹€.

6. AWS Elastic Compute Cloud (EC2) - Associate

Private vs Public IP (IPv4) λ„€νŠΈμ›Œν¬λŠ” IPv4, IPv6 두 κ°€μ§€λ‘œ λΆ„λ₯˜ ν•  수 μžˆλ‹€. IPv4 : 1.160.10.240 IPv6 : 3ffe:1900:4545:3:200:f8ff:fe21:67cf λŒ€λΆ€λΆ„μ˜ μ˜¨λΌμΈμ—μ„œλŠ” IPv4λ₯Ό λ²”μš©μ μœΌλ‘œ μ‚¬μš© IPv6 사물인터넷(IoT) 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μƒˆλ‘œ λ“±μž₯함 IPv4λŠ” 퍼블릭 μ˜μ—­μ—μ„œ 37μ–΅κ°œμ˜ μ„œλ‘œ λ‹€λ₯Έ μ£Όμ†Œλ₯Ό ν—ˆμš© IPv4:[0-255].[0-255].[0-255].[0-255] Private vs Public IP 차이점 Public IP Public IPλŠ” 컴퓨터가 인터넷상(WWW)μ—μ„œ 식별될 수 μžˆμŒμ„ 의미 전체 μ›Ήμ—μ„œ κ³ μœ ν•΄μ•Ό ν•œλ‹€. (두 개의 머신이 같은 public IPλ₯Ό 갖을 수 μ—†λ‹€) μ‰½κ²Œ 지리적 μœ„μΉ˜λ₯Ό 찾을 수 있음 Private IP Private IPλŠ” 컴퓨터가 사섀 λ„€νŠΈμ›Œν¬λ§μ—μ„œλ§Œ 식별될 수 μžˆμŒμ„ 의미 IPλŠ” 사섀 λ„€νŠΈμ›Œν¬μ—μ„œ κ³ μœ ν•΄μ•Ό ν•œλ‹€.

5. AWS EC2 Basics

Amazon EC2 EC2λŠ” AWS의 κ°€μž₯ μΈκΈ°μžˆλŠ” μ„œλΉ„μŠ€μ΄λ‹€. Elastic Compute Cloud = Infrastructure as a service ν΄λΌμš°λ“œμ˜ μž‘λ™ 방식을 μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ” EC2λ₯Ό μ΄ν•΄ν•˜λŠ” 것이 μ€‘μš”ν•˜λ‹€. ꡬ성할 수 μžˆλŠ” κΈ°λŠ₯ 가상 λ¨Έμ‹  μž„λŒ€ (EC2) 가상 λ“œλΌμ΄λΈŒμ— 데이터λ₯Ό μ €μž₯ (EBS) μ‹œμŠ€ν…œ κ°„ λΆ€ν•˜ λΆ„μ‚° (ELB) auto-scaling group(ASG)λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€ ν™•μž₯ EC2 sizing & configuration options Operating System(OS) : Linux, Windows or Mac OS 컴퓨터 μ„±λŠ₯κ³Ό μ½”μ–΄μ–‘ 선택 κ°€λŠ₯ (CPU) random-access memory (RAM) μŠ€ν† λ¦¬μ§€ μš©λŸ‰ Network-attached (EBS & EFS) hardware (EC2 Instance Store) Network card: λ„€νŠΈμ›Œν¬ μΉ΄λ“œ 속도, 곡용 IP μ£Όμ†Œ λ°©ν™”λ²½ κ·œμΉ™ : security group Bootstrap script (configure at first launch): EC2 User Data EC2 User Data EC2 μ‚¬μš©μž 데이터 슀크립트λ₯Ό μ‚¬μš©ν•˜μ—¬ μΈμŠ€ν„΄μŠ€λ₯Ό λΆ€νŠΈμŠ€νŠΈλž© ν•  수 μžˆλ‹€.

1. AWS Identity and Access Management

Users & Groups IAM = Identity and Access Management β†’ Global μ„œλΉ„μŠ€ Root 계정은 기본으둜 μƒμ„±λ˜λ©° μ‚¬μš©ν•˜κ±°λ‚˜ κ³΅μœ ν•΄μ„œλŠ” μ•ˆλœλ‹€. Users λŠ” 쑰직의 μ‚¬μš©μžμ΄λ©° 그룹으둜 묢을 수 μžˆλ‹€. GroupsλŠ” userλ₯Ό 포함할 수 있고 λ‹€λ₯Έ 그룹은 포함할 수 μ—†λ‹€. μ‚¬μš©μžλŠ” 그룹에 속할 ν•„μš”λŠ” μ—†κ³  userλŠ” μ—¬λŸ¬ 그룹에 속할 수 μžˆλ‹€. Permissions μ‚¬μš©μžλ‚˜ 그룹은 정책은 JSON λ¬Έμ„œλ₯Ό 톡해 ν• λ‹Ήν•  수 μžˆλ‹€. μ •μ±…(polices)은 μ‚¬μš©μžμ˜ κΆŒν•œ(permissions)을 μ •μ˜ν•œλ‹€. AWSμ—μ„œλŠ” μ΅œμ†Œ κΆŒν•œ 원칙을 μ μš©ν•œλ‹€ β†’ μ‚¬μš©μžκ°€ ν•„μš”λ‘œ ν•˜λŠ” 것보닀 더 λ§Žμ€ κΆŒν•œμ„ λΆ€μ—¬ν•˜μ§€ μ•ŠλŠ”λ‹€.