Ich habe zum ersten Mal das hintere Ende berührt, was ziemlich nervig war. Ich dachte, ich könnte es sofort erstellen, nachdem ich diesen Artikel das nächste Mal gesehen habe, also habe ich ihn für mich selbst oder für diejenigen erstellt, die ähnlich verwirrt sind **.
Da ich ein Anfänger bin, kann es einige Fehler oder seltsame Ideen geben. In diesem Fall würde ich mich freuen, wenn Sie mich im Kommentarbereich informieren könnten.
$ <-Befehle auf Ihrem PC-Terminal
[ec2-user] $ <-Befehle, während Sie bei EC2 angemeldet sind
MySQL > <-Befehle, während Sie bei MySQL angemeldet sind
# <-Mein Kommentar
>>> <-Ausführungsergebnis(Ausgabewert)
--AWS-Konto erstellt
VPC ist ein Dienst, der eine private Cloud-Umgebung für Benutzer bereitstellt. Beispielsweise verwenden viele AWS VPC, wenn Sie EC2 intern kommunizieren, mit RDS kommunizieren und interne und externe Netzwerke verbinden möchten.
** Erstellungsverfahren **
Damit ist die VPC-Erstellung abgeschlossen.
Ein Subnetz ist eine Gruppe von Netzwerken, die zuerst den von der VPC erstellten CIDR-Block teilen. Sie können so viele Subnetze erstellen, wie Sie möchten, solange Sie das VPC-Limit nicht überschreiten. Es gibt hauptsächlich ** öffentliche Subnetze ** und ** private Subnetze **.
Ich denke, es ist zunächst schwierig, sich ein Bild zu machen, also ... Ich habe eine ** VPC ** namens ** Home ** in einem riesigen ** Erd ** Internetraum ** erstellt. Das Bild ist, dass wir Räume mit unterschiedlichen Rollen (** Subnetz **) wie ** Bad ** und ** Schlafzimmer ** erstellt haben. Es tut mir leid, wenn ich falsch denke (; ´Д `)
Erstellen Sie öffentliche und private Subnetze. ** EC2 ** für öffentliche Subnetze Fügen Sie ** RDS ** in das private Subnetz ein. Erstellen Sie zwei ** private Subnetze **, da RDS ** unterschiedliche Verfügbarkeitszonen ** haben muss.
** Erstellungsverfahren **
--Erstellen eines Subnetzes
Damit sind die Subnetzeinstellungen abgeschlossen.
Die Routentabelle definiert die Regeln, nach denen die Instanzen im Subnetz zur Kommunikation gehen. Mit anderen Worten, die Routentabelle ist eine Tabelle, die beschreibt, wohin die Kommunikation gesendet werden soll, indem das Ziel (IP-Adresse) des Pakets betrachtet wird. Da wir Pakete anhand dieser Tabelle übertragen, senden Ziele, die nicht in der Tabelle aufgeführt sind, keine Pakete und können nicht kommunizieren. Der Punkt ist, dass es definiert, wo die Kommunikation für jedes Subnetz durchgeführt werden kann.
** Erstellungsverfahren **
Als nächstes wird das Internet-Gateway erstellt.
Ein Gateway für die Verbindung zum Internet innerhalb der VPC. Auf diese Weise kann das System in VPC die globale IP verwenden.
Zum Beispiel ist es die Rolle der ** Eingangssicherheit ** (Schlüssel), ** Personen ** (Internet) in ** Zuhause ** (VPC-Bereich) zu bringen.
** Erstellungsverfahren **
Damit sind die Internet-Gateway-Einstellungen abgeschlossen.
** Erstellungsverfahren **
Damit sind die Einstellungen für die Routentabelle abgeschlossen.
Bearbeiten Sie die Zuordnung der Routentabelle.
** Erstellungsverfahren **
** Erstellungsverfahren **
Lassen Sie uns prüfen, ob EC2 gestartet werden kann Geben Sie den folgenden Befehl ein
$ cd
$ cd (test-key.WEG zu pem)
#Wenn Sie die Bedeutung nicht verstehen$CD-Downloads ist in Ordnung
$ chmod 400 test-key.pem
$ ssh -i test-key.pem [email protected]
#Die öffentliche IPv4-Adresse von EC2 wird in xxx eingegeben
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
#Wenn die obigen EC2-Zeichen angezeigt werden, ist der Startvorgang abgeschlossen.
[ec2-user] $ exit
#Ende
Sie haben jetzt EC2 gestartet.
** Erstellungsverfahren **
Das Lernen über Sicherheitsgruppen ist immer noch gering, und Sicherheit kann eine lockere Einstellung sein. Versuchen Sie es in ** nur Testumgebung ** zu verwenden.
Haben Sie als Bild das Gefühl, dass zu Hause 65535 (Portnummer) Eingänge usw. vorhanden sind und nur die von der Sicherheitsgruppe zugelassenen Eingänge entsperrt sind?
Bearbeiten Sie die Sicherheitsgruppe webtest-sg
** Erstellungsverfahren **
(Ich habe vergessen, sg zu niedrigeren Rängen zu vereinen (; ´Д `))
Lassen Sie uns prüfen, ob RDS gestartet werden kann Geben Sie den folgenden Befehl ein
$ cd
$ cd (test-key.WEG zu pem)
$ ssh -i test-key.pem [email protected]
[ec2-user] $ sudo yum install mysql -y
[ec2-user] $ mysql -h DB-Endpunkt-u DB-Master-Benutzername-p
#Sie werden nach einem Passwort gefragt, geben Sie es also ein(Zeichen werden nicht angezeigt, sondern eingegeben)(Kopieren und Einfügen ist möglich)
>>> Welcome to the MariaDB monitor.
#Wird angezeigt, können Sie über RDS eine Verbindung zu MySQL herstellen.
#Zeigen Sie die Liste in der Datenbank an(Kann Kleinbuchstaben anzeigen Datenbank sein;)
MySQL > SHOW databases;
#Erstellen Sie eine Datenbank mit dem Namen "dbtest".
MySQL > CREATE DATABASE dbtest;
#Ende
MySQL > exit
Damit sind die RDS-Einstellungen abgeschlossen.
#yum aktualisieren
[ec2-user] $ sudo yum update -y
#Installiere Git mit Yum
[ec2-user] $ sudo yum install git -y
#Dann klonen Sie pyenv aus dem Github-Repository
[ec2-user] $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
#Ermöglicht die Eingabe von Befehlen über den Pfad
[ec2-user] $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
[ec2-user] $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
[ec2-user] $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
[ec2-user] $ source ~/.bash_profile
#######Sie können alle auf einmal kopieren und einfügen
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
#################
#Überprüfen Sie, ob Pyenv enthalten ist
[ec2-user] $ pyenv -v
>>> pyenv 1.2.20-7-gdd62b0d1
Überprüfen Sie die aktuelle Python-Version Die Python 2-Serie wurde am 1. Januar 2020 eingestellt Weitere Informationen zur Python 2-Serie finden Sie in diesem Artikel
#Überprüfen Sie die Python-Version
[ec2-user] $ python --version
>>> Python 2.7.18
#Migrieren Sie zu Python 3
#Installation der erforderlichen Abhängigkeiten
[ec2-user] $ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel -y
>>>(Abkürzung)Hat vervollständigt!
[ec2-user] $ sudo yum install libffi-devel -y
#Überprüfen Sie die Version von Python, die derzeit zum Download zur Verfügung steht
[ec2-user] $ pyenv install -l
>>>(Abkürzung)
3.8.5
3.8.6
(Abkürzung)
#Im Moment(R2,9/26)Neueste Version in 3.8.Installieren Sie 6
[ec2-user] $ pyenv install 3.8.6
>>> Downloading Python-3.8.6.tar.xz...
-> https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tar.xz
Installing Python-3.8.6...
#Es wird einige Zeit in Anspruch nehmen
Installed Python-3.8.6 to /home/ec2-user/.pyenv/versions/3.8.6
#Wechseln Sie von Python Version 2 zu 3
[ec2-user] $ pyenv global 3.8.6
[ec2-user] $ pyenv rehash
[ec2-user] $ python --version
>>> Python 3.8.6
#Pakete, die später benötigt werden
[ec2-user] $ pip install --upgrade pip
[ec2-user] $ sudo yum install python-devel mysql-devel -y
[ec2-user] $ pip install mysqlclient
#Damit ist die Migration zu Python3 abgeschlossen
pip ist ursprünglich in EC2 enthalten (Linux2)
#Überprüfen Sie die Pip-Version
[ec2-user] $ pip -V
>>> pip 20.2.1 from /home/ec2-user/.pyenv/versions/3.8.6/lib/python3.8/site-packages/pip (python 3.8)
#Installieren Sie Django
[ec2-user] $ pip install django
#Wenn Sie den folgenden Fehler erhalten, einfaches Anführungszeichen entsprechend dem Inhalt ('xxxx') Bitte kopieren und installieren Sie Django erneut
>>> WARNING: You are using pip version 20.2.1; however, version 20.2.3 is available.
You should consider upgrading via the 'xxxx' command.
#Django Versionsprüfung
[ec2-user] $ python -m django --version
#Erstellen Sie ein Projekt mit dem Namen "test"
[ec2-user] $ django-admin startproject testDjango
Wenn Sie es überprüfen, sollte es generiert werden
[ec2-user] $ ls
>>> mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
--Top mysite: Sie können es mit einem beliebigen Namen im Stammverzeichnis erstellen. Kann gewechselt werden. --manage.py ・ ・ ・ Befehlszeilenprogramm zum Ausführen verschiedener Operationen des Django-Projekts. --mysite ・ ・ ・ Paket für dieses Projekt. --mysite / init.py ・ ・ ・ Eine leere Datei, bei der es sich bei diesem Verzeichnis um Python handelt. --mysite / settings.py ・ ・ ・ Projekteinstellungsdatei. --mysite / urls.py ・ ・ ・ URL deklarieren. --mysite / asgi.py ・ ・ ・ Einstiegspunkt des ASGI-kompatiblen WEB-Servers, der das Projekt bereitstellt. --mysite / wsgi.py G ・ ・ WSGI-kompatibler WEB-Server-Einstiegspunkt für die Bedienung von Projekten.
Sie können den Code von testDjango auch direkt in SSH mit vim bearbeiten, aber dieses Mal werde ich versuchen, FailZila zu verwenden Für super Anfänger! Verwendung von FileZilla
Win version FileZila download FileZila Download für Mac
Installieren und öffnen Sie, drücken Sie die Servertaste oben links und der folgende Bildschirm wird angezeigt
** Einrichtungsschritte **
Nach Abschluss der Einstellung wird der obige Bildschirm angezeigt ** Links ist die lokale Site (auf meinem PC) ** ** Rechts ist Remote-Standort (in EC2) ** Hier können Sie Dateien übertragen und neu schreiben. Dupliziere den TestDjango, den ich vorerst gemacht habe, auf die lokale Site
Nachdem Sie mit der rechten Maustaste auf die Datei geklickt haben, die Sie bearbeiten möchten, können Sie sie durch Anzeigen und Bearbeiten bearbeiten. Erlaube die Bearbeitung mit PyCharm im nächsten [2.4]
Die stärkste integrierte Python-Entwicklungsumgebung PyCharm
So verknüpfen Sie PyCharm
[ec2-user] $ cd
[ec2-user] $ cd testDjango
[ec2-user] $ python manage.py startapp polls
settings.py
...
(Abkürzung)
...
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
# }
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbtest',
'USER': 'DB-Hauptbenutzer',
'PASSWORD': 'DB-Hauptbenutzerkennwort',
'HOST': 'DB-Endpunkt',
'PORT': '3306',
}
}
...
(Abkürzung)
...
#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'ja'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Tokyo'
Mit FileZilla hochladen
[ec2-user] $ cd
[ec2-user] $ cd testDjango
[ec2-user] $ python manage.py migrate
#Wenn hier ein Fehler auftritt, werden die möglichen Ursachen unten beschrieben.
[ec2-user] $ python manage.py dbshell
** Fehlerursache **
** Andere ** Bei der Installation von pipenv tritt kein Modul mit dem Namen'_ctypes 'auf CentOS7.2 + MySQL5.6 + Python3 --- pip install mysqlclient gibt mysql_config nicht gefunden
Wenn Sie der Meinung sind, dass dies nicht möglich ist, können Sie die Instanz von Grund auf neu erstellen. Drücken Sie bei ausgewählter EC2-Instanz die Aktion und starten Sie eine ähnliche Eine Instanz mit denselben Einstellungen wird erstellt.
Damit sind die Einstellungen für EC2, RDS und Django abgeschlossen.
Diesmal war ich zu schlecht darin, Namen zu nennen. (´︵`) Zum Beispiel, wenn der Blogname xblog ist xblog-vpc xblog-public-subnet xblog-ec2 xblog-rtb xblog-ec2-sg xblog-db-sg Ich denke, dass es einfacher zu verstehen ist, wenn Sie es tun.
Ich hoffe dieser Artikel hilft jemandem.
Nächstes Mal werde ich versuchen, die API dafür zu implementieren.
Das Folgende und die Seiten, auf die ich in der Mitte dieses Artikels sehr viel verwiesen habe, werden vorgestellt. Vielen Dank.
[1] Python3-Umgebung auf EC2-Server erstellen [2] WEB-Anwendungsentwicklung mit Django-Entwicklung 1- [3] Django, Syncdb in AWS EC2 + RDS-Umgebung [4] Verbindung zu Amazon RDS von Django auf EC2 [5] Bis die Django-Anwendung (+ MySQL) auf AWS EC2 (+ RDS (+ S3)) veröffentlicht wird [6] (Django-Memo) MySQL in Datenbank setzen [7] Datenbank mit MySQL erstellen [8] Was tun, wenn beim Starten des Entwicklungsservers in Django 2.2 ein SQLite3-Fehler auftritt? [9] Praktische Einführung für Vim-Anfänger [10] [Was ist die AWS-Routentabelle? Lassen Sie uns kurz anhand von VPC und Subnetz erklären](https://qiita.com/chro96/items/21863e0960ba4ac72470#:~:text=%E6%9C%AC%E9%A1%8C%E3%81%AEAWS % E3% 81% AE% E3% 83% AB% E3% 83% BC% E3% 83% 88% E3% 83% 86% E3% 83% BC% E3% 83% 96% E3% 83% AB% E3 % 81% A8% E3% 81% AF% EF% BC% 9F & Text =% E3% 82% B5% E3% 83% 96% E3% 83% 8D% E3% 83% 83% E3% 83% 88% E5% 86% 85% E3% 81% AB% E3% 81% 82% E3% 82% 8B% E3% 82% A4% E3% 83% B3% E3% 82% B9% E3% 82% BF% E3% 83% B3% E3% 82% B9,% E9% 80% 81% E3% 82% 89% E3% 81% AA% E3% 81% 84% E3% 81% AE% E3% 81% A7% E3% 80% 81 % E9% 80% 9A% E4% BF% A1% E3% 81% A7% E3% 81% 8D% E3% 81% BE% E3% 81% 9B% E3% 82% 93% E3% 80% 82)
Recommended Posts