S3 Lifecycle Rule

1. Moving between storage classes

λ°”λ‘œ μ „ ν¬μŠ€νŒ…μ—μ„œ ν™•μΈν•œ κ²ƒμ²˜λŸΌ μŠ€ν† λ¦¬μ§€ ν΄λž˜μŠ€κ°„ 객체의 μ „ν™˜μ΄ κ°€λŠ₯ν•˜λ‹€
μ–΄λ–€ λ°©μ‹μœΌλ‘œ κ°€λŠ₯ν•œμ§€ μ•Œμ•„λ³΄μž

image-20220811021446741

  • μŠ€ν† λ¦¬μ§€ 클래슀 κ°„μ˜ 객체λ₯Ό μ „ν™˜(이동)μ‹œν‚¬μˆ˜ μžˆλ‹€.

  • 자주 μ•‘μ„ΈμŠ€ν•˜μ§€ μ•ŠλŠ” 객체의 경우 Standard_IA 둜 μ΄λ™ν•œλ‹€.
  • 아카이빙을 μœ„ν•œ κ°μ²΄μ—μ„œλŠ” μ‹€μ‹œκ°„μ΄ ν•„μš”ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, Glacier λ˜λŠ” Deep_Archiveλ₯Ό μ‚¬μš©
  • 객체 클래슀 μ „ν™˜μ€ 수λͺ…μ£ΌκΈ°μ„€μ • 을 μ‚¬μš©ν•¨μœΌλ‘œμ„œ μžλ™μœΌλ‘œ 관리할 수 μžˆλ‹€.
    • μˆ˜λ™μœΌλ‘œλ„ 객체 κ°„ 클래슀 이동을 μ‹œν‚¬μˆ˜ μžˆλ‹€. (μ§€λ‚œ ν¬μŠ€νŒ… μ‹€μŠ΅ μ°Έκ³ )

2. Lifecycle Rules

수λͺ…μ£ΌκΈ°κ·œμΉ™ μ΄λž€?

  • μ „ν™˜ μž‘μ—… (Transition actions)
    • 객체λ₯Ό ν•œ μŠ€ν† λ¦¬μ§€ ν΄λž˜μŠ€μ—μ„œ λ‹€λ₯Έ μŠ€ν† λ¦¬μ§€ 클래슀둜 μ „ν™˜ν•˜λŠ”λ°μ— 도움을 μ£ΌλŠ” μž‘μ—…μ΄λ‹€.
      • λ§Œμ•½ 객체 생성후 60일 κ²½κ³Ό –> Standard-IA 둜 보낸닀
      • 6κ°œμ›” κ²½κ³Όν•˜λ©΄ 아카이빙을 μœ„ν•΄ Glacier 둜 보낸닀.
  • 만료 μž‘μ—…(Expiration actions)
    • 일정 기간이 μ§€λ‚œ ν›„ 객체λ₯Ό μ‚­μ œν•˜λŠ” μž‘μ—…
      • μ•‘μ„ΈμŠ€ λ‘œκ·ΈνŒŒμΌλ“€μ΄ 1년이 μ§€λ‚˜μ„œ 더이상 ν•„μš”κ°€ 없어지면 μ‚­μ œ
      • 파일의 였래된 버전을 μ‚­μ œν•˜λŠ” 데에도 μ‚¬μš©λœλ‹€. (versioning κΈ°λŠ₯을 μ‚¬μš©ν•  경우)
        • 60일 이상 μ§€λ‚œ μ΄μ „μ˜ 버전은 ν•„μš”κ°€ μ—†λ‹€λ©΄ λ§Œλ£Œμž‘μ—…μ„ κ΅¬μ„±ν•΄μ„œ μ‚­μ œ
      • μ™„λ£Œλ˜μ§€ μ•Šμ€ 닀쀑 파트 μ—…λ‘œλ“œλ₯Ό μ •λ¦¬ν•˜λŠ”λ°μ—λ„ μ‚¬μš©λœλ‹€.
        • λΆ„ν• λœ νŒŒνŠΈκ°€ 30μΌλ™μ•ˆ λ– λŒκ³  있고 μ ˆλŒ€ μ™„λ£Œλ˜μ§€ μ•Šμ„λ•Œ μ΄λŸ¬ν•œ 파트λ₯Ό μ œκ±°ν•˜κΈ° μœ„ν•΄ λ§Œλ£Œμž‘μ—…μ„ κ΅¬μ„±ν•œλ‹€.
  • νŠΉμ • 접두어에 κ·œμΉ™μ„ μ μš©ν•  μˆ˜λ„ μžˆλ‹€.
    • λ§Œμ•½ λͺ¨λ“  MP3 파일이 β€œMP3” 폴더에 μžˆκ±°λ‚˜, 접두어λ₯Ό 가지고 μžˆλ‹€λ©΄ 수λͺ…μ£ΌκΈ°κ·œμΉ™μ„ ν•΄λ‹Ή μ ‘λ‘μ–΄μ—λ§Œ μ„€μ •ν•  μˆ˜λ„ μžˆλ‹€.
    • ex) s3://mybucket/mp3/*
  • νŠΉμ • 객체 νƒœκ·Έλ₯Ό μœ„ν•΄ κ·œμΉ™μ„ 생성할 μˆ˜λ„ μžˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, β€œDepartment: Financeβ€λ‘œ νƒœκ·Έλœ κ°μ²΄μ—λ§Œ κ·œμΉ™μ„ μ μš©ν•˜κ³  μ‹Άλ‹€λ©΄ 그것도 κ°€λŠ₯
    • ex) Department: Finance

