Ich habe eine ASP.NET MVC-Anwendung erstellt und möchte sie jetzt von meinem Entwicklungsserver auf Amazon AWS verschieben. Meine Frage lautet: Wie migriert man eine ASP.NET-Anwendung zu Amazon AWS? Folgendes habe ich bisher recherchiert / gefunden:
- Sitzungen funktionieren nicht instanzübergreifend, daher muss ich DynamoDB oder Memcached verwenden, um den Status zu speichern. Ich habe verschiedene Clients wie Enyim als mögliche Lösung für das Sitzungsstatusproblem mit Amazon ElastiCloud untersucht .
- Amazon hat einen Webdienst für SMTP-E-Mails. Daher muss ich den Code, der SMTP-E-Mails zum Senden über Amazon SES sendet, überarbeiten und eingehende E-Mails durch Ändern der DNS-Einträge an einen separaten Mailserver umleiten.
- Es gibt ein SDK zum Verwalten der Benutzeridentität ( Amazon IAM ). Ich muss den Authentifizierungscode ändern, um diesen Webdienst nutzen zu können.
Vielleicht gibt es noch mehr Punkte, die mir nicht bekannt sind. Wie migriert man eine MVC-App zu AWS?
amazon-ec2
arao6
quelle
quelle
Antworten:
Erstens sind die Dinge, die Sie derzeit untersuchen, weitgehend gleich, unabhängig davon, ob Sie Ihre Site von einem Computer auf mehrere (In-Site-) Server, auf Azure, auf Rackspace usw. übertragen.
Wenn es um den Sitzungsstatus geht, wird Ihre Produktionssite jetzt wahrscheinlich über mehrere Instanzen ausgeführt. Daher müssen Sitzungsdaten in einem gemeinsam genutzten Speicher beibehalten werden, damit Benutzersitzungen geladen werden können, unabhängig davon, welchen Serverendpunkt sie letztendlich erreichen.
Mit Dynamo können Sie zwar mit kolossalen Maßstäben umgehen, dies ist jedoch wahrscheinlich relativ kostspielig. Abhängig von Ihrer erwarteten (und eventuell tatsächlichen) Verkehrsauslastung können Sie möglicherweise mit einer günstigeren Speicherform wie AWS Elasticache davonkommen (insbesondere, da Benutzersitzungen vorübergehend sein können).
Das Ändern Ihrer SMTP-Handler sollte ziemlich trivial sein.
Bei IAM geht es mehr darum, den Zugriff der Benutzer auf AWS-Services zu steuern.
Was Sie beschrieben haben, ist die Verwaltung des Speichers und Zugriffs Ihrer eigenen Benutzerkonten (über die ASP.NET-Mitgliedschaft?) - dafür ein dauerhafter relationaler Speichermechanismus wie Amazon RDS.
Es gibt viele Beispiele von anderen, die das meiste getan haben - nur GoogleBing.
Andere Dinge zu beachten:
quelle