S3 - Baseline Performance
S3μ κΈ°μ€ μ±λ₯μ λν΄ μμ보μ
- S3 λ μλμΌλ‘ μμ£Ό λ§μ μμ μμ²μ μ²λ¦¬νλλ‘ μ€μΌμΌλ§μ΄ κ°λ₯νλ©°, 첫 λ°μ΄νΈλ₯Ό μ»κΈ°κΉμ§ 100-200ms
μ λλ‘ μ§μ° μκ°μ΄ κ΅μ₯ν 짧λ€. - μ΄λΉ κ°λ₯ν μμ²μΌλ‘ νμ°νλ©΄ μ λμ΄ λ° μ΄λΉ 3,500κ°μ PUT/ COPY/ POST/ DELETE μμ²μ μ²λ¦¬νλ©° μ λμ΄ λ° μ΄λΉ 5,500κ°μ GET/ HEAD μμ²μ λ²ν· λ΄μμ μ²λ¦¬νλ μλμ΄λ€.
- μμ£Ό κ³ μ±λ₯μ΄λΌλ μλ―Έμ΄λ€.
-
λ²ν· λ΄μ μ λμ΄μ κ°μμλ μ νμ΄ μλ€.
- μμ (object path β> prefix)
file
μ΄λΌλ μ΄λ¦μ κ°μ²΄ 4κ°λ₯Ό μμλ‘ λ€μ΄ ν΄λΉ κ°μ²΄μ μ λμ΄λ₯Ό λΆμν΄λ³΄μbucket/folder1/sub1/file
β>/folder1/sub1/
bucket/folder1/sub2/file
β>/folder2/sub2/
bucket/1/file
β>/1/
bucket/2/file
β>/2/
- μ λμ΄λ bucket κ³Ό file μ¬μ΄μ λλ λ μ μλ€.
첫λ²μ§Έ νμΌμ λν΄μ μ΄ μ λμ΄(/folder1/sub1/
)λ μ΄λΉ 3,500κ°μ PUTκ³Ό 5,500κ°μ GETμ μ»μ μ μλ€.
κ·Έλ¦¬κ³ λ€λ₯Έ νμΌμ folder1/sub2
μ μλ€κ³ νλ©΄ bucketκ³Ό file μ¬μ΄μ λλ μ λμ΄κ° λ μ μμΌλ
μ λμ΄λ /folder1/sub2
κ° λλ€. μ΄ μμ 3,500κ°μ PUTκ³Ό 5,500κ°μ GETμ ν μ λλΆμ λν΄ μ»μ μ μλ€.
μ΄λ κ² 1κ³Ό 2κ° μμΌλ©΄ μλ‘ μ λμ΄κ° λ€λ₯΄λ€. μ΄λ λ―, λ²ν· λ΄μ μ λμ΄ λ° μ΄λΉ 3,500κ°μ PUTκ³Ό 5,500κ°μ GETμ μ»λλ€λ κ·μΉμ΄ μ΄ν΄κ° λ κ²μ΄λ€.
λ€μλ§ν΄, μ΄ 4κ°μ μ λμ΄μ μ½κΈ° μμ μ κ· μΌνκ² λΆμ°μν€λ©΄ μ΄λΉ 22,000κ°μ HEADμ GET μμ²μ μννλ μ μ΄λ μ±λ₯μ΄ μμ£Ό μ’λ€κ³ λ³Ό μ μλ€.
μ λμ΄ (prefix) - λ²ν·μ΄λ¦κ³Ό νμΌλͺ μ¬μ΄μ λͺ¨λ κ²½λ‘λΌκ³ μ΄ν΄
1. S3 - KMS Limitation
S3 μ±λ₯ μ νμΈ KMSμ λν΄ μμ보μ
- λ§μ½ SSE-KMSλ₯Ό μ¬μ©ν΄ κ°μ²΄λ₯Ό μνΈν νλ κ²½μ° KMS μ νμ μν΄ μν₯μ λ°μ μ μλ€.
- νμΌμ μ
λ‘λνλ©΄ KMS Limitation(μ ν)μ΄ μ°λ¦¬λ₯Ό λμ ν΄μ S3μμ
GenerateDateKey
KMS APIλ₯Ό νΈμΆ - SSE-KMS λ₯Ό ν΅ν΄ S3μμ νμΌμ λ€μ΄λ‘λ νλ κ²½μ°μλ
Decrypt KMS-API
λ₯Ό νΈμΆνκ² λλ€. - κ·Έλ¦¬κ³ μ΄ λ κ°μ§ μμ²μ KMS ν λΉλμ μ§κ³κ° λλ€.
- μλ₯Ό λ€μ΄ μ μ λ€μ΄ S3 λ²ν·μ μ°κ²°νκ³ SSE-KMS μνΈνλ₯Ό μ¬μ©ν΄ νμΌμ μ λ‘λ/λ€μ΄λ‘λ νλ €λ μν©μ΄λ©΄, S3 λ²ν·μ΄ APIλ₯Ό νΈμΆνκ³ ν€λ₯Ό μμ±νκ±°λ KMSν€λ‘ ν΄λ ν΄ κ·Έλ‘λΆν° κ²°κ³Όλ₯Ό κ°μ§κ³ μ¨λ€.
- κ·Έλμ KMSλ κΈ°λ³Έμ μΌλ‘ μ΄λΉ μμ²μ λν ν λΉλμ κ°μ§κ³ μλ€.
- Regionμ λ°λΌ μμ²μ΄ μ΄λΉ 5,500κ° λλ 10,000κ° or 30,000κ°μΌ μλ μλ€.
- μ΄λ³΄λ€ λ§μ μμ μμ²μ΄ νμν κ²½μ°μλ μλΉμ€ ν λΉλ μ½μμ ν΅ν΄ ν λΉλ μ¦κ°λ₯Ό μμ²ν μ μλ€.
- μλΉμ€ ν λΉλ μ½μ (Service Quotas Console)
- μ¦, μμΈ λ¦¬μ μμλ μ΄λΉ 5,500κ°μ μμ²μ μ§μνλκ³³μΈλ°, 10,000κ°μ μμ²μ΄ λ°μνλ©΄ μμ²μ΄ μ§λμΉκ² λ§μμ§λ€.
S3 λ²ν·μ λ§μ΄ μ°λ κ²½μ°λ₯Ό λλΉν΄μ μμλλ©΄ μ’μ μ§μμ΄λ€.
2. S3 Performance
S3 μ±λ₯μ λν΄ μμ보μ
- μ΅μ νλ₯Ό μν 첫 λ²μ§Έ λ°©λ²μ λΆν μ
λ‘λ(Multi-Part Upload) μ΄λ€.
- 100MBκ° λλ νμΌμ λΆν μ λ‘λ κΆμ₯
- 5GBκ° λλλ€λ©΄ λΆν μ λ‘λ νμ
λΆν μ λ‘λλ λ³λ ¬νλ₯Ό ν΅ν΄ μ μ‘ μλλ₯Ό λμ΄κ³ λμνμ κ·Ήλννλ€. S3 μ μ λ‘λν ν° νμΌμ΄ μμΌλ©΄ μ΄ νμΌμ μμ λ©μ΄λ¦¬μ μ¬λ¬ ννΈλ‘ λλ μ κ° νμΌμ S3μ λ³λ ¬λ‘ μ λ‘λνλ€. S3 μμλ λͺ¨λ ννΈκ° μ λ‘λλλ©΄ μ΄λ€μ λ€μ λͺ¨μ ν° νμΌλ‘ ν©μ³ μ£Όκ² λλ€.
- S3 Transfer Accelerationμ μ λ‘λ/λ€μ΄λ‘λλ₯Ό μν κΈ°λ₯? μλΉμ€μ΄λ€.
- νμΌμ AWSμ Edge LocationμΌλ‘ νμΌμ μ μ‘ν¨μΌλ‘μ¨ μ μ‘ μλλ₯Ό λμΈλ€.
- μ£μ§ λ‘μΌμ΄μ μμλ λ°μ΄ν°λ₯Ό λμ Regionμ S3 λ²ν·μΌλ‘ 보λ΄μ€λ€.
- 리μ λ³΄λ€ μ£μ§λ‘μΌμ΄μ
μ μκ° λ λ§λ€.
- 200κ°κ° λκ³ κ³μ λκ³ μλ€.
- μ΄ κΈ°λ₯μ λΆν μ λ‘λ(Multi-Part) κΈ°λ₯κ³Ό νΈνμ΄ λλ€.
νμΌμ΄ λ―Έκ΅μ μλ μνμμ νΈμ£Όμ μλ S3 λ²ν·μ μ΄ νμΌμ μ λ‘λνλ €νλ€. μ΄ λ νμΌμ λ―Έκ΅μ μλ μ£μ§λ‘μΌμ΄μ μ μ λ‘λνλ€. κ³΅μ© μΈν°λ·μ μ¬μ©ν΄ μμ£Ό λΉ λ₯΄κ² μ²λ¦¬νλ€. κ·Έλ¬λ©΄ ν΄λΉ μ£μ§λ‘μΌμ΄μ μμ νΈμ£Όμ S3 λ²ν·μΌλ‘ κ³ μ μ¬μ€ AWS λ€νΈμν¬λ₯Ό ν΅ν΄ νμΌμ΄ μ μ‘λλ€.
Transfer Accelerationμ΄λΌκ³ λΆλ¦¬λ μ΄μ λ κ³΅μ© μΈν°λ·μ μ΅μνμΌλ‘ κ±°μΉλ©΄μ μ¬μ€ AWS λ€νΈμν¬ μ¬μ©μ μ΅λν νκΈ° λλ¬Έμ΄λ€. Transfer Accelerationλ₯Ό μ¬μ©νλ©΄ μ μ‘μλλ₯Ό λμΌ μ μλ€.
κ·Έλ λ€λ©΄ νμΌμ λ€μ΄λ°λ κ²½μ°μλ μ΄λ»κ² ν κΉ? νμΌμ κ°μ₯ ν¨μ¨μ μΌλ‘ μ½λ λ°©λ²μ λκΉ? μλμ S3 byte range fetches μ μ΄μ©νλ©΄ λλ€. νμΌμ νΉμ λ°μ΄νΈ λ²μλ₯Ό μ»μ΄ GETμ λ§λΉμν€λ λ°©μμ΄λ€. λ°μ΄νΈ λ²μλ₯Ό μ»λ λ° μ€ν¨ν κ²½μ°μλ μμ λ°μ΄νΈ λ²μλ₯Ό μ»λ μμ μ λ€μ μλν¨μΌλ‘μ¨ μ€ν¨μ λν 볡μμ±μ κ°μ§κ² λλ€.
μ΄ λ°©λ²μ λ€μ΄λ‘λ μλλ₯Ό λμ΄λ λ°μ μ¬μ©λλ€.
3. S3 Performance - S3 Byte-Range Fetches
- νΉμ byte λ²μ μμ²μ ν΅ν λ³λ ¬ GETμμ²
- λ°μ΄νΈ λ²μλ₯Ό μ»λ λ° μ€ν¨ν κ²½μ°μλ μμ λ°μ΄νΈ λ²μλ₯Ό μ»λ μμ μ λ€μ μλν¨μΌλ‘μ¨ μ€ν¨μ λν 볡μμ±μ κ°μ§κ² λλ€.
- μ΄ λ°©μμ λ€μ΄λ‘λμ μλλ₯Ό λμ΄λ λ°μ μ¬μ©λλ€.
S3 μ μμ£Ό ν° νμΌμ΄ μκ³ , νμΌμ 첫 λͺ λ°μ΄νΈμ ν΄λΉνλ Part1 μ μμ²νλ€. κ·Έλ¦¬κ³ λλ²μ§Έ ννΈμ μ΄μ΄ λ§μ§λ§ ννΈκΉμ§ μμ κ²μ΄λ€. μ΄ λͺ¨λ ννΈλ€μ νΉμ Byte Range Fetches κΈ°λ₯μ μμ²νλ€. λ°μ΄νΈ λ²μλΌκ³ λΆλ¦¬λ 건 νμΌμ νΉμ λ²μλ§μ μμ²ν κ²μ΄κΈ° λλ¬Έμ΄λ€. κ·Έλ¦¬κ³ μ΄ μμ²μ μ λΆ λ³λ ¬μ μΌλ‘ μ΄λ£¨μ΄μ§λ€. μ¦ GET λ₯Ό λ³λ ¬νν΄μ λ€μ΄λ‘λλ₯Ό κ°μνμν€λ μ리μ΄λ€.
λ λ²μ§Έ μ¬μ© μ¬λ‘λ νμΌμ μΌλΆλ₯Ό νμνλ κ²½μ°μ΄λ€.
λ§μ½ S3μ μλ νμΌμ 첫 50λ°μ΄νΈκ° νμΌμ λν μ 보λ₯Ό μ 곡νλ ν€λλΌλ μ¬μ€μ μκ³ μλ€λ©΄ ν€λ μμ²μ λ°λ‘ 보λΈλ€. ν€λμ ν΄λΉνλ 첫 50λ°μ΄νΈλ₯Ό λ°μ΄νΈ λ²μ μμ²μΌλ‘ μ μ‘ν¨μΌλ‘μ¨ ν΄λΉ μ 보λ₯Ό λΉ λ₯΄κ² μ»μ μ μμ κ²μ΄λ€.
Summary
μ΄λ² ν¬μ€ν μμλ S3 μ±λ₯κ³Ό μ λ‘λ/λ€μ΄λ‘λ κ°μν λ°©λ² λ° κΈ°μ€ μ±λ₯κ³Ό KMS μ νμ λν΄ μμ보μλ€.
- κΈ°μ€ μ±λ₯
- prefix λΉ 3,500κ° PUT, 5,500κ° GET
- KMS Limitation
- SSE-KMS μνΈν μ¬μ©νλ©΄ KMS μ§κ³μ ν λΉλ¨
- 리μ μ λ°λΌ μμ²μκ° λ€λ¦
- μμ²μκ° λΆμ‘±νλ©΄ μλΉμ€ ν λΉλ μ½μ μ΄μ©ν΄μ λ리기
- μ±λ₯
- λΆν μ
λ‘λ
- 100MB μ΄μ κΆμ₯
- 5GB μ΄μ νμ
- μ μ‘ κ°μν (transfer Accelerate)
- λ―Έκ΅ β> μ£μ§ λ‘μΌμ΄μ β> νΈμ£Όλ²ν·
- λΆν μ
λ‘λ
- λ°μ΄νΈ λ²μ μμ²
- ν° νμΌμ λ³λ ¬ GETμμ²μΌλ‘ λΆλΆμ μΌλ‘ λ€μ΄λ°μ
- 첫 λΆλΆ ν€λλ§ κ°μ Έμ΄
λκΈλ¨κΈ°κΈ°