
So oft hören wir die Frage: „Haben Sie eine Art Handbuch, das den Migrationsprozess von einer On-Premises-Installation zu Bird beschreibt“?
Ja, das haben wir. Lesen Sie weiter.
Zuerst ein wenig Hintergrundgeschichte. Der Bird Cloud-Dienst wurde 2014 aus dem enormen Erfolg der On-Premises Momentum MTA-Lösung heraus geschaffen. Momentum sitzt im Kern von Bird Cloud und bietet Tausenden von Kunden des Cloud-Dienstes Hochgeschwindigkeitsbereitstellung und Traffic-Shaping. Aufgrund dessen erhält Momentum einen großen Teil unserer technischen Aufmerksamkeit, aber die Ergebnisse dieser Arbeit verbergen sich oft in Leistungsverbesserungen, die nicht viel Aufmerksamkeit in der Presse erhalten. Momentum-Kunden profitieren von dieser Arbeit jedes Mal, wenn eine neue öffentliche Version von Momentum veröffentlicht wird.
Das bedeutet NICHT, dass Bird einfach nur „Momentum in der Cloud“ ist. Bird ist viel mehr als das und kann Kunden, die sich für eine Migration oder eine hybride Nutzung entscheiden, zusätzliche Vorteile bieten. Diese Vorteile leiten sich von unserer modernen Cloud-basierten E-Mail-API-Architektur ab, die Funktionen bietet, die in traditionellen On-Premises-Lösungen nicht verfügbar sind. Darüber hinaus haben wir es PowerMTA-Kunden sehr einfach gemacht, PowerMTA auch in einer hybriden Konfiguration mit Bird zu migrieren oder zu nutzen. Der Rest dieses Dokuments wird im Detail beschreiben, wie Sie Ihre Nachrichtenströme von Momentum oder PowerMTA zum Bird Cloud-Dienst migrieren können.
Es gibt tatsächlich zwei separate Szenarien, die beim Migrieren zu Bird von Momentum oder PowerMTA zu berücksichtigen sind.
Sie sind bereit, die On-Premises-Welt vollständig zu verlassen, schließen Ihre physischen Rechenzentren und verwalten direkt keine On-Premises-MTA mehr. Das bedeutet, dass Sie Momentum oder PowerMTA aus Ihrer Bereitstellung entfernen und Nachrichten direkt an SparkPost zur Nachrichtenverarbeitung senden. Bevor Sie Ihre On-Premises-Infrastruktur stilllegen, stellen Sie sicher, dass Sie umfassende Datenbank-Backups aller kritischen Systeme haben, insbesondere wenn Sie PostgreSQL-Datenbanken betreiben, die wichtige historische Daten oder Konfigurationen enthalten.
Sie haben aus irgendeinem Grund Grund, einen Teil der On-Premises-Präsenz beizubehalten. Einige Möglichkeiten könnten sein:
spezifische Bereitstellungsströme, die eine Vorverarbeitung in Momentum erfordern
Kapazitätsteilung für Spitzenlast- oder Notfallwiederherstellungsanforderungen
Unterstützung von Kunden mit Legacy-Systemen in PMTA, während neue Kunden zu SparkPost wechseln
…dann möchten Sie die anderen Nachrichten an Bird weiterleiten, um die Nachrichtenweiterverarbeitung zu übernehmen.
In beiden Situationen müssen Sie sich bewusst sein, dass Bird nur SMTP-Nachrichten zur Zustellung akzeptiert, die über Port 587 oder 2525 eingespeist werden und SMTP_Auth mit einem spezifischen Benutzernamen und Passwort verwenden (Siehe SMTP-Dokumente hier). Wir empfehlen auch dringend die Verbindung über eine TLS-Verbindung, aber das ist nicht unbedingt erforderlich. Wenn Sie Ihre MTA-Schicht vollständig ersetzen (Szenario 1), sollten Sie auch die Verwendung der Transmissions REST API in Betracht ziehen, die Nachrichten über HTTPS-Verbindungen akzeptieren kann. Die Dokumentation zu dieser API finden Sie hier.
Für Organisationen mit On-Premises-Infrastruktur, die sichere E-Mail-Funktionen erfordert, bietet unser S/MIME-Implementierungsleitfaden für PowerMTA und Momentum detaillierte Anweisungen zur Einrichtung verschlüsselter E-Mail-Zustellung.
Welche Option wähle ich?
Um herauszufinden, ob Sie sich in Option #1 oder Option #2 befinden, berücksichtigen Sie diese Faktoren:
Verwenden Sie die Lua-Scripting-Engine von Momentum für etwas Komplizierteres als die Nachrichtenweiterleitung?
Lua ist ein umfassendes Skript-Tool zum Manipulieren von Nachrichten inline, aber die überwiegende Mehrheit unserer Benutzer verwendet es nur, um eine Bindung für die Zustellung auszuwählen. Wenn das der Fall ist, können Sie Ihren Generierungscode so ändern, dass er ein ip_pool-Attribut zum X-MSYS-API-Header hinzufügt und Bird den Weg für Sie zuweisen lassen.
Wenn Sie Lua verwenden, um kompliziertere Dinge wie Body-Filterung, Mail_From-Umschreibungen oder Nachrichtenkadenzenberechnungen durchzuführen, und es nicht möglich ist, diese Logik in Ihre einspritzende Anwendung zu verlagern, sollten Sie erwägen, zur Option #2 zu wechseln.
Ist Ihr Generierungssystem in der Lage, Nachrichten über Port 587 unter Verwendung von TLS und SMTP_Auth zu senden?
Einige Kampagnenverwaltungssysteme können E-Mails nur über Port 25 im Klartext versenden. Dies stellt ein Sicherheitsproblem für Bird dar, daher sollten Sie Option #2 in Betracht ziehen.
Verwenden Sie PowerMTA-Ersatzsyntax oder andere Inline-Nachrichtenänderungen?
Wenn Sie diese Funktion in Ihre Generatoren einbinden oder die Bird Template Language verwenden können, können Sie Option 1 weiterhin verwenden, andernfalls müssen Sie möglicherweise überlegen, einen PMTA-Knoten online zu halten, um diese Nachrichtenänderung vorzunehmen, bevor Sie an Bird liefern.
Benötigen Sie einen eingehenden AV/AS-Scan vor der Einspritzung? Während dies in Momentum und PowerMTA möglich ist, geht eBird davon aus, dass Sie bereits alle diese Prüfungen durchgeführt haben. Sie sollten erwägen, dies vor der Einspritzung durchzuführen.
Egal, welchen Weg Sie wählen, es wird sich sicher auf Ihre kommerzielle Beziehung auswirken. Wie Sie sich vorstellen können, ist das nicht unser erstes Rodeo. Stellen Sie sicher, dass Sie Ihren Commercial Account Manager und Ihren Customer Success Manager einbeziehen, damit wir Ihnen bei den Details helfen können und sicherstellen, dass Sie den besten Gegenwert für Ihr Geld bekommen.
Für Option #1 Camp (Going „cold turkey“):
Nutzung der Option #2 (On-Prem-Vorverarbeitung):
Wenn Sie jedoch im Team Option Nr. 2 sind, möchten Sie einige Konfigurationsänderungen in Ihrer Bereitstellung vornehmen. Der schmerzloseste Weg, einige ausgewählte Nachrichtenströme von Momentum oder PMTA zu Bird zu migrieren, während Sie die SMTP-Injektion aus Ihren Generierungssystemen weiter verwenden, besteht darin, eine spezielle Route in Ihrer Konfiguration hinzuzufügen.
Für Momentum:
Richten Sie eine Version von Momentum > 3.6.23 ein.
Installieren Sie ein gültiges SSL-Zertifikat und öffnen Sie den ausgehenden Port 587, damit Momentum mit Bird sprechen kann. Konfigurieren Sie eine ausgehende Domain, damit Sie eine Nachricht über Momentum zu Bird leiten können.
Mit der untenstehenden Konfiguration wird jede Nachricht, die diese Konfiguration erreicht, über Port 587 und SMTP_Auth mit dem dort definierten Benutzernamen und Passwort an smtp.sparkpostmail.com weitergeleitet.
Konfigurieren Sie die Bindungen, die Sie über MessageBird mit TLS weiterleiten möchten, und leiten Sie sie an die oben definierte Domain weiter.
Hinweis: TLS ist nicht zwingend erforderlich, wird aber dringend empfohlen. Wenn TLS aus irgendeinem Grund nicht möglich ist, wird auch die IP-Weißliste der API-Schlüssel dringend empfohlen.
Für PowerMTA:
Richten Sie eine Version von PowerMTA > 4.5.0 ein
Installieren Sie ein gültiges SSL-Zertifikat und öffnen Sie den ausgehenden Port 587, damit PowerMTA mit Bird sprechen kann.
Konfigurieren Sie einen ausgehenden Domainpfad, damit Sie eine Nachricht über PowerMTA zu Bird leiten können. Mit der untenstehenden Konfiguration wird jede Nachricht, die diese Konfiguration erreicht, über Port 587 und SMTP_Auth mit dem dort definierten Benutzernamen und Passwort an smtp.sparkpostmail.com weitergeleitet. In PowerMTA können Sie auch TLS setzen. Hinweis: Dies wird auch ausführlicher dokumentiert hier
4. Konfigurieren Sie die VMTAs, die Sie mit der {sparkpost} Rollup-Konfiguration, die Sie oben definiert haben, über Bird weiterleiten möchten.
Sobald Sie diese Konfigurationsänderungen vorgenommen haben, sollten alle Nachrichten, die an die ausgewählte „Binding“ oder „VMTA“ gesendet werden, automatisch über Bird zur Zustellung weitergeleitet werden.
Es möglich machen
Wenn Sie diesen Weg einschlagen, machen Sie nicht den Fehler zu denken, dass dies eine Übernachtoperation ist. Dies richtig zu machen, wird einige Zeit und Sorgfalt erfordern.
Richten Sie Ihr Bird-Konto ein und testen Sie es vollständig mit einem Entwicklungs-Unterkonto, damit Sie diesen Datenverkehr später herausfiltern können. Sie müssen dies für beide Optionen tun, da Sie den API-Schlüssel für das SMTP_Auth-Passwort benötigen, egal welchen Weg Sie wählen.
Wenn Sie SMTP-Injektion verwenden, planen Sie, einen X-MSYS-API-Header hinzuzufügen, um alle erforderlichen Metadaten und Nachrichtenattribute einzubinden. Alle X-Header sollten als Metadaten neu geschrieben werden und Sie sollten auch die ip_pool- und Kampagnenattribute einbeziehen. Ein Beispiel ist hier verfügbar.
Wenn Sie KEIN BYOIP verwenden, dann sollten Sie sicherstellen, dass Sie leicht unterschiedliche Absenderdomänen für die Verwendung mit MessageBird einrichten, damit Sie beide Umgebungen parallel betreiben können, solange dies erforderlich ist. Wenn Ihre aktuelle Absenderdomäne mycompany.com ist, richten Sie vielleicht sp.mycompany.com speziell für Bird-Lieferungen ein. Dies ermöglicht Ihnen eine langsame und sorgfältige Migration, ohne dass eine der Domänen kompromittiert wird.
Stellen Sie sicher, dass Sie vollständige Domain-Ausrichtung und Sicherheitsfunktionen aktiviert haben. Richten Sie in DNS DKIM, SPF, DMARC, Bounce- und Tracking-Domänen so ein, dass sie alle wie ein Teil derselben Organisation aussehen.
Konfigurieren Sie Automatische IP-Aufwärmung auf Ihren definierten IP_Pools. Wenn Sie die zuvor erwähnte BYOIP-Option verwenden, können Sie den Aufwärmschritt ignorieren.
Starten Sie mit einem Nachrichtenstrom und gehen Sie von dort aus weiter. Genau wie beim IP-WarmUp wollen Sie dies nicht alles auf einmal erledigen. Leiten Sie zuerst ein paar Hundert Nachrichten um, dann 10% des Volumens, am folgenden Tag 20% und erhöhen Sie, bis Sie das gesamte Volumen verschoben haben. Wenn Sie ein ESP sind, wählen Sie einen Kunden, mit dem Sie zusammenarbeiten können, und testen Sie den Prozess mit seinem Feedback. Wenn alles gut funktioniert, gehen Sie zum nächsten über. Wenn Sie auf Probleme stoßen, nehmen Sie sich die Zeit, dies zu beheben und in den Prozess für den nächsten einzuarbeiten.
Automatisieren Sie so viel wie möglich mit APIs. Abgesehen von Änderungen am DNS kann die SparkPost-Konfiguration größtenteils mit ein paar API-Aufrufen automatisiert werden.
Datenerfassung von Bird
MessageBird berichtet über die Nachrichtenübermittlung in einem Webhooks-Feed oder in der Nachrichtenevents-API. Der Zugriff auf Bird-Textprotokolle ist einfach nicht möglich. Sie können diese Daten mit einem Webhooks-Sammler oder durch regelmäßige Aufrufe der Events API in Ihre Umgebung zurückziehen und die Daten verbrauchen. Wir empfehlen die Verwendung von Webhooks und haben einige Empfehlungen dazu, wie man dies richtig macht. In seiner grundlegendsten Form kann ein PHP-Webhook-Sammler in wenigen Zeilen Code bereitgestellt werden:
Während Sie experimentieren, können Sie sie mit kostenlosen Sammlern wie http://webhook.site/ ausprobieren.
Nachdem Sie alle Webhook-Daten gesammelt haben, können Sie diese zum weiteren Verarbeiten in einen Datenspeicher einlesen. Es gibt auch Möglichkeiten, Webhooks über Dienste wie StitchData und Segment zu pushen.
Die gleichen Informationen sind in der Events API verfügbar, wenn Sie die Daten PULLEN müssen und keine PUSH-Daten akzeptieren können. Hier ist ein Beispiel für einen Events API-Aufruf:
GET https://api.sparkpost.com/api/v1/events/message?/
recipients=recipient@example.com&templates=my-template&events
Diese API ist hier vollständig mit Beispielen dokumentiert: https://developers.sparkpost.com/api/events/#events-get-search-for-message-events
Wenn Sie wirklich die Event-Daten in einer Form zurück benötigen, die wie PMTA- oder Momentum-Logging aussieht, ist das ebenfalls möglich, wenn Sie etwas zusätzliche Aufbereitungscode verwenden. Die gute Nachricht ist, dass es einige Beispiele gibt, von denen Sie bereits stehlen können.
Zusammenfassung
Stellen Sie sicher, dass Sie mit Ihrem Sales- und Success-Management-Team sprechen. Wir haben das schon einmal gemacht und können Ihnen schnell und kostengünstig helfen.
Finden Sie heraus, ob Sie in Camp #1 (vollständig von On-Prem umziehen können) oder Camp #2 (noch einige on-prem MTA benötigen) sind.
Melden Sie sich für ein kostenloses Testkonto an, um die Integrationsdetails zu bewerten.
Entscheiden Sie sich für SMTP- oder REST API-Einspritzmethoden.
Falls Sie SMTP-Injektion verwenden, finden Sie heraus, wie Sie Headerdaten und Nachrichtenattribute in einen X-MSYS-API-Header einfügen können.
Bestätigen Sie, ob Sie unseren BYOIP-Prozess nutzen können.
Aktualisieren Sie Ihre DNS mit neuen Domains, wenn nötig.
Erstellen Sie ein kleines Beispiel, um Ihre Migration zu testen. Möglicherweise müssen Sie Ihre Konfiguration anpassen.
Erhöhen Sie das Volumen, bis der gesamte Datenverkehr migriert ist.
Wenn Sie in Camp #1 passen, können Sie schließlich Ihre On-Prem-MTAs ausschalten, nachdem der gesamte Datenverkehr migriert ist.
Bei der Planung von DNS-Änderungen für hochvolumige E-Mail-Systeme sollten Sie sich möglicher AWS DNS-Skalierungsherausforderungen bewusst sein, die die E-Mail-Zustellungsleistung in großem Maßstab beeinträchtigen können.