DevSecOps/ν΄λΌμš°λ“œ(Cloud) μ‹€μŠ΅

전체적인 AWS 아킀텍쳐λ₯Ό νŒŒμ•…ν•˜κ³  κΈ°λŠ₯ 및 λ³΄μ•ˆ 이해

μ‹œνλ¦¬ν‹°μ§€ν˜Έ 2025. 5. 12. 04:23

1. AWS EC2, IAM, S3 μ •μ˜

  1. EC2 (Elastic Compute Cloud)
    • μ„€λͺ… : EC2λŠ” AWSμ—μ„œ μ œκ³΅ν•˜λŠ” 가상 μ„œλ²„ μ„œλΉ„μŠ€μ΄λ‹€. μ‚¬μš©μžλŠ” EC2 μΈμŠ€ν„΄μŠ€λ₯Ό 톡해 가상 μ„œλ²„λ₯Ό μƒμ„±ν•˜κ³ , 이λ₯Ό 톡해 λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•  수 μžˆλ‹€.
    • μ£Όμš”κΈ°λŠ₯
      • 가상 λ¨Έμ‹ (μ„œλ²„)을 μ‰½κ²Œ μ‹œμž‘ν•˜κ³  쀑지할 수 μžˆλ‹€.
      • λ‹€μ–‘ν•œ 운영 체제(Windows, Linux λ“±)와 사양(CPU, λ©”λͺ¨λ¦¬ λ“±)을 선택 κ°€λŠ₯
      • 탄λ ₯적 ν™•μž₯ : ν•„μš”μ— 따라 μ„œλ²„λ₯Ό μžλ™μœΌλ‘œ μΆ”κ°€ν•˜κ±°λ‚˜ 제거 κ°€λŠ₯
      • λΉ„μš© νš¨μœ¨μ„± : μ‚¬μš©ν•œ 만큼만 λΉ„μš©μ„ μ§€λΆˆν•˜λŠ” μ’…λŸ‰μ œ μš”κΈˆμ œ μ‚¬μš©
  2. IAM (Identity and Access Management)
    • μ„€λͺ… : IAM은 AWS λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ ‘κ·Ό 관리λ₯Ό μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ΄λ‹€. μ‚¬μš©μžλŠ” IAM을 톡해 μ‚¬μš©μž, κ·Έλ£Ή, 역할을 μƒμ„±ν•˜κ³ , 이듀이 νŠΉμ • AWS λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•  수 μžˆλ„λ‘ κΆŒν•œμ„ μ„€μ •ν•  수 μžˆλ‹€.
    • μ£Όμš”κΈ°λŠ₯
      • μ‚¬μš©μž 생성 및 관리 : 각 μ‚¬μš©μžμ—κ²Œ AWS μ„œλΉ„μŠ€μ— λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ„ λΆ€μ—¬
      • μ—­ν• (Role) : νŠΉμ • μ„œλΉ„μŠ€κ°€ λ‹€λ₯Έ μ„œλΉ„μŠ€λ₯Ό μ ‘κ·Όν•  수 μžˆλ„λ‘ 역할을 λΆ€μ—¬ 
        • ex) EC2μ—μ„œ S3에 μ ‘κ·Ό 즉, λˆ„κ°€ κΆŒν•œμ„ μˆ˜ν–‰ν•  것인지 초점
      • μ •μ±…(Policy) : 접근을 μ œμ–΄ν•˜λŠ” κ·œμΉ™μ„ μž‘μ„±ν•˜μ—¬ λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ κΆŒν•œμ„ μ„€μ • 즉, 무엇을 ν•  수 μžˆλŠ”μ§€ 초점
      • MFA(Multi-Factor Authentication) : 두 κ°€μ§€ 인증 방법을 톡해 λ³΄μ•ˆ κ°•ν™”
  3. S3 (Simple Storage Service)
    • μ„€λͺ… : S3λŠ” AWS의 객체 μ €μž₯ μ„œλΉ„μŠ€λ‘œ, 데이터λ₯Ό 파일 ν˜•μ‹μœΌλ‘œ μ €μž₯ν•˜κ³ , μ–Έμ œλ“ μ§€ 인터넷을 톡해 μ ‘κ·Όν•  수 μžˆλ„λ‘ μ œκ³΅ν•œλ‹€. λŒ€μš©λŸ‰ 데이터λ₯Ό μ•ˆμ •μ μœΌλ‘œ μ €μž₯ν•˜κ³ , λΉ λ₯΄κ²Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ μ„€κ³„λ˜μ–΄ μžˆλ‹€.
    • μ£Όμš” κΈ°λŠ₯ 
      • λ¬΄μ œν•œ μ €μž₯ μš©λŸ‰ : 데이터λ₯Ό 거의 λ¬΄μ œν•œμœΌλ‘œ μ €μž₯ κ°€λŠ₯
      • κ³ κ°€μš©μ„± 및 내ꡬ성 : 데이터λ₯Ό μ—¬λŸ¬ 지역에 λ³΅μ œν•˜μ—¬ 높은 내ꡬ성 제곡
      • 버킷(Bucket) : 데이터λ₯Ό μ €μž₯ν•˜λŠ” λ‹¨μœ„, ν΄λ”μ²˜λŸΌ μ‚¬μš©ν•  수 μžˆλ‹€.
      • 객체(Object): S3에 μ €μž₯λ˜λŠ” 데이터 파일, 이미지, λ™μ˜μƒ, 둜그 파일 λ“±
      • μ ‘κ·Ό μ œμ–΄ : 데이터에 λŒ€ν•œ κΆŒν•œμ„ μ„Έλ°€ν•˜κ²Œ μ„€μ • κ°€λŠ₯ (버킷 μ •μ±…, IAM μ •μ±… λ“±)

 

 

 

