Я играл с Amazon S3 немного впервые, и мне нравится то, что я вижу по разным причинам, связанным с моим потенциальным вариантом использования.
У нас есть несколько (онлайн) удаленных серверных ящиков, собирающих данные датчиков, которые регулярно загружаются каждый час или около того (rsync'ed) на VPS-сервер. Количество удаленных серверных ящиков регулярно растет и, по прогнозам, будет продолжать расти (сотни). Серверы географически разнесены. Серверы также создаются автоматически, поэтому являются общими со стандартными инструментами, а не на заказ для каждого местоположения. Данные - это многие сотни файлов в день.
Я хочу избежать ситуации, когда мне нужно выделять больше хранилища VPS или дополнительных серверов каждый раз, когда мы достигаем предела емкости VPS, после каждого развертывания сервера N, независимо от того, каким N может быть.
Удаленные серверы никогда не могут считаться полностью безопасными, потому что мы не знаем, что может с ними случиться, когда мы не ищем. Наше текущее решение немного наивно и просто ограничивает входящий rsync только по ssh известными адресными каталогами Mac и известным открытым ключом. Я знаю, что в этом есть много дыр.
Скажем, я пишу или использую сценарий вроде s3cmd/ s3sync, чтобы потенциально поднять файлы.
Нужно ли мне управлять сотнями ключей доступа и настраивать каждый сервер, чтобы включить это (выполнимо, но управление ключами становится кошмаром?)
Могу ли я каким-то образом ограничить входящие соединения (например, по MAC-адресу) или просто разрешить только запись любому клиенту, который запускал скрипт? (я мог бы справиться с потоком данных, если бы кто-то проник в систему?)
создание корзины на удаленную машину не представляется возможным из-за ограничений корзины?
Я не думаю, что хочу использовать один общий ключ, как если бы одна машина была взломана, то потенциально злонамеренный взлом может получить доступ к ключу файлового хранилища и начать удаление для всех клиентов, верно?
Надеюсь, моя неопытность не помешала мне найти другое решение, которое можно было бы предложить!
Я читал множество примеров людей, использующих S3 для резервного копирования, но ничего не могу найти об этом виде сбора данных, если только моя терминология Google неверна ...
Я написал здесь больше, чем должен, возможно, это можно резюмировать так: в идеальном мире я просто хочу, чтобы один из наших специалистов установил новый удаленный сервер в определенном месте, и он автоматически начинает отправлять файлы домой с минимальным вмешательством или без него. , и минимизирует риск? Мечта или осуществимость?
TIA, Aitch
Изменить 1: Возможно, плохой тон отвечать на свой вопрос, но ...
После долгого поиска в Google и просмотра выяснилось, что (новый?) Управление идентификацией и доступом (Я) может быть то, что мне нужно, в нем говорится: «... IAM устраняет необходимость делиться паролями или ключами доступа и упрощает включение или отключение доступа пользователя в зависимости от обстоятельств ...» Я могу начать думать об использовании hw mac адрес как своего рода уникальный пользователь и хеш-код в виде пароля, чтобы его можно было установить программно.
Правильно, вы захотите использовать IAM http://aws.amazon.com/documentation/iam/ для обработки учетных данных для каждого сервера. Что касается ведер, существует ограничение в 100 ведер. Один из способов использования нескольких сегментов может заключаться в том, чтобы иметь по одному сегменту для каждого региона. Если сервер скомпрометирован, вы уменьшите свои потери. Другой вариант - загружать серверы в корзину A каждую ночь и иметь отдельный безопасный процесс, который перемещает данные из корзины A в корзину B (у вас есть доступ только к этой корзине). Если сервер скомпрометирован, у вас есть до последнего запуска процесса.