3. Lifecycle μ‹œλ‚˜λ¦¬μ˜€

3-1. μ‹œλ‚˜λ¦¬μ˜€1

ν”„λ‘œν•„ 사진이 S3에 μ—…λ‘œλ“œλœ ν›„ EC2의 App이 썸넀일을 μƒμ„±ν•œλ‹€. 이 썸넀일은 μ†μ‰½κ²Œ μž¬μƒμ„±ν•  수 있으며 45μΌκ°„λ§Œ λ³΄κ΄€λ©λ‹ˆλ‹€. 45일 λ™μ•ˆμ€ 원본 사진 νŒŒμΌμ„ μ¦‰μ‹œ νšŒμˆ˜ν•  수 있으며 μ΄ν›„μ—λŠ” μœ μ €κ°€ μ΅œλŒ€ 6μ‹œκ°„κΉŒμ§€ 기닀릴 수 μžˆλ‹€. μ΄λŸ¬ν•œ μ†”λ£¨μ…˜μ„ μ–΄λ–»κ²Œ 섀계할 수 μžˆμ„κΉŒ?

  • S3 원본 사진은 Standard ν΄λž˜μŠ€μ— 두고 수λͺ…주기ꡬ성을 μ„€μ •ν•΄μ„œ 45일 ν›„ Glacier둜 보낸닀.
  • 썸넀일은 Onezone_IA 에 두면 λœλ‹€. μž¬μƒμ„±μ΄ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 수λͺ…주기ꡬ성을 톡해 45일 ν›„ 만료 ν˜Ήμ€ μ‚­μ œμ‹œν‚¬ μˆ˜λ„ μžˆλ‹€. 45일 ν›„μ—” 썸넀일이 ν•„μš”μ—†μœΌλ‹ˆ μ‚­μ œ, 원본 사진을 Glacier둜 보내고 썸넀일은 Onezone_IA에 μ €μž₯, λΉ„μš©μ΄ 절감되기 λ•Œλ¬Έμ΄λ‹€.

AWSμ—μ„œ 전체AZλ₯Ό μžƒμ„ 상황을 λŒ€λΉ„ν•΄ 원본 μ‚¬μ§„μœΌλ‘œλΆ€ν„° μ‰½κ²Œ 썸넀일을 μž¬μƒμ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
S3 버킷에 λŒ€ν•œ λΉ„μš© 효율이 κ°€μž₯ 높은 μ†”λ£¨μ…˜μ΄ 될 것이닀.



