Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

Mắc mệt với em TransitGateway


Ngày xưa có chàng Ngưu Lang và nàng Chức Nữ vì yêu nhau mà không đến được với nhau chỉ vì anh Ngọc Hoàng ghét cái thái độ nên bắt anh ở đầu sông, em cuối sông. Về sau, Ngọc Hoàng thương tình nên mới design cầu Ô Thước làm từ quạ đen để hai người đến được với nhau.

Ngày nay, anh Jeff Bezos chắc cũng lấy idea từ cầu ô thước nên đã thiết kế ra công cụ cầu nối giữa 2 VPC với nhau gọi là VPC peering để route traffict 

VPC Peering trong AWS và những điều cần lưu ý - Viblo

Có điều cũng giống như Ngưu Lang và Chức Nữ muốn xxx nhau là phải đi qua cầu Ô Thước, và cái cầu đó chỉ nối giữa 2 người thôi. Giả sử anh Ngưu Lang có Tuesday, anh làm thêm một cái cầu tên là Ô Kê nối với em Tuesday, thì chỉ có Ngưu Lang với Tuesday qua lại dc với nhau thôi, e Chức Nữ cũng không thể chạy qua cầu Ô Thước rồi chạy tiếp qua cầu Ô Kê để đánh ghen em Tuesday được

Cái này a Jeff nói là Transitive Peering, anh ý ko support

Và tương tự, nếu anh Ngưu Lang mà có tính trăng gió như Đoàn Chính Thuần trong Thiên Long bát bộ, anh ý lại tiếp tục xây thêm cầu để đi XXX với các em Wednesday, Thursday, thì ta có mộ tổ hợp cầu chằng chịt như mạng nhện

Trong AWS, a Jeff gọi nó là full-mesh peering, khi có quá nhiều VPC peering với nhau và kết quả là loạn chưởng

amazon-vpc-peering-guide/peering-configurations-full-access.md at master ·  awsdocs/amazon-vpc-peering-guide · GitHub

Và thế là a Jeff nghĩ ra một món khác đó là Transit gateway, một central hub 

Setup AWS Transit Gateway - The IT Hollow

Đại loại bây giờ Ngưu Lang, Chức Nữ và Tuesday không được qua lại lung tung nữa, tất cả phải qua anh Ngọc Hoàng. Ngưu Lang muốn gặp em nào thì phải qua cửa a Hoàng xin giấy phép check hàng trước, nếu OK thì anh cho qua. Vậy a Hoàng là một transit gateway

OK, lý thuyết chi tiết lên GG, bài này đi vào thực tế 

Có 2 EC2 thuộc 2 VPC khác nhau, cần setup TGW để 2 EC2 này communicate được với nhau qua private IP.

Step 1) Tạo 2 VPC Ngưu Lang và Chức Nữ với CIDR khác nhau, chú ý CIDR không được overlap nhau

Ví dụ

10.2.0.0/16
10.0.0.0/16

Step 2) Launch 2 EC2 nằm trong 2 VPC trên, mỗi EC2 có private IP lần lượt là 10.0.0.68, 10.2.0.221

Step 3) Tạo một transit gateway 

Để gắn TGW vào VPC thì cần một cái gọi TGW attachment, mỗi VPC sẽ được gắn với TGW attachment tương ứng. TGW route table, đây là bảng định tuyến, sẽ forward traffict từ VPC đến TGW qua attachment này

Cái này hiểu nhanh là VPC Ngưu Lang và VPC Chức Nữ giờ muốn qua lại với nhau thì mỗi người sẽ đặt 1 viên gạch (TGW attachment) vào cửa anh Hoàng (TGW), anh ý sẽ ghi số gạch của mỗi người vào sổ nam tào (route table) của anh ý. 

OK, giờ từ em EC2 Ngưu Lang thử ping sang EC2 Chức Nữ xem, éo được, lạ ghê. Security group của Chức Nữ đã nude hoàn toàn cho a Ngưu Lang roài, chỉ việc chọc vô sao không được?

Còn thiếu một step quan trọng nữa, a EC2 Ngưu Lang gửi một traffic (ping ICMP) tới EC2 Chức Nữ, lúc đầu packet sẽ từ TGW attachment Ngưu Lang chạy được tới TGW Ngọc Hoàng rồi. Nhưng sau đó thì chạy đi đâu tiếp, giời mới biết. Anh Hoàng a mới nhận packet thôi.

Vậy là route table của VPC Ngưu Lang phải được add thêm một route nữa. Nếu anh ý muốn gửi package đến dải CIDR của Chức Nữ thì phải qua TGW, anh Hoàng TGW sau khi nhận package a sẽ forward đến đúng địa chỉ

Tương tự chị Chức Nữ cũng phải thế

Vì nếu không ghi rõ dải CIDR của e Chức Nữ thì chàng Ngưu Lang có thể gửi nhầm sang Tuesday thì tan cửa nát nhà.

OK, giờ thì chắc ổn, Ngưu Lang “ping” em Chức Nữ một shot

Connection time out 🡪 WTF, cái lề gì thốn, vẫn éo được?

Check thêm trạng thái (status check) của e EC2 Chức Nữ

Chắc em EC2 Chức Nữ hôm nay đèn đỏ, ngọc thể bất an, nên không quan hệ tiếp xúc với ai

EC2 khi launch lên sẽ có 2 trạng thái check là

System status check nếu EC2 hardware, software issue status check sẽ failed

Instance staus check cái này liên quan tới vấn đề hệ điều hành như file system, kernel, driver không tương thích, memory issue. Tóm lại phải check system log thì mới biết

Đại loại một cái như hỏng ổ cứng cháy ram một cái lỗi Win, cần anh cài win dạo ra cài lại win mới được. 

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-status-check-failure-os-errors/

Check thêm system log, WTH

[[32m OK �[0m] Started Crash recovery kernel arming.
Welcome to emergency mode! After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to
try again to boot into default mode.
Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details

OK , giờ thì status check xanh lét, em Chức Nữ đã hết đèn đỏ, giờ thì ping, ssh, thoải mái con gà mái.

Tất cả qua private IP hết

Đăng nhận xét

0 Nhận xét