Π Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΈΠΊΠ» Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ Π² S3, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ VK Cloud Solutions (MCS) (ΠΏΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΡΠ½ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΈ ΡΠΌΠ΅Π½ΠΈΠΈ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π»ΠΎΠΆΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ Ρ S3 Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅). ΠΠ°Π½Π½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π²ΡΠ±ΡΠ°Π½Π° ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
- ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅ΠΌΠΎΠΊΡΠ°ΡΠΈΡΠ½ΡΠ΅ ΡΠ΅Π½Ρ;
- ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π΄ΠΎΡΡΡΠΏΠ° (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ AWS β Π±ΠΎΠ»ΡΡΠ΅ Π³ΠΎΠ΄Π° ΡΡΠ΄Π° Π±Π΅ΠΊΠ°ΠΏΠΈΠ», ΠΏΠΎΡΠ»Π΅ Π°ΡΠ΅Π½Π΄Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π²ΡΡ ΡΠ½ΠΎΠ²Π°);
- Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π°ΠΏΠ»ΠΎΠ°Π΄Π°;
- Π²ΡΡΠΎΠΊΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ;
- ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΊΠ΅Ρ.
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π±Π΅ΠΊΠ°ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² S3), Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠ°ΠΌ ΡΠ°ΠΊΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ. ΠΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ S3 ΡΠ΄ΠΎΠ±Π½Π΅Π΅ :)
Π ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ S3 Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π½ΡΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, Ρ.ΠΊ. Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ S3 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ VPS.
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ VK Cloud Solutions
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° aws-cli
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°ΠΊΠ΅ΡΡ
- ΠΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ
- Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π² S3
- Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ MySQL Π² S3
- Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ PostgreSQL Π² S3
- ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π΅ΠΊΠ°ΠΏΠ°
- Π Π°Π·Π½ΠΎΠ΅
- ΠΠ²ΡΠΎΡ
S3 β ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² Π½Π΅Π³ΠΎ Π»ΡΠ±ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠ°ΠΊΠ΅Ρ β (ΠΏΠ΅Ρ.: Π²Π΅Π΄ΡΠΎ) ΡΡΡΠ½ΠΎΡΡΡ Π²Π½ΡΡΡΠΈ S3, ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°, ΠΊΡΠ΄Π° Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² Π±Π°ΠΊΠ΅ΡΠΎΠ², ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΡΠ΅Π½Π΅.
Π’ΠΈΠΏ Π±Π°ΠΊΠ΅ΡΠ°: ΠΠΎΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Hotbox) β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΎ Π·Π°Π»ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡΡΡ.
Π’ΠΈΠΏ Π±Π°ΠΊΠ΅ΡΠ°: Π₯ΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Icebox) β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ. Π’Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° (ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· S3) Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π±Π°ΠΊΠ΅ΡΠ° Π΄ΠΎΡΠΎΠΆΠ΅ ΡΠ΅ΠΌ Ρ Hotbox.
ΠΠ»ΡΡΠΈ β ΠΏΠ°ΡΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Access Key ID ΠΈ Secret Key), Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°ΠΊΠ΅ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΡ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅!
ACL β ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠ΅ΡΡΡΡΡ (Π±Π°ΠΊΠ΅ΡΡ). ΠΠ°ΠΌ (ΠΊ ΡΡΠ°ΡΡΡΡ) Π½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ.
ΠΠ»Ρ ΠΏΠΎΠ΄ΡΡΡΡΠ° ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠΎΠΌ, Π²ΡΠ±ΡΠ°Π² ΡΡΠ»ΡΠ³Ρ Β«ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅Β» (Cloud Storage). Π‘ΡΠΎΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ Π² ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΡΠΈΡΠΎΠ².
Π― ΡΠΎΠ²Π΅ΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠΈΠΏ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° "ΠΠΎΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅", ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ, Π° Π²ΠΎΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ· S3 Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ "Π₯ΠΎΠ»ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ" β Π²ΡΡΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π±ΠΎΠ»ΡΡΠΈΠΌ Π·Π°ΡΡΠ°ΡΠ°ΠΌ, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠΎΠΏΠΈΠΈ.
Π’Π°ΠΊΠΆΠ΅, Π½Π° ΡΠ²ΠΎΡΠΌ ΠΎΠΏΡΡΠ΅ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ Π±ΡΠΊΠ°ΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ "Π·Π°ΠΏΡΠΎΡΠΎΠ²" (ΠΈΠ· ΡΠ°ΡΠΈΡΠΎΠ²), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΈΠ»ΡΠ½ΠΎ Π½ΠΈΠΆΠ΅ ΡΠ΅ΠΌ ΡΠ°ΠΌΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ (Π±ΠΎΠ»Π΅Π΅ 32ΠΠ), ΡΠΎ ΠΈΠ·-Π·Π° Π»ΠΈΠΌΠΈΡΠΎΠ² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ Π½Π° ΡΠ°ΡΡΠΈ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ 1βΠ³ΠΎ Π°ΠΏΡΠ΅Π»Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π½ (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π½Ρ Π΅ΡΡ Π½Π΅ ΠΎΡΡΠ°ΠΆΠ΅Π½Ρ Π² ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅ ΠΈ ΡΠ°ΡΠΈΡΠ°Ρ ). ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. ΠΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ β Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΈ ΡΠ΅Π½Ρ Π²ΡΡ Π΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π·Π°Π»ΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π±ΡΠΊΠ°ΠΏΡ ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 2 Π΄Π½Ρ (Π² ΡΡΠΌΠΌΠ΅ 200 ΠΠ) Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Β«HotboxΒ» (Π³ΠΎΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅). ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΡ (ΠΏΠΎ Π½ΠΎΠ²ΡΠΌ ΡΠ΅Π½Π°ΠΌ):
- ΠΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ (Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅): 200 ΠΠ * 2.1 β½ = 420 β½
- ΠΠ°Π³ΡΡΠ·ΠΊΠ°, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
- Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅, ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ: 100 ΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ 1 ΡΠ°Π· Π² ΠΌΠ΅ΡΡΡ Π½Π°Π΄ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ) * 1.2 β½ = 120 β½
- ΠΠ°ΠΏΡΠΎΡΡ 1-Π³ΠΎ ΡΠΈΠΏΠ° (PUT, META, LIST): 25 (ΡΡΡΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) * 0.295 β½ (Π·Π° 1000 Π·Π°ΠΏΡΠΎΡΠΎΠ²) = 7.37 β½
- ΠΠ°ΠΏΡΠΎΡΡ 2-Π³ΠΎ ΡΠΈΠΏΠ° (GET ΠΈ Π΄Ρ.): 2 (ΡΡΡΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ) * 0.295 β½ (Π·Π° 1000 Π·Π°ΠΏΡΠΎΡΠΎΠ²) = 0.59 β½
- ΠΠ°ΠΏΡΠΎΡΡ DELETE: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
ΠΡΠΎΠ³ΠΎ: 547.96 β½ Π² ΠΌΠ΅ΡΡΡ
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ°ΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Β«IceboxΒ» (Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅):
- ΠΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ (Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅): 200 ΠΠ * 1.92 β½ = 384 β½
- ΠΠ°Π³ΡΡΠ·ΠΊΠ°, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
- Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅, ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ: 100 ΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ 1 ΡΠ°Π· Π² ΠΌΠ΅ΡΡΡ Π½Π°Π΄ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ) * 1.92 β½ = 192 β½
- ΠΠ°ΠΏΡΠΎΡΡ 1-Π³ΠΎ ΡΠΈΠΏΠ° (PUT, META, LIST): 25 (ΡΡΡΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) * 0.295 β½ (Π·Π° 1000 Π·Π°ΠΏΡΠΎΡΠΎΠ²) = 7.37 β½
- ΠΠ°ΠΏΡΠΎΡΡ 2-Π³ΠΎ ΡΠΈΠΏΠ° (GET ΠΈ Π΄Ρ.): 2 (ΡΡΡΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ) * 0.59 β½ (Π·Π° 1000 Π·Π°ΠΏΡΠΎΡΠΎΠ²) = 1.18 β½
- ΠΠ°ΠΏΡΠΎΡΡ DELETE: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
ΠΡΠΎΠ³ΠΎ: 584.55 β½ Π² ΠΌΠ΅ΡΡΡ
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠ°Π· Π² ΠΌΠ΅ΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° β Π²ΡΠ³ΠΎΠ΄Ρ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Icebox Π½Π΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΡΡ, Π° ΡΠ°Π· Π² Π³ΠΎΠ΄, ΡΠΎ Π½Π΅ΠΊΠ°Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΡ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
ΠΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π±Π°ΠΊΠ΅ΡΠ° ΡΡΠΎΠΈΡ Π²Π·Π²Π΅ΡΠΈΡΡ Π²ΡΠ΅ "Π·Π°" ΠΈ "ΠΏΡΠΎΡΠΈΠ²" ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π΅Π³ΠΎ ΡΠΈΠΏΠ°. Π₯ΠΎΡΡ Π½Π° MCS ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΏ Π±Π°ΠΊΠ΅ΡΠ° ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π½ΠΎ Π½Π° Π΄ΡΡΠ³ΠΈΡ S3-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π°.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° https://mcs.mail.ru/, Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΡΡΡ (ΡΠΏΠΈΡΠ΅ΡΡΡ 500 ΡΡΠ±Π»Π΅ΠΉ Π½Π° Π±Π°Π»Π°Π½Ρ). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π±Π°ΠΊΠ΅ΡΡ.
Π‘ΡΠΎΠΈΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΠΈΠ»Π»ΠΈΠ½Π³ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² β ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π²ΡΡ Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°ΠΊΠ΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π² Π±ΠΎΠΊΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΏΡΠ½ΠΊΡ Β«ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ -> ΠΠ°ΠΊΠ΅ΡΡΒ» ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΠΊΡΠΈΠ½Π΅ ΡΡΡΠ»ΠΊΠ΅:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π±Π°ΠΊΠ΅ΡΠΎΠ², Π³Π΄Π΅ Π²Π²Π΅ΡΡ Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±Π°ΠΊΠ΅ΡΠ° β Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ»Π°ΡΠ½ΡΡΡ ΠΏΠΎ Π½Π΅ΠΉ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΏΠΎΠΏΠ°ΠΏ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ:
- ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π±Π°ΠΊΠ΅ΡΠ° β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π° Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΌ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡ, ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠΈΡΠ΅, ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΡΠΊΠΈ).
- ΠΠ»Π°ΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ β ΡΠΈΠΏ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°: Hotbox ΠΈΠ»ΠΈ Icebox.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ACL ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Β«privateΒ», ΡΡΠΎΠ±Ρ Π½ΠΈ Ρ ΠΊΠΎΠ³ΠΎ ΠΊΡΠΎΠΌΠ΅ Π²Π°Ρ Π½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°ΠΊΠ΅ΡΡ. Π‘Π»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π²ΡΠ΅ΠΌΡ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ β ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ :)
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π±Π°ΠΊΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅.
ΠΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π±Π°ΠΊΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠ»ΡΡΠΈΒ» ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° β Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ). ΠΠ»Ρ Π½Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π³Π°Π»ΠΎΡΠΊΡ "ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ" ΠΈ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π²Π½ΡΡΡΠΈ Π±Π°ΠΊΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΠΎΡΠΎΠ±ΡΠ°Π·ΡΡΡΡ Access Key ID ΠΈ Secret Key, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ (Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π»Π΅Π΅) ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΡΠ±ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π²Π½ΡΡΡΠΈ Π±Π°ΠΊΠ΅ΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅ΡΠΈ β Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ»ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ.
ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ MCS (VK Cloud Solutions) ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ: ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊ Π±Π°ΠΊΠ΅ΡΡ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄ΡΡΠ³ΠΈΠΌ Π±Π°ΠΊΠ΅ΡΠ°ΠΌ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ AWS S3 β ΡΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΠ³ΠΎΠ² Π°Π΄Π°, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΈ Π΅ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΠΈΡΠΊ Π²ΡΠ΄Π°ΡΡ ΠΊΠ»ΡΡΡ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΡΠ΅ΠΌ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ S3-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠΎ Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ²ΠΎΠΉ Π±Π°ΠΊΠ΅Ρ ΠΈ ΠΊΠ»ΡΡΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ Π±Π΅ΠΊΠ°ΠΏΠΈΡΡ Π²ΡΡ Π² ΠΎΠ΄Π½Ρ ΠΊΡΡΡ. ΠΠΎΡΠ΅ΠΌΡ? ΠΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ: Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° β Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² S3 Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ :)
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ Π±Π΅ΠΊΠ°ΠΏΡ ΠΏΠΎ SSH ΠΎΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (root
) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ubuntu, Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΠ‘ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ):
# Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
apt install -y curl unzip
# Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π°ΡΡ
ΠΈΠ²
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π°ΡΡ
ΠΈΠ²
unzip awscliv2.zip
# ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ
./aws/install
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡΡ Π²Π΅ΡΡΠΈΡ)
/usr/local/bin/aws --version
Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ β ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π° mcs.
Π‘ΡΠΎΠΈΡ ΠΎΡΠΎΠ·Π½Π°ΡΡ ΡΠΎΠ½ΠΊΡΡ Π³ΡΠ°Π½Ρ: Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ
ΠΊΠΎΠΏΠΈΠΉ ΠΎΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ (Π½Π΅ ΠΎΡ root
), ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ²ΡΠΈΡΡ Π½Π° Π½Π΅Π³ΠΎ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ°Β» ΡΡΠΎΠ±Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ» Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°ΠΊΠ΅ΡΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ:
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ°ΠΉΠ» Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ
mkdir -p ~/.aws
# ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠ»ΡΡΠΈ Π² ΡΠ°ΠΉΠ»
echo "[default]
aws_access_key_id = Access_Key_ID
aws_secret_access_key = Secret_Key
" > ~/.aws/credentials
ΠΠΌΠ΅ΡΡΠΎ Access_Key_ID
ΠΈ Secret_Key
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
S3 Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π³ΠΈΠΎΠ½ (Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° region
Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ Π±Π°ΠΊΠ΅Ρ, Π½ΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ aws-cli
Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ AWS S3, ΠΈ ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ β Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ endpoint URL. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π»ΠΈΠ°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°ΡΡ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΈΠΏΠΎΠ² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ endpoint:
Π’ΠΈΠΏ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° | Endpoint URL |
---|---|
ΠΠΎΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Hotbox) | https://hb.bizmrg.com/ |
Π₯ΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Icebox) | https://ib.bizmrg.com/ |
ΠΠ½ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ --endpoint-url
, ΠΏΡΠΈΠΌΠ΅Ρ:
# ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π±Π°ΠΊΠ΅ΡΠ°
/usr/local/bin/aws s3 ls s3://BUCKET_NAME/ --endpoint-url=https://hb.bizmrg.com
ΠΠΎΡ ΠΌΡ ΠΈ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΡΠ°ΠΌΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΡΠ°Π΄ΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡ Π·Π°ΡΠ΅Π²Π°Π»ΠΎΡΡ :)
ΠΠ»Ρ Π±ΡΠΊΠ°ΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ²/Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ (ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Π³ΠΎ Ρ ΡΠ΅Π±Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .sh
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: backup_dir.sh
):
#!/bin/bash
set -euo pipefail
### ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
# ΠΠΌΡ Π±Π°ΠΊΠ΅ΡΠ°, ΠΊΡΠ΄Π° Π±ΡΠ΄ΡΡ Π·Π°Π»ΠΈΠ²Π°ΡΡΡΡ Π±Π΅ΠΊΠ°ΠΏΡ
S3_BUCKET='my-backup-bucket'
# Endpoint URL (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅: Hotbox, Π³ΠΎΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅)
S3_ENDPOINT='https://hb.bizmrg.com'
# ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π±Π΅ΠΊΠ°ΠΏΠΈΡΡ
BACKUP_DIR='/path/to/important_dir'
# ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π³Π΄Π΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π°ΡΡ
ΠΈΠ²Ρ.
# ΠΡΠ° ΠΏΠ°ΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ S3,
# ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² - ΠΎΠ½ΠΈ ΠΏΡΠΎΠΏΠ°Π΄ΡΡ ΠΈ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
# ΠΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΠΠ ΡΠ»Π΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅!
SYNC_DIR='/backups/dir1'
# ΠΡΠ΅ΡΠΈΠΊΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ
Π°ΡΡ
ΠΈΠ²ΠΎΠ²
ARCHIVE_PREFIX='data'
### ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄
# ΠΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠΊΠ°ΠΏΠ°
DATE="$(date +%Y-%m-%d_%H-%M)"
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
mkdir -p "${SYNC_DIR}"
# Π£Π΄Π°Π»ΡΠ΅ΠΌ Π²ΡΠ΅ Π°ΡΡ
ΠΈΠ²Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΡΠΈΠΈ, Π΄Π°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
Π±ΠΎΠ»ΡΡΠ΅ 7 Π΄Π½Π΅ΠΉ
find "${SYNC_DIR}/${ARCHIVE_PREFIX}*" -mtime +7 -exec rm {} \;
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π°ΡΡ
ΠΈΠ² ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΠΈ Π΄Π»Ρ Π±Π΅ΠΊΠ°ΠΏΠ° Π² ΠΏΠ°ΠΏΠΊΠ΅ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ
tar -czf "${SYNC_DIR}/${ARCHIVE_PREFIX}_${DATE}.tar.gz" "${BACKUP_DIR}"
# Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡ Ρ S3 Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ.
# Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ `--delete` β ΠΎΠ½ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ,
# ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ (SYNC_DIR) Π½Π΅Ρ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΡ Π² S3,
# ΡΠΎ ΠΎΠ½ ΡΠ΄Π°Π»ΠΈΡΡΡ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
/usr/local/bin/aws s3 sync --delete "${SYNC_DIR}" "s3://${S3_BUCKET}" --endpoint-url="${S3_ENDPOINT}"
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠ΅ΠΊ) Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΅ΠΌΡ ΠΏΡΠ°Π²Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:
chmod +x backup_dir.sh
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° β ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ (Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄):
# Π΅ΡΠ»ΠΈ Π΄Π°Π»ΠΈ ΠΏΡΠ°Π²Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
./backup_dir.sh
# ΠΠΠ Π΅ΡΠ»ΠΈ ΠΏΡΠ°Π² Π½Π΅ Π΄Π°Π²Π°Π»ΠΈ
bash backup_dir.sh
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎ ΡΠΊΡΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² Π±Π°ΠΊΠ΅Ρ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ Π°ΡΡ ΠΈΠ² ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π»ΠΈΠ»ΡΡ (Π΄Π»Ρ ΡΠΏΠΎΠΊΠΎΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΡΡΠΎΡ Π°ΡΡ ΠΈΠ² ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠΌ).
ΠΡΠ»ΠΈ Π²ΡΡ ΠΎΠΊ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² crontab Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² cron Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΈ ΠΊΠ»ΡΡΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π΅ΠΊΠ°ΠΏΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½ΡΡ MySQL Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°ΠΌΠΏΠ°, ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΠ Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π° ΠΈ Π½Π° Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΡΠΈΡΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²). ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΄Π°Π½Π½ΡΠ΅ Π² Π±Π°Π·Π΅ ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±. Π ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ Π²ΡΠΎΠ΄Π΅ wal-g.
Π‘ΠΊΡΠΈΠΏΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ (Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .sh
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: backup_db.sh
):
#!/bin/bash
set -euo pipefail
### ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
# ΠΠΌΡ Π±Π°ΠΊΠ΅ΡΠ°, ΠΊΡΠ΄Π° Π±ΡΠ΄ΡΡ Π·Π°Π»ΠΈΠ²Π°ΡΡΡΡ Π±Π΅ΠΊΠ°ΠΏΡ
S3_BUCKET='my-backup-db-bucket'
# Endpoint URL (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅: Hotbox, Π³ΠΎΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅)
S3_ENDPOINT='https://hb.bizmrg.com'
# ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΠ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ mysqldump
MYSQL_USER='root'
# ΠΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
MYSQL_PWD='passw0rd'
# ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°ΠΌΠΏΠΈΡΡ
MYSQL_DB='cooldb'
# ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π³Π΄Π΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π°ΡΡ
ΠΈΠ²Ρ.
# ΠΡΠ° ΠΏΠ°ΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ S3,
# ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² - ΠΎΠ½ΠΈ ΠΏΡΠΎΠΏΠ°Π΄ΡΡ ΠΈ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
# ΠΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΠΠ ΡΠ»Π΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅!
SYNC_DIR='/backups/mysql'
# ΠΡΠ΅ΡΠΈΠΊΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ
Π°ΡΡ
ΠΈΠ²ΠΎΠ²
ARCHIVE_PREFIX='db'
### ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄
# ΠΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠΊΠ°ΠΏΠ°
DATE="$(date +%Y-%m-%d_%H-%M)"
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
mkdir -p "${SYNC_DIR}"
# Π£Π΄Π°Π»ΡΠ΅ΠΌ Π²ΡΠ΅ Π°ΡΡ
ΠΈΠ²Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΡΠΈΠΈ, Π΄Π°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
Π±ΠΎΠ»ΡΡΠ΅ 7 Π΄Π½Π΅ΠΉ
find "${SYNC_DIR}/${ARCHIVE_PREFIX}*" -mtime +7 -exec rm {} \;
# Π£Π΄Π°Π»ΡΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ Π΄Π°ΠΌΠΏΠ°ΠΌΠΈ (Π΅ΡΠ»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ)
# ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΅Ρ Π·Π°Π½ΠΎΠ²ΠΎ
rm -rf "${SYNC_DIR}/_current"
mkdir -p "${SYNC_DIR}/_current"
# ΠΠ°ΠΌΠΏΠΈΠΌ Π²Π½Π°ΡΠ°Π»Π΅ ΡΡ
Π΅ΠΌΡ ΠΠ
mysqldump -u "${MYSQL_USER}" -p${MYSQL_PWD} --quote-names --create-options --force --no-data --databases "${MYSQL_DB}" > "${SYNC_DIR}/_current/dump.sql"
# Π ΠΏΠΎΡΠΎΠΌ ΡΡΠ΄Π° ΠΆΠ΅ Π΄ΠΎΠ·Π°Π»ΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅
mysqldump -u "${MYSQL_USER}" -p${MYSQL_PWD} --quote-names --no-create-info --force --databases "${MYSQL_DB}" >> "${SYNC_DIR}/_current/dump.sql"
# ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ 2 ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ:
# https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π°ΡΡ
ΠΈΠ² ΠΈΠ· Π΄Π°ΠΌΠΏΠ° Π² ΠΏΠ°ΠΏΠΊΠ΅ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ
tar -czf "${SYNC_DIR}/${ARCHIVE_PREFIX}_${DATE}.tar.gz" "${SYNC_DIR}/_current"
# Π£Π΄Π°Π»ΡΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ Π΄Π°ΠΌΠΏΠΎΠΌ
rm -rf "${SYNC_DIR}/_current"
# Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡ Ρ S3 Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ.
# Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ `--delete` β ΠΎΠ½ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ,
# ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ (SYNC_DIR) Π½Π΅Ρ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΡ Π² S3,
# ΡΠΎ ΠΎΠ½ ΡΠ΄Π°Π»ΠΈΡΡΡ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
/usr/local/bin/aws s3 sync --delete "${SYNC_DIR}" "s3://${S3_BUCKET}" --endpoint-url="${S3_ENDPOINT}"
ΠΠ°Π»Π΅Π΅ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ: Π΄ΠΎΠΊΠΈΠ΄ΡΠ²Π°Π΅ΠΌ ΠΏΡΠ°Π²Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²ΡΡΡΠ½ΡΡ ΠΈ Π΅ΡΠ»ΠΈ Π²ΡΡ Ρ ΠΎΡΠΎΡΠΎ, ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² cron.
Π‘ΠΎΠ²Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠ· ΡΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΠΎΡΡΠΈ 2 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄: WAL-G: Π±ΡΠΊΠ°ΠΏΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π‘Π£ΠΠ PostgreSQL. Π Π½Π΅ΠΉ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ ΡΠΏΠΎΡΠΎΠ±Π΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΡΡΡΠΈΡΡΡ Ρ ΠΌΠ΅Π½Ρ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ Π²ΡΡ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΈ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ ΠΏΠΎΠ΄Π²ΡΠ». ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ pg_dump
/pg_dumpall
, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΠ ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ΅Π΄ΠΊΠΎ ΠΈ Π²Ρ Π½Π΅ Π±ΠΎΠΈΡΠ΅ΡΡ ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΡΡΠΎΠΊ ΠΈΠ· Π½ΠΈΡ
:)
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ ΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ: Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» /var/lib/postgresql/.walg.json
Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ MCS:
"AWS_ENDPOINT": "https://hb.bizmrg.com",
Π’ΡΡ Π²ΡΡ ΠΏΡΠΎΡΡΠΎ: Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π°ΡΡ ΠΈΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΉΠ΄Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ VK Cloud Solutions Π² Π±Π°ΠΊΠ΅Ρ) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅:
# Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ data_2022-01-01_00-00.tar.gz
/usr/local/bin/aws s3 cp s3://BUCKET-NAME/data_2022-01-01_00-00.tar.gz /path/to/save/ --endpoint-url=https://hb.bizmrg.com
# Π Π°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΡΡΠ΅ Π΅Π³ΠΎ
tar -xzf /path/to/save/data_2022-01-01_00-00.tar.gz
# Π ΡΠΆΠ΅ Π΄Π°Π»ΡΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ mysql Ρ Π΄Π°ΠΌΠΏΠΎΠΌ :)
- ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π±Π°ΠΊΠ΅ΡΠ°:
/usr/local/bin/aws s3 ls s3://BUCKET_NAME/ --endpoint-url=https://hb.bizmrg.com
- ΠΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π² S3 Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π°ΡΡ ΠΈΠ²Π° Π½Π° Π΄ΠΈΡΠΊΠ΅:
tar -cv huge_file.log | /usr/local/bin/aws s3 cp - s3://BUCKET_NAME/archive_name.tar.gz --endpoint-url=https://hb.bizmrg.com
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°:
/usr/local/bin/aws s3 rm s3://BUCKET_NAME/filename.tar.gz --endpoint-url http://hb.bizmrg.com
Lord_Alfred
ΠΠ»ΠΎΠ³: https://t.me/lord_Alfred