[Cloud] Cloud DB(2) - EC2 & S3

[Cloud] Cloud DB(2) - EC2 & S3

πŸ’Ύ Cloud DB 전곡 μˆ˜μ—… 정리

Amazon EC2


πŸ“šAmazon EC2(Elastic Compute Cloud): ν΄λΌμš°λ“œ ν™˜κ²½μ—μ„œ κ°€μƒμ„œλ²„ μƒμ„±ν•˜κ³  관리가 κ°€λŠ₯ν•œ μ„œλΉ„μŠ€

  • λ³„λ„μ˜ 물리 μ„œλ²„ ꡬ좕 없이도 μ›ν•˜λŠ” μ»΄ν“¨νŒ… λ¦¬μ†ŒμŠ€λ₯Ό μœ μ—°ν•˜κ²Œ ν™œμš© κ°€λŠ₯.

Instance μœ ν˜•


  1. λ²”μš©(General Purpose): CPU와 λ©”λͺ¨λ¦¬μ˜ κ· ν˜•μ΄ 잘 μž‘ν˜€ μžˆμ–΄ μ›Ή μ„œλ²„λ‚˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ λ“± λ‹€λ°©λ©΄μœΌλ‘œ μ‚¬μš©ν•˜κΈ° 적합
  2. 계산 μ΅œμ ν™”(Compute Optimized): CPU μ„±λŠ₯에 쀑점을 λ‘” μΈμŠ€ν„΄μŠ€λ‘œ, μ—°μ‚° 집약적 μž‘μ—…μ— 효과적
  3. λ©”λͺ¨λ¦¬ μ΅œμ ν™”(Memory Optimized): λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ΄ λ§Žμ€ λ°μ΄ν„°λ² μ΄μŠ€λ‚˜ 인메λͺ¨λ¦¬ μΊμ‹œ 등에 적합
  4. μŠ€ν† λ¦¬μ§€ μ΅œμ ν™”(Storage Optimized): 데이터 μž…μΆœλ ₯이 λ§Žμ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λΉ λ₯Έ I/O μ„±λŠ₯을 제곡
  5. GPU μΈμŠ€ν„΄μŠ€: κ·Έλž˜ν”½ μ²˜λ¦¬λ‚˜ λ¨Έμ‹ λŸ¬λ‹ μž‘μ—… λ“±, 병렬 처리 λŠ₯λ ₯이 ν•„μš”ν•œ κ²½μš°μ— μ‚¬μš©
  • μ„œλ²„ μ„±λŠ₯ κ²°μ • μš”μΈ: CPU μ½”μ–΄μˆ˜, 클럭 속도, λ©”λͺ¨λ¦¬ μš©λŸ‰, μŠ€ν† λ¦¬μ§€ μ„±λŠ₯, λ„€νŠΈμ›Œν¬ λŒ€μ—­ν­ λ“± ꡬ체적인 μš”κ΅¬μ‚¬ν•­μ— 따라 졜적의 μΈμŠ€ν„΄μŠ€ μœ ν˜•μ„ 선택

μ„œλ²„ μžλ™ μΆ”κ°€ 및 제거


πŸ“šAuto Scaling: λΆ€ν•˜μƒν™©μ— 맞게 μ„œλ²„ μΆ”κ°€ 및 제거λ₯Ό μžλ™μœΌλ‘œ μˆ˜ν–‰ν•˜λŠ” κΈ°λŠ₯

  • μ„œλ²„ μΆ”κ°€: Scale out, μ„œλ²„ 제거: Scale in

alt text

alt text

AWS S3


πŸ“šAmazon S3(Simple Storage Service): Amazonμ—μ„œ μ œκ³΅ν•˜λŠ” 객체 μŠ€ν† λ¦¬μ§€ μ„œλΉ„μŠ€

  • 데이터λ₯Ό 객체 λ‹¨μœ„λ‘œ μ €μž₯, λ¬΄μ œν•œ ν™•μž₯ κ°€λŠ₯, 내ꡬ성이 λ†’μ•„ λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©
객체 μŠ€ν† λ¦¬μ§€

πŸ“šκ°μ²΄ μŠ€ν† λ¦¬μ§€: 파일 μ‹œμŠ€ν…œμ΄λ‚˜ 블둝 μŠ€ν† λ¦¬μ§€μ™€λŠ” 달리 데이터λ₯Ό 객체(파일과 λ©”νƒ€λ°μ΄ν„°μ˜ μ§‘ν•©) ν˜•νƒœλ‘œ μ €μž₯ν•˜λŠ” 방식. (μ˜€λ‘œμ§€ 파일 λ³΄κ΄€λ§Œ κ°€λŠ₯)

  • 각 κ°μ²΄λŠ” κ³ μœ ν•œ μ‹λ³„μžμΈ ν‚€(Key)λ₯Ό 가짐.
  • λ³„λ„μ˜ 계측 ꡬ쑰 없이 버킷(Bucket)에 μ €μž₯됨.
  • ν™•μž₯μ„±, 내ꡬ성, 관리 νŽΈμ˜μ„±μ΄ 뛰어남

  • 버킷(Bucket)
    • S3μ—μ„œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” κΈ°λ³Έ μ»¨ν…Œμ΄λ„ˆ. λͺ¨λ“  κ°μ²΄λŠ” νŠΉμ • 버킷 내에 μ €μž₯됨.
    • μ „ μ„Έκ³„μ—μ„œ 고유 κ°’. 리전에 상관없이 μ€‘λ³΅λœ 이름이 μ‘΄μž¬ν•  수 있음.
  • κΈ€λ‘œλ²Œ μ„œλΉ„μŠ€μ΄μ§€λ§Œ λ°μ΄ν„°λŠ” 리전에 μ €μž₯
  • λ¬΄μ œν•œμš©λŸ‰, ν•˜λ‚˜μ˜ κ°μ²΄λŠ” 5TB

