Всичко, което трябва да знаете за AWS S3

Тази статия ще предостави задълбочено въведение в AWS S3 - сигурната, мащабируема и супер евтина услуга за съхранение от Amazon Web Services.

Ако някога сте работили като разработчик, вероятно сте попадали на случаи на използване на съхранение на файлове. От прости изображения до големи видеоклипове, качването, съхраняването и достъпът до тези файлове, когато имате нужда от тях, винаги е сложно.

Обичайният отговор на съхранението на файлове е да ги съхранявате на същия сървър, където хоствате вашите уеб приложения. Но с появата на безсървърни архитектури и приложения на една страница, съхраняването на файлове на един и същ сървър не е добра идея.

Можете да твърдите, че можете да съхранявате файлове в бази данни. Но повярвайте ми, това няма да е приятно изживяване.

И така, каква е друга опция?

Какво е S3?

Нека разгледаме AWS S3. S3 е лесна за използване, мащабируема и евтина услуга за съхранение от Amazon. Можете да използвате S3, за да съхранявате произволно количество данни за широк спектър от случаи на употреба.

Статичният хостинг на уебсайтове, архивирането на данни и доставката на софтуер са няколко общи сценария, при които S3 би бил идеален инструмент.

Можете лесно да натискате и изтегляте данни с S3, като използвате AWS SDK. S3 също така поддържа редица популярни езици за програмиране, така че можете да използвате съществуващия си стек и да интегрирате S3 доста лесно.

S3 предлага и страхотен потребителски интерфейс чрез конзолата AWS. Можете да го използвате, за да видите данните, изпратени към S3, заедно с допълнителни опции като сигурност и контрол на версиите.

Кофи

В S3 файловете се съхраняват в кофи. Кофите са подобни на папките на вашия компютър.

Всяка кофа има свое уникално име, което може да се използва само веднъж. Например, ако има група, наречена „freecodecamp“, нито вие, нито някой друг може да използвате повторно същото име на група.

Това е полезно за уникално идентифициране на ресурси и за статичен уеб хостинг с имена на домейни.

Няма ограничения за броя на файловете, които можете да съхранявате в група. Кофите предоставят и допълнителни функции като контрол на версиите и правила.

Можете също да използвате различни групи за едно приложение. Например приложение, което съхранява медицински записи, може да използва две групи: една за данни на частни клиенти и друга публична група, която съдържа бели табели.

S3 също е обектно-базирана услуга за съхранение, което означава, че S3 счита всеки файл за обект. Всеки обект може да има свои собствени метаданни, които включват име, размер, дата и друга информация.

S3 Типове съхранение

S3 има три класа съхранение, базирани на общи случаи на употреба.

S3 стандарт

S3 Standard е планът за съхранение по подразбиране, който ще бъдете въведени, когато започнете да използвате S3. Стандартният клас за съхранение има отлична производителност, издръжливост и наличност.

S3 Standard е най-добре, ако имате данни, до които трябва да имате често достъп.

S3 рядък достъп (S3-IA)

S3 Infrequent Access предлага по-ниска цена за данни в сравнение със стандартния план. Можете да използвате S3-IA за данни, от които се нуждаете по-рядко.

S3-IA е чудесен за случаи на използване като резервни копия и възстановяване при бедствия.

Ледник

Glacier е най-евтината опция за съхранение в S3, но е предназначена за архивно съхранение. Не можете да извличате данни от Glacier толкова бързо, колкото Standard или S3-IA, но това е чудесна възможност за дългосрочно архивиране на данни.

В допълнение към избора на един от тези три класа съхранение, можете също да зададете правила за жизнения цикъл в S3. Това означава, че можете да планирате автоматично преместване на файлове в S3-IA или Glacier след определен период от време.

Защо да използвам S3?

Компании като Netflix, Dropbox и Reddit са запалени потребители на S3. Популярната система за съхранение на файлове Dropbox изгради целия си капацитет за съхранение върху Amazon S3.

Нека да разгледаме някои от основните характеристики на S3 и да разберем защо е толкова популярен сред предприятията и стартиращите компании.

Това е достъпно

S3 е евтин. Имам предвид супер евтина в сравнение с други решения за съхранение. А със S3 плащате само за това, което използвате. Няма предварителни разходи, няма настройка. Това е просто plug and play.

В допълнение към достъпни цени, S3 предлага безплатен слой. Това безплатно ниво се предлага с 5 GB място за съхранение, 20 000 GET заявки, 2000 PUT, COPY, POST или LIST заявки и 15 GB за трансфер на данни. Безплатното ниво е достъпно всеки месец за първата година.

С S3 можете да избегнете плащането на пространство или честотна лента, които може дори да не са ви необходими.

