Kopieren von Dateien direkt von Amazon EC2 (Amazon Linux) nach S3

Kopieren Sie Dateien direkt von Amazon EC2 (Linux) nach S3

Möglicherweise möchten Sie die Datendatei in EC2 in eine andere Umgebung exportieren, während Sie etwas in der AWS-Umgebung überprüfen. (Ich habe ziemlich viele, aber was ist mit allen ...) Wenn EC2 ein Windows-Server-Betriebssystem ist, können Sie einen Browser verwenden. Ich denke, es gibt verschiedene Möglichkeiten, dies zu tun, z. B. das Hochladen auf Box usw. oder das Anhängen an eine Webmail, aber was tun mit dem Linux-Betriebssystem (´ ´ ω ・ `). Daher möchte ich die Methode zum Hochladen direkt von EC2 nach S3 mithilfe der AWS-CLI und zum Herunterladen in eine andere Umgebung vom Konsolenbildschirm von S3 überprüfen.

Was Sie erreichen wollen

やりたいこと.png

Ich möchte die Datendatei in EC2 (Linux) nach S3 exportieren, damit sie vom S3-Konsolenbildschirm heruntergeladen werden kann.

Verfahren

  1. Stellen Sie EC2 bereit
  2. Erstellen Sie Verzeichnisse und Dateien in EC2
  3. Fügen Sie eine Rolle für den S3-Upload zu EC2 hinzu
  4. Erstellen Sie einen S3-Bucket für das Kopierziel
  5. Kopieren Sie die Daten mit AWS CLI nach S3

Ich versuchte es

Stellen Sie zuerst EC2 bereit und melden Sie sich mit SSH an. Erstellen Sie dann ein Verzeichnis und eine Testdatei zum Kopieren nach S3.

Wechseln Sie den Benutzer zu #root  sudo su root

Informationen hochladen

 yum -y update

Erstellen Sie ein Verzeichnis (/ test-share) in # / home  cd /home  mkdir /test-share  cd /test-share #Erstellen Sie eine Testdatei (test.txt)  touch test.txt #Überprüfen Sie, ob die Datei erstellt wurde  ls

Jetzt ist die zu S3 zu kopierende Testdatei fertig.

Ich habe EC2 bereitgestellt, aber im aktuellen Status habe ich nicht die Berechtigung (Rolle), auf S3 zuzugreifen. Daher muss ich eine Rolle hinzufügen.

Wie man eine Rolle macht Greifen Sie über den AWS-Konsolenbildschirm auf IAM zu und klicken Sie auf "Rolle". Folie 2.PNG

Klicken Sie dann auf "Rolle erstellen". スライド3.PNG

Wählen Sie "EC2" für allgemeine Anwendungsfälle スライド4.PNG

Wählen Sie eine Richtlinie aus, die einer Rolle zugewiesen werden soll Geben Sie S3 in den Richtlinienfilter und in die angezeigten Richtlinien ein Dieses Mal möchte ich auf S3 zugreifen (hochladen, herunterladen, durchsuchen), also wählen Sie [AmzzonS3FullAccess].

スライド5.PNG

Tagging nach Bedarf (Tags werden diesmal nicht gesetzt) スライド6.PNG

Stellen Sie den Rollennamen beliebig ein und klicken Sie auf "Erstellen". スライド7.PNG

Sobald die Rolle erstellt wurde, hängen Sie sie an EC2 an Wählen Sie die Zielinstanz auf dem EC2-Konsolenbildschirm aus und wählen Sie "Aktion" - "Instanzeinstellungen" - "Zuweisung / Ersetzen von IAM-Rollen". S3_Qiita用.png

Weisen Sie die Zielinstanz-ID und die Rolle zu und klicken Sie auf "Übernehmen". S3_ロール割り当て_Qiita用.png

Sie haben jetzt eine Rolle für EC2 für den Zugriff auf S3 angehängt.

Erstellen Sie als Nächstes einen S3-Bucket (test-20200624-Ordner), in den die Daten kopiert werden sollen. Rufen Sie den S3-Konsolenbildschirm auf und klicken Sie auf "Bucket erstellen". スライド8.PNG

Geben Sie "test-20200624-Ordner" und Region (diesmal Asien-Pazifik) in den Bucket-Namen ein und klicken Sie auf "Weiter". スライド9.PNG

Ich werde den Bucket einstellen, aber dieses Mal gibt es keine besondere Änderung in der Einstellung, also "Weiter" wie es ist スライド10.PNG

Stellen Sie sicher, dass Öffentlicher Zugriff blockieren aktiviert ist, und klicken Sie auf "Weiter". スライド11.PNG

Geben Sie nach dem Anhängen der Rolle den Befehl ein, um die Daten in der AWS-CLI nach S3 zu kopieren.

#Melden Sie sich mit SSH erneut bei EC2 an und wechseln Sie zu root  sudo su root

Wechseln Sie in das Verzeichnis, in dem sich die Testdatei befindet

 cd /home /test-share

Kopieren Sie Daten mit #aws cli nach S3  aws s3 cp /test.txt s3://test-20200624-folder

Nach Ausführung des Befehls hochladen: ./test.txt to s3: //test-0624-folder/test.txt wird angezeigt.

Überprüfen Sie, ob Daten in # S3 vorhanden sind aws s3 ls s3://test-20200624-folder

2020-06-24 06:59:35 0 Es ist in Ordnung, wenn es als test.txt angezeigt wird

Überprüfen Sie abschließend, ob Sie "test.txt" vom S3-Konsolenbildschirm herunterladen können. Wenn Sie auf den S3-Konsolenbildschirm zugreifen und den Zielbereich überprüfen S3_コンソールQiita用.png

Ich konnte bestätigen, dass test.txt kopiert wurde! Wählen Sie anschließend "Download" unter "Aktion", um den Export der Datei in eine andere Umgebung abzuschließen.

Schließlich

Es gibt Artikel mit demselben Inhalt an verschiedenen Stellen, aber es gab keine Erklärung, um die EC2-Rolle zuzuordnen, und selbst wenn ich das Verfahren befolgt habe, ist ein Fehler aufgetreten, sodass ich hoffe, dass er für Memoranden und Anfänger nützlich sein wird.

Mit der AWS-CLI können Sie nicht nur Daten von EC2 nach S3 kopieren, sondern auch ein bestimmtes Verzeichnis von EC2 mit einem Ordner im S3-Bucket synchronisieren. Es wäre praktisch, wenn EC2 eine Root-CA-Funktion hätte und zum Exportieren des erstellten Zertifikats oder zum Senden einer Protokolldatei zur Überprüfung verwendet werden könnte. D (`・ ω ・ ')

Recommended Posts

Kopieren von Dateien direkt von Amazon EC2 (Amazon Linux) nach S3
Kopieren Sie S3-Dateien mit GSUtil von Python nach GCS
[Amazon Linux] Wechsel von der Python 2-Serie zur Python 3-Serie
Kopieren Sie Daten von Amazon S3 mit Python (boto) in Google Cloud Storage.
Jupyter Notebook-Einstellungen - Verwendung (EC2 Amazon Linux 2)
AWS EC2 2. SSH-Verbindung zur EC2-Instanz (Amazon Linux 2)
[AWS EC2] So installieren Sie Maven unter Amazon Linux 2
[Amazon Linux 2] Wechsel von der Authentifizierung mit öffentlichem Schlüssel zur Kennwortauthentifizierung
[Linux] Kopieren Sie Daten mit einem Shell-Skript von Linux nach Windows
Kopieren Sie mit Python rekursiv Dateien aus dem Verzeichnis direkt unter dem Verzeichnis
Linux-Skript zum Konvertieren von Markdown-Dateien vom JupyterLab-Format in das Qiita-Format
[AWS EC2] Einstellungen, die Sie unter Amazon Linux 2 vornehmen möchten
[Scp] Kopieren Sie Dateien lokal von einem Linux-Server mit ssh scp von Tera Term
Einfaches Kopieren in die Zwischenablage unter Linux
Fügen Sie Benutzer mit SSH-Zugriff zu Ihrer Amazon EC2 Linux-Instanz hinzu
Einführung von Amplify in Amazon Linux 2 AMI
Datenintegration von der Python-App unter Linux zu Amazon Redshift mit ODBC
So zeigen Sie statische Django-Dateien in der Amazon Linux2 + Apache-Umgebung korrekt an
Ändern Sie die AWS EC2-Instanz von t2 in t3
Ich werde Ruby auf EC2 (Amazon Linux2) 2020 installieren
[Linux] Unterteilen von Dateien und Ordnern
Speichern Sie Dateien mit EC2-Speicher ohne S3
[Linux] Übergang vom Einschalten zum PC-Start
PUT gzip direkt in S3 in Python
So aktualisieren Sie PHP unter Amazon Linux 2
So bedienen Sie Linux von der Konsole aus
Einführung von Docker Engine in Linux von Grund auf neu
So finden Sie große Dateien unter Linux
Verwenden Sie boto, um Dateien auf s3 hoch- / herunterzuladen.
Installieren Sie Python 3.8, Pip 3.8 auf EC2 (Amazon Linux 2)
So bedienen Sie Linux von außen Vorgehensweise
Wie man gut mit Linux-Befehlen aus Python umgeht
Erstellen einer AWS EC2 EC2-Instanz (Amazon Linux AMI) 2
Firewalld zu Amazon Linux 2 hinzugefügt (IP-Adressbeschränkungen)
(Übersetzung) Von Arrow zu Pandas mit 10 GB / s
Laden Sie Dateien direkt auf Google Drive herunter (mithilfe von Google Colaboratory).
Sichern Sie mit rsync von QNAP auf Linux
[Linux] Wenn Sie aus mehreren Dateien nach einer bestimmten Zeichenfolge suchen möchten
[AWS EC2] So installieren Sie nur den MySQL-Client unter Amazon Linux 2 und stellen eine Verbindung zu RDS her