3-2 μ‹œλ‚˜λ¦¬μ˜€2

νšŒμ‚¬μ—μ„œλŠ” μΌμ–΄λ‚˜λŠ” κ²½μš°κ°€ λ“œλ¬Όμ§€λ§Œ, 15일 λ™μ•ˆμ€ μ‚­μ œλœ S3 객체λ₯Ό μ¦‰μ‹œ 볡ꡬ할 수 μžˆλŠ” κ·œμΉ™μ΄ μžˆλ‹€κ³  ν•˜μž. 그리고 κ·Έ 이후 μ΅œλŒ€ 1λ…„κΉŒμ§€λŠ” μ‚­μ œν•œ 객체 48μ‹œκ°„ 내에 볡ꡬ할 수 μžˆλ‹€. μ΄λŸ¬ν•œ μ†”λ£¨μ…˜μ„ μ„€κ³„ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ?

  1. S3 버저닝을 ν—ˆμš©ν•˜κ³ , νŒŒμΌμ„ μ‚­μ œλŠ” ν•˜λ˜ λ³΅κ΅¬μ‹œν‚€κΈΈ μ›ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. λ²„μ €λ‹μœΌλ‘œ 객체 버전을 κ°€μ§ˆ 수 있으며 μ‚­μ œλœ κ°μ²΄λŠ” μ‚­μ œ 마컀λ₯Ό 달고 숨겨져 μ‰½κ²Œ 볡ꡬ할 수 있기 λ•Œλ¬Έμ΄λ‹€.

  2. ν•˜μ§€λ§Œ, μ΅œμ‹ μ΄ μ•„λ‹Œ 버전듀, 즉 객체의 이전 버전듀도 κ°€μ§€κ²Œ 될것이닀. κ·Έλž˜μ„œ 이 였래된 버전듀은 S3_IA둜 μ „ν™˜μ„ μ‹œν‚¨λ‹€. μ™œλƒν•˜λ©΄ 였래된 버전에 μ•‘μ„ΈμŠ€ν•  일은 μ•„μ£Ό λ“œλ¬Όμ§€λ§Œ, λ§Œμ•½ μ•‘μ„ΈμŠ€ν•˜λŠ” 경우 볡ꡬ가 μ¦‰μ‹œ 이뀄져야 ν•˜κΈ° λ•Œλ¬Έ

  3. 그리고, 이 였래된 버전듀을 볡ꡬ할 수 μžˆλŠ” 15일의 기간이 μ§€λ‚˜λ©΄ 이듀을 Deep_Archive둜 μ „ν™˜μ‹œμΌœμ„œ 100일or365일 λ™μ•ˆ λ³΄κ΄€μ‹œν‚€λ„λ‘ ν•œλ‹€. 이듀은 μ•„μΉ΄μ΄λΈŒλ˜μ–΄ 48μ‹œκ°„ 내에 볡ꡬ가 κ°€λŠ₯해진닀.

    • μ™œ Glacierλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”κ±ΈκΉŒ?
      • GlacierλŠ” λΉ„μš©μ΄ μ’€ 더 λΉ„μ‹Έλ©° 48μ‹œκ°„μ΄λΌλŠ” μ‹œκ°„μ΄ μ£Όμ–΄μ‘ŒκΈ° λ•Œλ¬Έμ— ν‹°μ–΄λ₯Ό Deep_ArchiveκΉŒμ§€ μ˜¬λ €μ„œ λΉ„μš©μ„ 더 μ ˆμ•½ν•  수 있기 λ•Œλ¬Έμ΄λ‹€.

4. Life Cycle Rules μ‹€μŠ΅

수λͺ…μ£ΌκΈ°μ‹€μŠ΅μ„ μ§„ν–‰ν•΄λ³΄μž

S3 의 Bucket에 듀어가보면 μ•„λž˜μ™€ 같은 화면을 λ³Ό 수 있고, 그쀑 Management(관리) 탭에 λ“€μ–΄κ°€λ©΄ 수λͺ…μ£ΌκΈ°κ·œμΉ™μ„ μ„€μ •ν•  수 μžˆλ‹€.

