Mengapa sesi BGP anda tidak muncul dalam jadual penghalaan VPC
Sesi BGP pada perkakas EC2 tidak memasang laluan VPC. Penyebaran diaktifkan bagi setiap jadual penghalaan, dan perkakas masih memajukan setiap paket.
Cerita yang berulang ialah daemon penghalaan pada perkakas VPN EC2 akan mengajar VPC awalan jauhnya sebaik BGP naik. Separuh daripadanya benar. Sesi naik, dan tiada apa yang berubah dalam jadual penghalaan VPC kerananya, sebab itulah simptom pertama biasanya subrangkaian yang diam-diam membuang trafik ke lubang hitam.
Dua perkara berbeza dikelirukan di sini: peering dengan pelayan penghalaan, dan memasang laluan ke dalam jadual.
Mitos: naikkan BGP dan VPC akan mempelajari awalan
BGP ialah perbualan antara dua penutur, dan dalam reka bentuk ini penuturnya ialah daemon penghalaan pada perkakas anda dan titik akhir VPC Route Server yang diletakkan AWS dalam subrangkaian milik anda. Perbualan itu membawa awalan. Ia tidak menyentuh jadual penghalaan subrangkaian beban kerja anda, kerana jadual itu hanya belajar melalui penyebaran yang mesti diaktifkan pada setiap satu. Sehingga itu berlaku, fabrik VPC tidak tahu apa-apa tentang apa yang diketahui perkakas itu.
Langkah persediaan dipisahkan atas sebab tertentu: kaitkan, cipta titik akhir, lakukan peering, kemudian aktifkan penyebaran.
Route Server ialah satah kawalan, bukan terowong
Route Server tidak menyulitkan, memajukan atau memeriksa satu paket pun. Ia wujud untuk bertukar BGP dengan perkakas dan menyerahkan awalan yang terhasil kepada jadual penghalaan yang dikonfigurasikan untuk menerimanya. Satah data tidak berubah: paket masih keluar melalui antara muka rangkaian perkakas, melalui VPN-nya, dan kembali melalui laluan yang sama.
Ini bermakna semakan sumber dan destinasi pada instans pemajuan masih penting, kerana instans itu kini memajukan trafik yang dialamatkan kepada orang lain.
Kumpulan keselamatan dan kawalan subrangkaian juga terpakai pada aliran yang dimajukan. Route Server tidak akan memaksa perkakas yang menggugurkan trafik untuk memajukannya, dan tidak akan membaiki laluan balik yang hilang di sebelah jauh.
Penyebaran adalah bagi setiap jadual penghalaan, bukan bagi seluruh VPC
Mengaitkan pelayan penghalaan dengan VPC dan mengaktifkan penyebaran pada jadual penghalaan ialah dua keputusan, dan hanya yang kedua mengubah apa yang dilakukan subrangkaian. VPC dengan enam jadual penghalaan boleh menerima awalan yang disebarkan dalam satu dan tidak dalam lima yang lain, yang memang tepat untuk subrangkaian hab dan memang itulah yang menghasilkan hasil membingungkan «berfungsi separuh». Walaupun penyebaran dihidupkan, laluan pesaing boleh menang, kerana pemilihan laluan VPC mengutamakan awalan terpanjang dan, pada panjang yang sama, mengutamakan laluan statik berbanding laluan yang disebarkan. Keutamaan itu dilaksanakan secara senyap.
Periksa jadual berkesan untuk subrangkaian tertentu dan bukan senarai awalan yang diumumkan perkakas. API menjawab soalan itu secara langsung: aws ec2 associate-route-server dan aws ec2 enable-route-server-propagation --route-table-id <id> ialah dua langkah yang orang lupa, dan aws ec2 describe-route-tables --route-table-ids <id> menunjukkan sama ada awalan itu tiba sebagai entri route server.
Perkakas masih membawa setiap paket
Mengumumkan kebolehcapaian bukan sama dengan memilikinya. Sesi BGP boleh kekal terbentuk sementara VPN perkakas mati, dan pengumuman statik yang tidak pernah berubah terus menarik trafik ke laluan mati. Route Server menyokong pengesanan kegagalan seperti BFD, tetapi itu menguji keaktifan rakan setara, bukan kesihatan semua yang berada di belakangnya.
Ikat pengumuman kepada laluan jauh yang sebenar: umumkan awalan apabila terowong dan rangkaian jauh hidup, dan tarik balik apabila tidak.
Tarik balik sesuatu awalan dan lihat apa yang berlaku
Uji secara berperingkat, dan jadikan peringkat terakhir sebagai pembuangan. Pastikan pengumuman tiba, awalan muncul dalam setiap jadual yang dimaksudkan, perkakas ialah hop seterusnya, pemajuan merentasi terowong aktif, dan hujung jauh menjawab. Kemudian tarik balik awalan ujian, atau tutup terowong yang diluluskan, dan perhatikan sama ada trafik bergerak ke tempat reka bentuk katakan. Catat jadual sebelum dan selepas selagi ujian masih terbuka.
Memindahkan laluan ke perkakas kedua tidak memindahkan sesi yang dibawanya, kerana keadaan NAT dan tembok api kekal pada peranti pertama.
Untuk set tetap selusin awalan, laluan statik dalam jadual VPC kekal sebagai jawapan yang lebih murah. Route Server berhak mendapat tempatnya apabila senarai awalan benar-benar berubah dan dasar penarikan balik ialah sesuatu yang boleh anda jelaskan kepada orang yang bertugas.