2012-03-27 23 views
7

Potrzebują pomocy sprytnych umysłów, aby mi w tym pomóc. Utknąłem! Wprowadzam system, w którym użytkownicy będą mogli przesyłać filmy i pliki do mojej witryny. Obecnie zapewniam im dostęp ftp do ich własnego konta ftp, w którym przesyłają potrzebne pliki. FTP na serwerze Linux obsługuje przydziały użytkownika.W jaki sposób zaimplementować przydziały pamięci użytkownika przy użyciu Amazon S3 jako pamięć masową, taką jak Dropbox, to

Jednak teraz muszę przenieść mój protokół przesyłania z dala od protokołu ftp i zaglądać do systemu przesyłania plików amazon s3 za pośrednictwem http. ftp powoduje zbyt duże problemy z zaporami ogniowymi, portami, aktywnymi, pasywnymi listami. :) Chociaż ładowanie http s3 będzie tylko kwestią użytkownika umożliwiającego dostęp do Internetu do aplikacji komputerowej, która będzie ładować.

Mam wszystko, aby wszystko działało dobrze do tego stopnia, że ​​muszę ustawić limit dla każdego użytkownika. Jak zaimplementować przydziały pamięci w systemie takim jak Amazon s3, który go nie obsługuje? Nie mogę dać nieograniczonego dostępu do moich użytkowników i nie chcę umieszczać mojego serwera w środku, ponieważ oznacza to po prostu, że mój serwer będzie musiał odebrać plik, a następnie przesłać go na serwer do s3, co można zrobić przez zamontowanie s3 jako napęd, ale potem znowu wróciłem do przesyłania przez ftp na moje serwery do zamontowanego napędu s3.

Chcę, aby moja aplikacja była przesyłana bezpośrednio do serwera s3, ale utrzymuj przydziały użytkownika, przesyłając ją do folderu psuedo amazon w 1 wiadrze. Każdy użytkownik otrzyma podfolder w wiadrze, do którego przesyła.

Jaka byłaby implementacja/logika, aby to zadziałało?

Czy wstawiam inny serwer do monitorowania użytkownika, przeglądając pliki w/keyname /, aby zobaczyć, ile pamięci jest używane przez tę nazwę, która byłaby liczbą użytkowników? Czy nie byłoby to kosztowne, jeśli chodzi o utrzymanie aktualności statusu każdego konta?

Proszę o pomoc, potrzebuję strategii. Coś podobnego do implementacji skrytki w przechowalni na s3, ale z limitem przydziału dla przesłanych przez użytkownika.

Odpowiedz

1

Będziesz musiał śledzić kwotę na swoim serwerze.

Jeśli masz kontrolę nad klientem, możesz wymagać od niego przesłania rozmiaru pliku na serwer przed przesłaniem do Amazon i odmówić zgody na przekroczenie limitu.

Jeśli nie, można pozwolić, aby przesłać

+0

prostu trzeba sprawdzić, czy to może pomóc: https://docs.eucalyptus.com/eucalyptus/4.4/iam-guide/access_policy_quota.html https://docs.eucalyptus.com/ –

-1

Jeśli chcesz przechowywania User Based AWS WorkDocs może być rozwiązaniem szukasz. Tworzenie segmentu dla każdego użytkownika nie jest alternatywną opcją, ponieważ liczba segmentów, które można utworzyć, jest bardzo ograniczona.

Nie mogę jednak powiedzieć, w jaki sposób są wdrażane kwoty.