Dostęp FTP/SFTP do Amazon S3 Bucket [zamknięty]

zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[3] } dla przepełnienia stosu.

Zamknięte 1 rok temu .

Popraw to pytanie

Czy istnieje sposób na połączenie się z Amazon S3 bucket za pomocą FTP lub SFTP zamiast wbudowanego interfejsu Amazon file transfer interface w konsoli AWS? Wydaje się dziwne, że nie jest to łatwo dostępne opcja.

Author: Michael - sqlbot, 2014-05-29

8 answers

Są trzy opcje.

  • możesz użyć natywnej zarządzanej usługi SFTP ostatnio dodanej przez Amazon (która jest łatwiejsza do skonfigurowania).
  • lub możesz zamontować bucket do systemu plików na serwerze Linuksowym i uzyskać dostęp do plików za pomocą SFTP, jak wszystkie inne pliki na serwerze (co daje większą kontrolę).
  • lub możesz po prostu użyć klienta (GUI), który natywnie obsługuje protokół S3 (co jest wolne).

Zarządzany SFTP Serwis

  • W konsoli Amazon AWS przejdź do AWS Transfer for SFTP i utwórz nowy serwer.

  • Na stronie serwera SFTP Dodaj nowego użytkownika SFTP (lub użytkowników).

    • Uprawnienia użytkowników są regulowane przez powiązaną rolę AWS w usłudze IAM (aby szybko rozpocząć, możesz użyć AmazonS3FullAccess policy).

    • Rola musi mieć stosunek zaufania do transfer.amazonaws.com.

Po szczegóły patrz mój przewodnik Konfigurowanie dostępu SFTP do Amazon S3.


Montowanie wiadra na serwerze Linux

Amazon EC2) i użyj wbudowanego serwera SFTP, aby uzyskać dostęp do wiadra.
  • zainstaluj s3fs
  • Dodaj swoje poświadczenia bezpieczeństwa w formularzu access-key-id:secret-access-key do /etc/passwd-s3fs
  • Dodaj wpis montażowy do fstab:

    <bucket> /mnt/<bucket> fuse.s3fs rw,nosuid,nodev,allow_other 0 0
    

Po szczegóły, zobacz mój przewodnik Konfigurowanie dostępu SFTP do Amazon S3 .


Użyj Klienta S3

Lub użyj dowolnego wolnego "klienta FTP / SFTP" , to również "klienta S3" , a nie masz niczego konfigurującego po stronie serwera. Na przykład mój WinSCP lub Cyberduck .

WinSCP ma nawet Skrypty i . net/interfejs PowerShell , Jeśli chcesz zautomatyzować transfery.

 112
Author: Martin Prikryl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-27 09:55:11

Update

S3 oferuje teraz w pełni zarządzaną usługę bramy SFTP dla S3, która integruje się z IAM i może być administrowana za pomocą aws-cli.
Istnieją teoretyczne i praktyczne powody, dla których nie jest to idealne rozwiązanie, ale działa...

Możesz zainstalować usługę FTP/SFTP (taką jak proftpd) na serwerze linux, w EC2 lub we własnym centrum danych... następnie zamontuj bucket do systemu plików, w którym serwer ftp jest skonfigurowany do chroot, używając s3fs.

Mam klienta, który serwuje treści z S3, a zawartość jest dostarczana im przez stronę trzecią, która obsługuje tylko FTP... tak więc, z pewnym wahaniem (ze względu na niedopasowanie impedancji pomiędzy S3 A rzeczywistym systemem plików), ale brakuje czasu na napisanie odpowiedniego pakietu oprogramowania serwera bramy FTP / S3 (który nadal zamierzam zrobić jeden z tych dni), zaproponowałem i wdrożyłem To rozwiązanie dla nich kilka miesięcy temu i nie zgłaszali żadnych problemów z systemem.

Jako bonus, ponieważ proftpd może chrootować każdego użytkownika do jego własnego katalogu domowego i "udawać" (o ile użytkownik może powiedzieć), że pliki należące do użytkownika proftpd są rzeczywiście własnością zalogowanego użytkownika, to segreguje każdego użytkownika ftp do "podkatalogu" wiadra i sprawia, że pliki innych użytkowników są niedostępne.


