
Begitu sering, kami mendengar pertanyaan, “Apakah Anda memiliki panduan semacam itu yang menjelaskan proses untuk migrasi dari instalasi di lokasi ke Bird”?
Ya, ya kami punya. Teruslah membaca.
Pertama, sedikit latar belakang. Layanan Bird Cloud dibuat pada tahun 2014 dari keberhasilan besar solusi On-Premises Momentum MTA. Momentum duduk di inti Bird Cloud, menyediakan pengiriman kecepatan tinggi dan pengaturan lalu lintas untuk ribuan pelanggan di layanan cloud. Karena itu, Momentum menerima sebagian besar perhatian rekayasa kami, tetapi hasil dari pekerjaan itu sering kali tertanam dalam peningkatan kinerja yang tidak mendapatkan publisitas besar. Pelanggan Momentum melihat manfaat dari pekerjaan ini setiap kali rilis publik baru Momentum diterbitkan.
Ini TIDAK berarti bahwa Bird adalah “Momentum di Cloud”. MessageBird jauh lebih dari itu dan dapat memiliki manfaat tambahan bagi pelanggan yang memilih untuk bermigrasi atau menggunakannya dalam pendekatan hybrid. Manfaat ini berasal dari arsitektur API email berbasis cloud kami yang modern, yang menyediakan kemampuan yang tidak tersedia dalam solusi di tempat tradisional. Selain itu, kami telah mempermudah pelanggan PowerMTA untuk bermigrasi atau menggunakan PowerMTA dengan Bird dalam konfigurasi hybrid juga. Sisanya dari dokumen ini akan menjelaskan secara rinci bagaimana Anda dapat melakukan migrasi aliran pesan Anda dari Momentum atau PowerMTA ke layanan Bird Cloud.
Benar-benar ada dua skenario terpisah yang perlu dipertimbangkan saat bermigrasi ke Bird dari Momentum atau PowerMTA.
Anda siap untuk meninggalkan dunia di tempat sama sekali, menutup pusat data fisik Anda dan tidak lagi mengelola MTA di tempat secara langsung. Ini berarti menghilangkan Momentum atau PowerMTA dari penerapan Anda dan mengirim pesan langsung ke SparkPost untuk penanganan pesan. Sebelum menonaktifkan infrastruktur di tempat Anda, pastikan Anda memiliki cadangan basis data yang komprehensif dari semua sistem penting, terutama jika Anda menjalankan basis data PostgreSQL yang berisi data atau konfigurasi historis penting.
Anda memiliki alasan untuk mempertahankan sebagian jejak di tempat karena satu alasan atau lainnya. Beberapa kemungkinan bisa:
aliran pengiriman tertentu yang memerlukan pra-pemrosesan dalam Momentum
pembagian kapasitas untuk kebutuhan pemulihan bencana atau lonjakan
mendukung pelanggan legacy di PMTA sambil mengalihkan pelanggan baru ke SparkPost
…kemudian Anda ingin meneruskan pesan lainnya ke Bird untuk penanganan pesan selanjutnya.
Dalam kedua situasi, Anda perlu menyadari bahwa Bird hanya akan menerima pesan SMTP untuk pengiriman yang disuntikkan melalui port 587 atau 2525 dan menggunakan SMTP_Auth dengan nama pengguna dan kata sandi tertentu (Lihat dokumen SMTP di sini). Kami juga sangat merekomendasikan menghubungkan dengan sambungan TLS, tetapi itu tidak mutlak diperlukan. Jika Anda sepenuhnya mengganti lapisan MTA Anda (skenario 1), maka Anda mungkin juga ingin mempertimbangkan menggunakan Transmissions REST API yang dapat menerima pesan melalui koneksi HTTPS. Dokumentasi tentang API tersebut ada di sini.
Untuk organisasi yang mempertahankan infrastruktur di tempat yang membutuhkan kemampuan email yang aman, panduan implementasi S/MIME kami untuk PowerMTA dan Momentum menyediakan instruksi pengaturan terperinci untuk pengiriman email terenkripsi.
Opsi mana yang harus saya pilih?
Untuk menentukan apakah Anda berada di opsi #1 atau opsi #2, pertimbangkan faktor-faktor berikut:
Apakah Anda menggunakan mesin skrip Lua dari Momentum untuk sesuatu yang lebih rumit daripada pemrosesan pesan?
Lua adalah alat skrip yang komprehensif untuk memanipulasi pesan secara langsung, tetapi sebagian besar pengguna kami hanya menggunakannya untuk memilih ikatan untuk pengiriman. Jika itu kasusnya, Anda dapat memodifikasi kode generasi Anda untuk menambahkan atribut ip_pool ke header X-MSYS-API dan mempersilakan Bird menetapkan rute untuk Anda.
Jika Anda menggunakan Lua untuk melakukan hal-hal yang lebih rumit seperti penyaringan tubuh, penulisan ulang Mail_From, atau perhitungan irama pesan, dan tidak memungkinkan untuk memindahkan logika tersebut ke dalam aplikasi penyuntik Anda, Anda mungkin ingin mempertimbangkan untuk beralih ke kubu Opsi #2.
Apakah sistem generasi Anda dapat mengirim pesan melalui port 587 menggunakan TLS dan SMTP_Auth?
Beberapa sistem manajemen kampanye hanya dapat mendorong surat keluar di port 25 dalam teks terang. Ini menyebabkan masalah keamanan untuk Bird sehingga Anda mungkin ingin mempertimbangkan Opsi #2
Apakah Anda menggunakan sintaks PowerMTA substitution atau modifikasi pesan dalam baris lainnya?
Jika Anda dapat memindahkan fungsi ini ke dalam generator Anda atau menggunakan Bird Template Language, maka Anda masih dapat menggunakan opsi 1, tetapi sebaliknya, Anda mungkin perlu mempertimbangkan untuk menjaga node PMTA tetap online untuk modifikasi pesan ini sebelum mengirimkannya ke Bird untuk pengiriman.
Apakah Anda memerlukan pemindaian AV/AS masuk sebelum injeksi? Meskipun ini dimungkinkan dalam Momentum dan PowerMTA, eBird menganggap Anda telah melakukan semua pemeriksaan tersebut. Anda mungkin ingin mempertimbangkan untuk melakukannya sebelum injeksi.
Bagaimanapun caranya, pasti akan mempengaruhi hubungan komersial Anda. Seperti yang Anda bayangkan, ini bukan rodeo pertama kami. Pastikan untuk melibatkan Manajer Akun Komersial dan Manajer Sukses Pelanggan Anda agar kami dapat membantu Anda dengan detailnya dan memastikan Anda mendapatkan nilai terbaik untuk uang Anda.
Untuk Opsi #1 Camp (Going “cold turkey”):
Memanfaatkan Opsi #2 (pemrosesan awal on-prem):
Namun, jika Anda berada di tim Opsi #2, maka Anda akan ingin menambahkan beberapa perubahan konfigurasi pada penyebaran Anda. Cara paling mudah untuk memigrasi beberapa aliran pesan terpilih dari Momentum atau PMTA ke Bird sambil tetap menggunakan injeksi SMTP dari sistem generasi Anda adalah dengan menambahkan rute khusus dalam konfigurasi Anda.
Untuk Momentum:
Siapkan versi Momentum > 3.6.23.
Pasang Sertifikat SSL yang valid dan buka port 587 keluar agar Momentum dapat berbicara dengan Bird. Konfigurasikan domain keluar sehingga Anda dapat merutekan pesan melalui Momentum ke Bird.
Dengan konfigurasi di bawah, semua pesan yang mengenai konfigurasi ini akan dialihkan ke smtp.sparkpostmail.com menggunakan port 587 dan SMTP_Auth dengan nama pengguna dan kata sandi yang didefinisikan di sana.
Konfigurasikan pengikatan yang ingin Anda relay melalui MessageBird dengan TLS dan arahkan mereka ke domain yang Anda definisikan di atas.
Catatan: TLS tidak diwajibkan tetapi sangat direkomendasikan. Jika TLS tidak memungkinkan karena alasan apapun, maka daftar putih IP kunci API juga sangat direkomendasikan.
Untuk PowerMTA:
Siapkan versi PowerMTA > 4.5.0
Pasang Sertifikat SSL yang valid dan buka port 587 keluar agar PowerMTA dapat berbicara dengan Bird.
Konfigurasikan jalur domain keluar sehingga Anda dapat merutekan pesan melalui PowerMTA ke Bird. Dengan konfigurasi di bawah, semua pesan yang mengenai konfigurasi ini akan dialihkan ke smtp.sparkpostmail.com menggunakan port 587 dan SMTP_Auth dengan nama pengguna dan kata sandi yang didefinisikan di sana. Di PowerMTA, ini juga tempat Anda dapat mengatur TLS. Catatan ini juga didokumentasikan lebih lengkap di sini
4. Konfigurasikan VMTA yang ingin Anda relay melalui Bird dengan konfigurasi rollup {sparkpost} yang Anda definisikan di atas.
Setelah Anda melakukan perubahan konfigurasi tersebut, semua pesan yang dikirim ke “binding” atau “VMTA” yang dipilih akan dialihkan secara otomatis melalui Bird untuk pengiriman.
Mewujudkannya
Ketika Anda memulai di jalan ini, jangan membuat kesalahan dengan berpikir bahwa ini adalah operasi semalam. Melakukan ini dengan benar akan memerlukan waktu dan perhatian.
Siapkan akun Bird Anda dan lakukan uji coba sepenuhnya menggunakan subakun pengembangan sehingga Anda dapat menyaring lalu lintas tersebut nanti. Anda perlu melakukannya untuk kedua opsi karena Anda akan memerlukan kunci API untuk kata sandi SMTP_Auth.
Jika Anda menggunakan injeksi SMTP, rencanakan untuk menambahkan header X-MSYS-API untuk memasukkan semua metadata dan atribut pesan yang diperlukan. Setiap X-Headers harus ditulis ulang sebagai metadata dan Anda juga harus menyertakan atribut ip_pool dan campaign. Contoh tersedia di sini
Jika Anda TIDAK menggunakan BYOIP, maka Anda harus memastikan Anda mengatur domain pengiriman yang sedikit berbeda untuk digunakan dengan MessageBird sehingga Anda dapat menjalankan kedua lingkungan secara paralel selama dibutuhkan. Jika domain pengiriman Anda saat ini adalah mycompany.com, mungkin atur sp.mycompany.com khusus untuk pengiriman Bird. Ini memungkinkan Anda untuk bermigrasi secara perlahan dan hati-hati sambil tidak mengompromikan salah satu domain.
Pastikan Anda memiliki penyelarasan domain penuh dan fitur keamanan diaktifkan. Di DNS, atur DKIM, SPF, DMARC, domain bouncing, dan pelacakan sehingga mereka semua terlihat seperti milik organisasi yang sama.
Konfigurasikan Pemanasan IP Otomatis pada IP_Pools yang Anda tetapkan. Jika Anda menggunakan opsi BYOIP yang disebutkan sebelumnya, Anda dapat mengabaikan langkah pemanasan.
Mulailah dengan satu aliran pesan dan lanjutkan dari sana. Sama seperti Pemanasan IP, Anda tidak ingin melakukan semuanya sekaligus. Arahkan beberapa ratus pesan terlebih dahulu, lalu 10% dari volumenya, kemudian 20% hari berikutnya dan tingkatkan hingga Anda telah memindahkan seluruh volumenya. Jika Anda adalah ESP, pilih pelanggan yang dapat Anda ajak bekerja sama dan uji proses dengan umpan balik mereka. Jika semuanya berjalan dengan baik, lanjutkan ke yang berikutnya. Jika Anda menghadapi masalah, luangkan waktu untuk memperbaikinya dan masukkan ke dalam proses untuk yang berikutnya.
Otomatiskan sebisa mungkin dengan API. Di luar perubahan DNS, konfigurasi SparkPost sebagian besar bisa diotomatisasi dengan beberapa panggilan API.
Pengumpulan Data dari Bird
MessageBird melaporkan penyampaian pesan dalam suapan webhooks atau dalam API acara pesan. Mengakses log teks biasa Bird memang tidak mungkin. Anda dapat menarik kembali data ini ke lingkungan Anda dengan pengumpul webhooks atau dengan memanggil Events API secara berkala dan mengonsumsi data tersebut. Kami merekomendasikan menggunakan webhooks dan memiliki beberapa rekomendasi untuk melakukannya dengan benar. Dalam bentuknya yang paling dasar, pengumpul webhook PHP dapat diterapkan dalam beberapa baris kode:
Saat Anda bereksperimen, Anda dapat mencobanya dengan pengumpul gratis seperti http://webhook.site/.
Setelah Anda mengumpulkan semua data webhook, Anda dapat membacanya ke dalam penyimpanan data untuk pemrosesan tambahan. Ada juga cara untuk mendorong Webhooks melalui layanan seperti StitchData dan Segment.
Informasi yang sama tersedia dalam Events API jika Anda perlu MENARIK data dan tidak dapat menerima data PUSH. Berikut adalah contoh panggilan Event API:
GET https://api.sparkpost.com/api/v1/events/message?/
recipients=recipient@example.com&templates=my-template&events
API tersebut sepenuhnya didokumentasikan dengan contoh di sini: https://developers.sparkpost.com/api/events/#events-get-search-for-message-events
Jika Anda benar-benar memerlukan data acara kembali dalam bentuk yang terlihat seperti PMTA atau Momentum logging, itu juga mungkin jika Anda menerapkan beberapa kode kondisional tambahan. Kabar baiknya adalah sudah ada beberapa contoh yang siap digunakan.
Ringkasan
Pastikan Anda berbicara dengan tim Sales dan Success Management Anda. Kami telah menangani hal ini sebelumnya dan dapat membantu Anda melewatinya dengan cepat dan hemat biaya.
Tentukan apakah Anda termasuk dalam Camp #1 (dapat sepenuhnya pindah dari On-Prem) atau Camp #2 (Masih memerlukan beberapa MTA on-prem).
Daftar untuk akun uji coba gratis untuk mengevaluasi detail integrasi.
Jika Anda menggunakan injeksi SMTP, tentukan cara mendapatkan data header dan atribut pesan ke dalam header X-MSYS-API.
Konfirmasikan apakah Anda dapat menggunakan proses BYOIP kami.
Perbarui DNS Anda dengan domain baru jika perlu.
Buat contoh kecil untuk menguji migrasi Anda. Anda mungkin perlu menyesuaikan konfigurasi Anda.
Tingkatkan volume hingga semua lalu lintas dimigrasikan.
Jika Anda termasuk dalam Camp #1, Anda akhirnya dapat mematikan MTA on-prem Anda setelah semua lalu lintas dimigrasikan.
Saat merencanakan perubahan DNS untuk sistem email dengan volume tinggi, waspadai potensi tantangan penskalaan DNS AWS yang dapat mempengaruhi kinerja pengiriman email dalam skala besar.