βœ…S3 νŠΉμ§•


  1. ν™•μž₯μ„±
    • S3λŠ” μ €μž₯μš©λŸ‰μ— μ œν•œμ΄ μ—†μœΌλ©°, μ‚¬μš©μž μš”κ΅¬μ— 맞좰 μžλ™μœΌλ‘œ ν™•μž₯됨
  2. 내ꡬ성 및 κ°€μš©μ„±
    • S3λŠ” 데이터λ₯Ό μ—¬λŸ¬ κ°€μš©μ˜μ—­(AZ)에 쀑볡 μ €μž₯ν•˜μ—¬ 99.999999999%(11 9's)의 내ꡬ성을 제곡
  3. λΉ„μš© νš¨μœ¨μ„±
    • μ‚¬μš©ν•œ 만큼 κ³ΌκΈˆν•˜λŠ” Pay-as-you-go λͺ¨λΈμ΄ κΈ°λ³Έ, 데이터 μ ‘κ·Ό λΉˆλ„μ— 따라 λ‹€μ–‘ν•œ μŠ€ν† λ¦¬μ§€ 클래슀λ₯Ό 선택 κ°€λŠ₯
  4. μœ μ—°ν•œ 데이터 관리
  5. λ³΄μ•ˆ κΈ°λŠ₯

λ‹€λ₯Έ μ„œλΉ„μŠ€μ™€μ˜ 연계


  1. EC2μ™€μ˜ 연계:
    β†’ S3에 μ €μž₯된 데이터λ₯Ό EC2 μΈμŠ€ν„΄μŠ€μ—μ„œ μ‰½κ²Œ μ½κ±°λ‚˜ μ“Έ 수 있음

  2. CloudFront와 연계:
    β†’ CloudFront와 μ—°κ³„ν•΄μ„œ 캐싱 및 μ½˜ν…μΈ  전솑 λ„€νŠΈμ›Œν¬(CDN)으둜 ν™œμš© κ°€λŠ₯
    • 정적 μ½˜ν…μΈ λ₯Ό μ „ 세계 μ‚¬μš©μžμ—κ²Œ λΉ λ₯΄κ²Œ μ „λ‹¬ν•˜κΈ° μœ„ν•΄μ„œ
  3. Lambda와 연계: β†’ S3에 객체가 μΆ”κ°€/μˆ˜μ •λ  λ•Œ νŠΈλ¦¬κ±°λ˜μ–΄ μžλ™μœΌλ‘œ AWS Lambda ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜λ„λ‘ ꡬ성 κ°€λŠ₯

  4. Glacier 및 기타 뢄석 μ„œλΉ„μŠ€μ™€ 연계: β†’ 데이터 μž₯κΈ° λ³΄κ΄€μ΄λ‚˜ 데이터 뢄석 μ„œλΉ„μŠ€(Athena, Redshift, EMR λ“±)μ™€μ˜ μ—°κ³„λ‘œ λ°©λŒ€ν•œ 데이터λ₯Ό 효율적으둜 관리 κ°€λŠ₯

βœ…S3 객체의 ꡬ성


  • Owner: μ†Œμœ μž
  • Key: 파일의 이름
  • Value: 파일의 데이터
  • Version Id: 파일의 버전 아이디
  • Metadata: 파일의 정보λ₯Ό 담은 데이터
  • ACL: 파일의 κΆŒν•œμ„ 담은 데이터
  • Torrents: ν† λ ŒνŠΈ 곡유λ₯Ό μœ„ν•œ 데이터

S3 λ³΄μ•ˆ μ„€μ •


  • S3의 λͺ¨λ“  버킷은 μƒˆλ‘œ μƒμ„±μ‹œ 기본적으둜 λΉ„κ³΅κ°œ
    • 섀정을 톡해 λΆˆνŠΉμ • λ‹€μˆ˜μ—κ²Œ 곡개 κ°€λŠ₯
  • λ³΄μ•ˆ 섀정은 객체 λ‹¨μœ„μ™€ 버킷 λ‹¨μœ„λ‘œ ꡬ성
    • Bucket policy: 버킷 λ‹¨μœ„
    • ACL(Access Control List): 객체 λ‹¨μœ„ β†’ μš”μ¦˜μ€ 잘 μ•ˆμ“°μž„
  • MFAλ₯Ό ν™œμš©ν•΄ 객체 μ‚­μ œ λ°©μ§€ κ°€λŠ₯
  • Versioning을 톡해 파일 관리 κ°€λŠ₯
  • μ•‘μ„ΈμŠ€ 둜그 생성 및 전솑 κ°€λŠ₯