Jest jednak problem z domyślną konfiguracją.

Gdy zaczniesz zdobywać kilkadziesiąt lub setki plików, problem pojawi się, gdy wyciągniesz listę katalogów, ponieważ ProFTPd będzie próbował odczytać pliki .ftpaccess w kółko i w kółko, a dla każdego pliku w katalogu, .ftpaccess jest sprawdzane, aby sprawdzić, czy Użytkownik powinien mieć możliwość jego wyświetlenia.

Możesz wyłączyć to zachowanie w ProFTPd, ale sugerowałbym, że najbardziej poprawną konfiguracją jest skonfigurowanie dodatkowych opcji -o enable_noobj_cache -o stat_cache_expire=30 w s3fs:

-o stat_cache_expire (Wartość domyślna to no expire)

określ expire czas (sekundy) dla wpisów w buforze stat

Bez tej opcji będziesz wysyłać mniej zapytań do S3, ale nie zawsze będziesz niezawodnie wykrywać zmiany wprowadzone w obiektach, jeśli zewnętrzne procesy lub inne instancje s3fs również modyfikują obiekty w zasobniku. Wartość " 30 " w moim systemie została wybrana nieco arbitralnie.

-o enable_noobj_cache (domyślnie jest wyłączony)

włącz wpisy cache dla obiektu, który nie istnieje. s3fs zawsze musi sprawdzić czy plik (lub podkatalog) istnieje w obiekcie (ścieżce), gdy s3fs wykonuje jakieś polecenie, ponieważ s3fs rozpoznał katalog, który nie istnieje i ma pliki lub podkatalogi pod sobą. Zwiększa żądanie ListBucket i sprawia, że wydajność jest zła. Możesz określić tę opcję dla wydajności, s3fs zapamięta w pamięci podręcznej stat, że obiekt (plik lub katalog) nie istnieje.

Ta opcja pozwala s3fs zapamiętać, że .ftpaccess nie było.


Niezwiązane z problemy z wydajnością, które mogą pojawić się w przypadku ProFTPd, które zostały rozwiązane przez powyższe zmiany, należy również włączyć -o enable_content_md5 w s3fs.

-o enable_content_md5 (domyślnie jest wyłączony)

weryfikacja przesłanych danych bez multipart przez nagłówek content-md5. Włącz wysyłanie nagłówka "Content-MD5" podczas przesyłania obiektu bez wieloczęściowego publikowania. Jeśli ta opcja jest włączona, ma ona pewien wpływ na wydajność s3fs podczas przesyłania małych obiektów. Ponieważ s3fs zawsze sprawdza MD5 podczas wgrywania duży obiekt, ta opcja nie ma wpływu na duży obiekt.

Jest to opcja, która nigdy nie powinna być opcja -- powinna być zawsze włączona, ponieważ nie robi to omija krytycznej kontroli integralności tylko znikome korzyści wydajności. Gdy obiekt jest przesyłany do S3 z nagłówkiem Content-MD5:, S3 potwierdzi sumę kontrolną i odrzuci obiekt, jeśli jest uszkodzony podczas przesyłania. Jakkolwiek mało prawdopodobne jest to, wydaje się krótkowzroczne wyłączenie tego bezpieczeństwa szach.

cytaty pochodzą ze strony podręcznika s3fs. Błędy gramatyczne są w oryginalnym tekście.

 67
Author: Michael - sqlbot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Odpowiedź z 2014 roku dla osób, które nie głosują na mnie:

Cóż, S3 to nie FTP. Istnieje wiele, wiele klientów, które obsługują S3, jednak.

Prawie każdy znany klient FTP na OS X ma wsparcie, w tymTransmit iCyberduck .

Jeśli korzystasz z Windows, spójrz naCyberduck lubCloudBerry .

Zaktualizowana odpowiedź dla 2019:

AWS niedawno udostępnił Transfer AWS dla Usługa SFTP , która może robić to, czego szukasz.

 24
Author: Ryan Parman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-03 22:14:15