image-20220811024244099

수λͺ…μ£ΌκΈ° κ·œμΉ™ 생성 λ²„νŠΌμ„ 눌러 μ•„λž˜μ™€ 같은 정보λ₯Ό μž…λ ₯ν•˜μ—¬ 수λͺ…μ£ΌκΈ°κ·œμΉ™μ„ 생성할 수 μžˆκ²Œλœλ‹€.

  • κ·œμΉ™ λ²”μœ„ 선택 (Choose a rule scope)
    • ν•˜λ‚˜ μ΄μƒμ˜ ν•„ν„°λ₯Ό μ‚¬μš©ν•˜μ—¬ 이 κ·œμΉ™μ˜ λ²”μœ„ μ œν•œ (Limit the scope of this rule using one or more filters)
      • 접두사 ν•„ν„°
      • 객체 νƒœκ·Έ ν•„ν„°
    • λ²„ν‚·μ˜ λͺ¨λ“  객체에 적용 (This rule applies to all objects in the bucket)
      • ν•΄λ‹Ή 버킷에 λ“€μ–΄κ°€λŠ” λͺ¨λ“  κ°μ²΄λ“€μ—κ²Œ 수λͺ…μ£ΌκΈ°κ·œμΉ™μ„ μ μš©μ‹œν‚¨λ‹€
  • 수λͺ… μ£ΌκΈ° κ·œμΉ™ μž‘μ—… (Lifecycle rule actions) –> 2번 λͺ©μ°¨μ—μ„œ 배운 λ‚΄μš©
    • μŠ€ν† λ¦¬μ§€ 클래슀 κ°„μ˜ 객체의 ν˜„μž¬ 버전 이동
      • ν˜„μž¬: 버저닝이 ν™œμ„±ν™”λœ 경우 객체의 μ΅œμ‹  버전을 의미
    • μŠ€ν† λ¦¬μ§€ 클래슀 κ°„μ˜ 객체의 이전 버전 이동
      • 이전: 버저닝이 ν™œμ„±ν™”λœ 경우 ν˜„μž¬ 객체가 μ•„λ‹Œ λ‹€λ₯Έ λͺ¨λ“  버전듀
    • 객체의 ν˜„μž¬ 버전 만료
    • 객체의 이전 버전 영ꡬ μ‚­μ œ
    • 만료된 객체 μ‚­μ œ 마컀 λ˜λŠ” μ™„λ£Œλ˜μ§€ μ•Šμ€ λ©€ν‹°νŒŒνŠΈ μ—…λ‘œλ“œ μ‚­μ œ

image-20220811025144295

30일 ν›„ - Standard_IA 둜 이동

70일 ν›„ - Intelligent-Tiering 이동

180일 ν›„ - Glacier 이동

365일 ν›„ - Glacier Deep Archive 이동

image-20220811025526263

μœ„μ™€ 같이 μ „ν™˜μž‘μ—… / λ§Œλ£Œμž‘μ—…μ„ μ„žμ–΄κ°€λ©° μ›ν•˜λŠ” μ‹œλ‚˜λ¦¬μ˜€λŒ€λ‘œ κ·œμΉ™μ„ λ§Œλ“€κ³ 
λ§ˆμ§€λ§‰μ— κ·œμΉ™μ„ μš”μ•½ν•œ λ‚΄μš©μ„ λ³Ό 수 μžˆλ‹€.

λ²„μ €λ‹λœ κ°μ²΄νŒŒμΌμ—μ„œ ν˜„μž¬(μ΅œμ‹ ) 버전은 μ–΄λ–»κ²Œ 할것이고, 이전(ν˜„μž¬λ²„μ „μ΄ μ•„λ‹Œ 이전 버전듀) 버전은 μ–΄λ–»κ²Œ μž‘μ—…ν•  것인지 μ•„λž˜μ˜ 사진 처럼 정리가 λ˜μ–΄μ Έμ„œ 보여진닀.

image-20220811025948017

νƒœκ·Έ: , , , ,

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°