2. AWS의 EC2 -S3 톡신 방식 아킀텍쳐 ꡬ성 및 절차

 

λͺ©ν‘œ : AWS SDK인 EC2와 S3 버킷을 μƒμ„±ν•˜μ—¬ ν†΅μ‹ ν•˜λŠ” 아킀텍쳐λ₯Ό κ΅¬μ„±ν•˜κΈ°

 

[ꡬ성도]

 μ ˆμ°¨ : 

 

  1. VPC(Virtual Private Cloud) 10.0.0.0/16으둜 μƒμ„±ν•œλ‹€.
  2. 퍼블릭 μ„œλΈŒλ„· 10.0.0.0/24 둜 μƒμ„±ν•˜μ—¬ EC2λ₯Ό 넣을 수 μžˆλŠ” κ°€μƒμ˜ 곡간을 ν™•λ³΄ν•œλ‹€.
  3. 인터넷 κ²Œμ΄νŠΈμ›¨μ΄ μƒμ„±ν•΄μ„œ 인터넷 톡신이 κ°€λŠ₯ν•˜κ²Œ 끔 ν•œλ‹€.
  4. EC2λ₯Ό μƒμ„±ν•œλ‹€.
  5. EC2κ°€ μ •μƒμ μœΌλ‘œ 접근이 λ˜λŠ”μ§€ ν™•μΈν•œλ‹€.

  6. μœ„ μ‚¬μ§„μœΌλ‘œ EC2κ°€ μ •μƒμ μœΌλ‘œ 접근이 κ°€λŠ₯ν•œ 것을 확인 ν–ˆλ‹€.
  7. S3λ₯Ό μƒμ„±ν•˜κ³  버킷 정책을 μ„€μ •ν•œλ‹€.
  8. S3 버킷 μ •μ±…


  9. S3에 ν…ŒμŠ€νŠΈμš© 폴더와 νŒŒμΌμ„ μ—…λ‘œλ“œ ν•œλ‹€. (μ΅œμ’…μ μœΌλ‘œ EC2μ—μ„œ μš”μ²­μ„ ν–ˆμ„ λ•Œ 잘 뢈러  μ˜€λŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•¨)
  10. IAM μ—­ν• (Role)을 μƒμ„±ν•˜κ³  μ •μ±…(Policy)λ₯Ό μƒμ„±ν•œλ‹€.
  11. IAM μ—­ν•  생성
  12. μœ„ IAM μ—­ν• (Role)을 EC2에 μ—°κ²°ν•œλ‹€.
  13. μ΅œμ΄ˆμ—λŠ” 인터넷 κ²Œμ΄νŠΈμ›¨μ΄λ‘œ S3와 ν†΅μ‹ ν•˜λŠ” κ΅¬μ‘°μ˜€μ§€λ§Œ 인터넷을 κ²½μœ ν•˜λ©΄ λ³΄μ•ˆ 취약성이 μ¦κ°€ν•˜λ―€λ‘œ "VPC μ—”λ“œν¬μΈνŠΈ" λ‘œ ν†΅μ‹ ν•˜κ²Œλ” ꡬ좕
  14. ping s3.ap-northeast-2.amazonaws.com λͺ…λ Ήμ–΄λ₯Ό ν™œμš©ν•˜μ—¬ S3와 μ •μƒμ μœΌλ‘œ 톡신을 ν•˜κ³  μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.
  15. 톡신이 되고 μžˆμŒμ„ 확인
  16. μ΅œμ’…μ μœΌλ‘œ EC2μ—μ„œ λ‚΄κ°€ λ§Œλ“  jjihho-bucketμ΄λΌλŠ” μ΄λ¦„μ˜ s3에 μ ‘κ·Όν•΄μ„œ Image 폴더에 μ—…λ‘œλ“œ ν•˜λŠ” 파일이 μ •μƒμ μœΌλ‘œ 좜λ ₯이 λ˜λŠ”μ§€ ν™•μΈν•œλ‹€.
  17. S3 에 μ ‘κ·Όν•˜μ—¬ 사전에 μ—…λ‘œλ“œ 해놓은 μŠ€ν¬λ¦°μƒ·μ„ 확인할 수 μžˆλ‹€.

 

[ν”Όλ“œλ°±]

 

 1. pem ν‚€λ₯Ό ssm으둜 λ³€κ²½ν•΄μ„œ EC2둜 μ ‘κ·Όν•˜λŠ” 것이 μ’‹λ‹€.

이유 : https://jiholine10.tistory.com/713

 

pem ν‚€ λŒ€μ‹  ssm(Session Manager)을 μ‚¬μš©ν•˜λŠ” 이유

ν΄λΌμš°λ“œλ₯Ό μ‹€μŠ΅ν•˜λŠ” κ³Όμ •μ—μ„œ EC2에 μ ‘κ·Όν•˜λŠ” λ°©μ‹μœΌλ‘œ pem ν‚€λ₯Ό ν™œμš©ν–ˆλ‹€. ν•˜μ§€λ§Œ pem ν‚€λ‘œ μ ‘κ·Όν•˜κΈ° λ³΄λ‹€λŠ” Session Manager (SSM)으둜 μ ‘κ·Όν•˜λŠ” 것이 μ’‹λ‹€κ³  ν”Όλ“œλ°±μ„ λ°›μ•˜λ‹€. μ˜€λŠ˜μ€ κ·Έ μ΄μœ μ— λŒ€ν•΄

jiholine10.tistory.com