Lub uruchom instancję Linuksa dla bramki SFTP w infrastrukturze AWS, która zapisuje przesłane pliki do wiadra Amazon S3.

Wspierane przez Thorntech

 7
Author: mitaka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-21 14:39:17

Filezilla właśnie wydała wersję Pro swojego klienta FTP. Łączy się z wiadrami S3 w usprawnionym środowisku FTP. Sam go używam (bez przynależności) i działa świetnie.

 3
Author: petezurich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-30 16:14:17

WinSCp obsługuje teraz protokół S3

Najpierw upewnij się, że twój użytkownik AWS z uprawnieniami dostępu S3 ma utworzony "identyfikator klucza dostępu". Musisz również znać "tajny klucz dostępu". Klucze dostępu są tworzone i zarządzane na stronie użytkownicy konsoli IAM Management Console.

Upewnij się, że wybrano nowy węzeł strony.

W nowym węźle witryny wybierz protokół Amazon S3.

Wprowadź identyfikator klucza dostępu użytkownika AWS i tajny klucz dostępu

Zapisz Ustawienia witryny za pomocą Zapisz guzik.

Zaloguj się za pomocą przycisku Login.

 3
Author: Subrata Fouzdar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-21 10:55:10

Amazon wydał usługi SFTP dla S3, ale robią tylko SFTP (nie FTP lub FTPES) i mogą być wygórowane w zależności od okoliczności.

Jestem założycielem DocEvent.io, a my zapewniamy bramy FTP/S dla Twojego zasobnika S3 bez konieczności uruchamiania serwerów lub martwienia się o infrastrukturę.

Istnieją również inne firmy, które zapewniają samodzielny serwer FTP, który płacisz przez miesiąc, który może połączyć się z łyżką S3 poprzez konfigurację oprogramowania, na przykład brickftp.com .

Wreszcie istnieją również aplikacje AWS Marketplace, które mogą pomóc, Oto link do wyszukiwania . Wiele z nich uruchamia instancje we własnej infrastrukturze - oznacza to, że będziesz musiał samodzielnie zarządzać instancjami i aktualizować je, co może być trudne do utrzymania i skonfigurowania w czasie.

 2
Author: Mariusz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-18 03:20:37

Jak zauważyły inne plakaty, istnieją pewne ograniczenia związane z transferem AWS dla usługi SFTP. Musisz ściśle dostosować wymagania. Na przykład nie ma kwot, białych list/czarnych list, limitów typów plików, a dostęp bez klucza wymaga usług zewnętrznych. Istnieje również pewien narzut związany z zarządzaniem użytkownikami i IAM, który może być bólem na skalę.

Dla naszych klientów od około 5 lat prowadzimy SFTP S3 Proxy Gateway. Na rozwiązanie core zawiera zbiór usług Docker i jest wdrażane w dowolnym kontekście, nawet na lokalnych lub lokalnych serwerach deweloperskich. Przypadek użycia dla nas jest nieco inny, ponieważ naszym rozwiązaniem jest skoncentrowane przetwarzanie danych i potoków w porównaniu do udziału plików. W przykładzie Salesforce klient użyje SFTP jako metody transportu wysyłania wiadomości e-mail, zakupu...dane do punktu SFTP/S3. Jest to mapowany klucz obiektu na S3. Po przybyciu dane są zbierane, przetwarzane, kierowane i ładowane do magazyn. Mamy również dość znaczące wymagania dotyczące audytu dla każdego transferu, czego dzienniki Cloudwatch dla AWS nie zapewniają bezpośrednio.

Jak wspomnieli inni, rolowanie własnych jest również opcją. Korzystanie AWS Lightsail można skonfigurować klaster, powiedzmy 4, $10 instancje 2GB za pomocą Route 53 lub ELB.

Ogólnie rzecz biorąc, świetnie jest zobaczyć AWS oferującą tę usługę i oczekuję, że z czasem dojrzeje. Jednak, w zależności od przypadku użycia, alternatywnymi rozwiązaniami mogą być lepiej pasuje.

 1
Author: Thomas Spicer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-22 17:01:42