[RUBY] Ändern Sie das Speicherziel des Bildes in der Rails-App in S3. Teil 2

Einführung

Dies ist eine Fortsetzung des vorherigen Artikels (https://qiita.com/ysda/items/49fa6e8318c874a57b9e).

Mit AWS-Schlüsseln sicher umgehen können

Legen Sie den Inhalt des Schlüssels in einer Umgebungsvariablen fest, um zu verhindern, dass der AWS-Schlüssel verloren geht. Wenn Sie die Umgebungsvariablen nicht kennen, probieren Sie es aus!

AWS-Schlüsseleinstellung

In Carrierwave.rb gab es eine Beschreibung wie [: access_key_id] und [: secret_access_key]. Hier wird ein voreingestellter Schlüssel eingegeben, der in Rails 5.2 von einer Datei mit dem Namen "credentials.yml.enc" verwaltet wird.

Öffnen wir nun credentials.yml.enc in einem Editor. Sie sollten eine verschlüsselte Zeichenfolge sehen, wie unten gezeigt. スクリーンショット 2020-07-26 23.23.21.png

Stellen Sie dies so ein, dass VS Code vom Terminal aus gestartet werden kann. Drücken Sie im VSCode gleichzeitig "Befehl + Umschalt + P", um die Befehlspalette zu öffnen. Geben Sie dann "shell" ein. Im Menü wird der Punkt "Install'code 'Befehl in PATH" angezeigt. Klicken Sie darauf. Auf diese Weise können Sie VS Code starten, indem Sie "Code" vom Terminal aus eingeben.

Lassen Sie uns nun den folgenden Befehl vom Terminal aus ausführen. Die entschlüsselten credentials.yml.enc sollten in VSCode sichtbar und bearbeitbar sein.

% EDITOR='code --wait' rails credentials:edit

Bearbeiten Sie AWS access_key_id und secret_access_key wie folgt. dcEU4PX7s6ICcTD1595774207_1595774265.png

master.key Einstellungen

credentials.yml.enc entschlüsselt mit einer Datei namens master.key. Das Platzieren von master.key in einer Produktionsumgebung wirft jedoch ein Sicherheitsproblem auf. Legen Sie daher den Inhalt von master.key in der Umgebungsvariablen der Produktionsumgebung fest.

Melden Sie sich bei der EC2-Instanz an und öffnen Sie die Datei, in der die Umgebungsvariablen festgelegt sind.

sudo vim /etc/environment

Kopieren Sie den Wert von "config / master.key" in Ihre lokale Entwicklungsumgebung und setzen Sie ihn in Ihrer Produktionsumgebung auf RAILS_MASTER_KEY.

RAILS_MASTER_KEY='master.Wert des Schlüssels'

Nachdem Sie die Umgebungsvariablen festgelegt haben, melden Sie sich wieder bei der EC2-Instanz an und überprüfen Sie die Umgebungsvariablen mit dem folgenden Befehl.

env | grep RAILS_MASTER_KEY

Zusammenfassung

Der Ablauf der Referenzierung von Umgebungsvariablen ist wie folgt.

  1. Entschlüsseln Sie credentials.yml.enc mit master.key in der lokalen Umgebung
  2. Bearbeiten Sie credentials.yml.enc und legen Sie access_key_id und secret_access_key fest.
  3. In der Produktionsumgebung bereitstellen
  4. Legen Sie den Inhalt von master.key in der Umgebungsvariablen der Produktionsumgebung fest.
  5. Die Anmeldeinformationen für die Produktionsumgebung.yml.enc können mithilfe der Umgebungsvariablen entschlüsselt werden.

Mit dem vorherigen Artikel und den obigen Einstellungen sollten Sie in der Lage sein, Bilder in S3 hochzuladen! Vielleicht! das ist alles!

Recommended Posts

Ändern Sie das Speicherziel des Bildes in der Rails-App in S3. Teil 2
So ändern Sie den App-Namen in Rails
Laden Sie die Rails-App-Image-Datei in S3 hoch
[Ruby on Rails] Ändere das Speicherziel von Gem Refile * Hinweis
[Ruby on Rails] So machen Sie das Linkziel zu einem Teil der angegebenen ID
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Schienen] So zeigen Sie Bilder in der Ansicht an
[Rails] Ich möchte das Linkziel von link_to auf einer separaten Registerkarte anzeigen
[Rails] Bei der Beschreibung der Validierung ist Vorsicht geboten
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite
Ich möchte den Wert von Attribute in Selenium of Ruby ändern
Ändern Sie die Standardzeitzone für die Rails-App
Die Identität der Schienenparameter [: id]
[Rails] Ändern Sie den Labelnamen von f.label
Rails6: Extrahieren Sie das Bild im Aktionstext
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
[Rails] Die Ursache dafür, dass nicht gepostet werden konnte, war in form_with
[Rails] So wenden Sie das in der Hauptanwendung verwendete CSS mit Administrate an
[Rails] So bestimmen Sie das Ziel anhand von "Rails-Routen"
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
Schaltfläche [Schienen], um zum Anfang der Seite zurückzukehren
Ich habe versucht, die Sitzung in Rails zu organisieren
[Rails] Ruft den Pfadnamen der URL vor dem Übergang ab und ändert das Linkziel
[Swift] So ändern Sie die Reihenfolge der Balkenelemente in Tab Bar Controller [Anfänger]
Ändern Sie die Zeitzone des https-Portal-Containers in JST
[Rails5.2] Unterstützung für Piktogramme von MySQL 5.7 in Docker (Zeichencode in utf8mb4 ändern)
Verwendung von JQuery in Rails 6 js.erb
Ändern Sie den Docker-Image- und Container-Platzierungsordner
So überprüfen Sie Rails-Befehle im Terminal
[Rails] After-Option nützlich, wenn Sie die Reihenfolge der DB-Spalten ändern möchten
So installieren Sie Docker in der lokalen Umgebung einer vorhandenen Rails-App [Rails 6 / MySQL 8]
Für diejenigen, die MySQL für die Datenbank in der Umgebungskonstruktion von Rails6 ~ verwenden möchten.
[AWS Lambda] Ändern Sie die Größe des in S3 gespeicherten Bildes und speichern Sie es in einem anderen S3 (mit Ruby).
Installieren Sie mehrere Senden-Schaltflächen in der Rails-Ansicht, um den Wert der gedrückten Schaltfläche abzurufen
Bibliothek nicht geladen, wenn versucht wird, die Ruby-Version und die Schienen zu aktualisieren
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
So stellen Sie die Anzeigezeit in Rails auf japanische Zeit ein
[Ruby on Rails] So ändern Sie den Spaltennamen
Verstehen Sie die Eigenschaften von Scala in 5 Minuten (Einführung in Scala)
Ich möchte die Antwort der Janken-App wissen
[Rails 6] So legen Sie ein Hintergrundbild in Rails [CSS] fest
Ändern Sie die Speicherqualität von JPEG-Bildern in Java
[Rails] So erhalten Sie den Inhalt starker Parameter
So beurteilen Sie den Klick eines beliebigen Bildbereichs
SSL in der lokalen Umgebung von Docker / Rails / Puma
Rufen Sie die URL des HTTP-Umleitungsziels in Ruby ab
Das Ändern der Debug-Build-Signatur der Android-App in die Release-Signatur ist in vielerlei Hinsicht hilfreich.
Ich möchte die Farbe des Steuerungsmenüs oben in Liferay 7 / DXP ändern
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
[Rails] So speichern Sie die Anforderungs-URL eines Benutzers, der nicht angemeldet ist, vorübergehend und kehren nach der Anmeldung zu dieser URL zurück