Това е мащабируемо

S3 скалира с вашето приложение. Тъй като плащате само за това, което използвате, няма ограничение за данните, които можете да съхранявате в S3.

Това е полезно по време на множество сценарии, особено по време на неочакван скок в растежа на потребителите. Не е нужно да купувате допълнително пространство. S3 ви покри.

Това е сигурно

Една от многото причини, поради които компаниите предпочитат S3, е неговата склонност към сигурност. Въпреки че трябва да осигурите персонализирани настройки на сървъра, S3 е защитен по подразбиране.

Това не означава, че не можете да съхранявате обществено достъпна информация в S3. S3 заключва всички ваши данни с висока сигурност, освен ако изрично не конфигурирате да не го правите.

S3 също така поддържа програми за съответствие, като PCI-DSS, HIPAA / HITECH, FedRAMP, Директива на ЕС за защита на данните и FISMA, за да ви помогнат да отговорите на регулаторните изисквания на вашата индустрия.

Има версия

Версионирането означава съхраняване на множество копия на файл и проследяване на промените му във времето. Това е полезно, особено когато обработвате чувствителни данни.

Можете също така да извлечете случайно изтрити файлове, когато активирате версирането с S3.

Ако обаче активирате версирането, съхранявате множество копия на един и същ документ. Това може да окаже влияние върху ценообразуването, както и върху заявките за четене / запис, които правите.

Така че просто вземете това предвид, докато интегрирате създаването на версии за вашето приложение.

Версионирането е деактивирано по подразбиране за S3, но можете да активирате версирането с помощта на конзолата AWS.

Това е трайно

Трайността на данните е недооценена характеристика на S3. Като се има предвид колко често е загубата на данни сред компаниите, трайността на данните е основен фактор, който трябва да се има предвид при изграждането на корпоративен софтуер.

S3 осигурява изключително трайна инфраструктура за съхранение. S3 излишно съхранява данни в множество съоръжения, което ви прави сигурни в случай на повреда на системата. S3 също така извършва редовни проверки на целостта на данните, за да се увери, че данните ви са непокътнати.

S3 предлага 99,999999999% трайност (наречена 9s трайност) и 99,99% наличност на обекти за дадена година.

S3 Случаи на използване

Статичен уеб хостинг

Можете да използвате S3 като статична платформа за хостинг на уебсайтове. Разликата между статичните и динамичните уебсайтове е, че динамичните уебсайтове получават и обработват въведеното от потребителя. Статичните уебсайтове се използват само за показване на информация.

С появата на приложения с една страница можете да хоствате цялостно уеб приложение на S3, често безплатно.

Рамки като React и Angular са направили обработката на потребителски входни данни в браузъра. Можете да създадете SPA, който слуша API на трети страни и да го хоствате в S3.

S3 също има чудесна поддръжка за маршрутизиране, така че можете да използвате и собствения си домейн.

Наскоро написах статия за хостване на уеб приложение React с помощта на S3 и можете да го намерите тук.

Анализ

Можете да изпълнявате заявки за вашите S3 данни, без да ги премествате в платформа за анализ. Това прави S3 чудесен случай за изграждане на мощни приложения за анализ.

S3 предлага множество опции, включително S3 Select, Amazon Athena и Amazon Redshift Spectrum. Можете също така да ги комбинирате с AWS Lambda, за да извършвате обработка на данни в движение.

Споделяне на файлове

Amazon S3 може да се използва и като евтино решение за споделяне на файлове. Както споменах по-рано в статията, известната услуга за споделяне на файлове Dropbox за първи път е изградена върху S3.

С гъвкавите политики за сигурност можете да конфигурирате вашите кофи S3 с персонализирани разрешения за различни клиенти. S3 предлага и ускоряване на трансфера, за да ускори прехвърлянето на големи файлове на по-големи разстояния.

Обобщение

Amazon S3 е чудесен инструмент за работа с вашите изисквания за съхранение на уеб или мобилни приложения. С ценообразуване при поискване и мащабируемост в основата си, S3 е предпочитаното решение за съхранение в облак както за малкия, така и за големия бизнес.

Компаниите от Netflix до Pinterest се доверяват на S3 със своите данни, благодарение на 99,999999999% обещанието за трайност на данните от Amazon.

Можете също да използвате Amazon S3 като решение за лично съхранение или да хоствате следващия си проект чрез статичен хостинг на сайт. Накратко, S3 е чудесно многофункционално решение за съхранение, обслужващо широк спектър от случаи на употреба.

Редовно пиша за машинно обучение, киберсигурност и AWS. Можете да се регистрирате за моя седмичен бюлетин тук.