Đây cũng là cơ hội đề sinh viên có thể áp dụng những kiến thức và kỹ năng đã được học đề đưa vào một dự án cụ thể, thường là một dự án nghiên cứu hoặc ứng dụng thực tế trong lĩnh vực chu
Trang 1BO GIAO DUC VA DAO TAO TRUONG DAI HOC CONG NGHE DONG A
DO AN TOT NGHIEP
DE TAI: XAY DUNG HE THONG CAN BANG TAI WEB
SERVER TREN CLOUD
Giang viên hướng ThS Hà Trọng Thắng
dẫn:
Sinh viên thực hiện:
Ngày sinh: 20/06/2002
Ngành: Công nghệ thông tin
Khoa: Khoa Công nghệ thông tin
Mã sinh viên:
Bắc Ninh, năm 2024
Trang 2BO GIAO DUC VA DAO TAO TRUONG DAI HOC CONG NGHE DONG A
DE TAI: XAY DUNG HE THONG CAN BANG TAI
WEB SERVER TREN CLOUD
Giảng viên hướng dẫn: ThS Hà Trọng Thắng
Bắc Ninh, năm 2024
Trang 3LOI CAM DOAN Tôi xin cam đoan rằng đồ án/ khoá luận tốt nghiệp với đề tài “Xay dựng hệ thống
cân bằng tái Web server trên Cloud” là nghiên cứu độc lập của tôi Đồng thời những số liệu được cung cấp từ báo cáo đều là kết quả nghiên cứu hoàn toản trung thực, không sao chép từ bất kì một công trình nghiên cứu khác nảo
Bắc Ninh, ngày Tháng năm
Sinh viên
Trang 4LOI CAM ON
Em xin chân thành cảm ơn Trường Đại học Công nghệ Đông Á đã cho em một môi
trường học tập thuận lợi và em xin cảm ơn trường đã tạo điều kiện cho em được nghiên
cứu cũng như được bảo vệ đồ án sớm Em cũng xin được cảm ơn khoa Công nghệ
Thông tin, nơi đã giúp em học tập và mài giữa các kiến thức chuyên ngành của em, cũng chính nhờ những kiến thức đó đã giúp ích vô cùng lớn cho đề tài nghiên cứu của
em
Em cũng xin được bày tỏ lòng biết ơn tới các thây/ cô trong khoa đã giúp em giải đáp các thắc mắc trong bài làm của em Đặc biệt em xin cảm ơn thầy Hà Trọng Thắng, giảng viên hướng dẫn đồ án của em, thầy chính là người đã chỉ bảo, hướng dẫn từng chút một và đã giải đáp nhiều thắc mắc cho em trong suốt quá trình nghiên cứu, thầy
luôn đôn đốc việc nghiên cứu đề sớm có thê hoàn thành đồ án Chính nhờ những điều
đó mà đề tài của em nghiên cứu đã được hoàn thành sớm hơn mong đợi
Cuối cùng em xin được cảm ơn gia đình đã luôn ở bên động viên và tạo điều kiện cho em học tập, em xin cảm ơn bạn bè đã đồng hành cùng em trong quá trình học tập cũng như nghiên cứu Một lần nữa thì em xin chân thành cảm ơn tất cả mọi người
Trang 5MUC LUC
098.0571018 aa jẠ AaÁAÁAÁ 1 CHUONG I: KHÁO SÁT, ĐÁNH GIÁ HIỆN TRẠNG - ST 1011210 ng ta 2
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THÓNG - 0 2S E1 E211 12 xu 6
1 Tong quan vé Can bang tabs ẽ ẽ.ố ố 6
1.2 Cac thuat toan Can bang tai phé bieME cece ccccccececsesesssesssesssseressessecsetsesees 7
1.3 Lợi ích của Cân bằng tải: 2-0 n0 2112212 1122121 nung re 9
2 ti) 100) iy7rdddâaiaiaiaadäắä55ÝÝÃÝÝÃÝẢÝÝẢÝỶÝ 10
a Giới thiệu về AWS: HH H1 1H21 121011 t ng crờu 10
PC h0 À9 nddáảảÝÝÝỶ 10
c Giới thiệu về EC2: -2 2s TH HH1 21 1221211121211 11
d Giới thiệu về RDS: HH2 H11 tt 1010221111 cg tru 12
e Gidi 09600 na Ũ 12 2.2 Giới thiệu về Ubuntu: -2 2 9215112112112 1102121122121 81211211211 ng re 13
2.3 Giới thiệu về Wordpress: à nnnnnHHn HH1 21210 21212 e 13 2.4 Giới thiệu về ứng dụng Mobaxterm: 52 n2 21221 822121 u 14 2.5 Giới thiệu về Apache Benchmark (ab): 5 SE 25112211 21016 xee 14
Trang 6CHUONG ILL: TRIEN KHAL, CAI DAT VA CAU HINH HE THONG ccc 19
1 Tém tat cdc bude chinh can thyre Hi@ns oc ccc cccccccesccesssecssceesesessetsesseessreseretserstsees 19
2 Thực hiện các bước triển khai, cài đặt và cầu hình trên AWS: Ăn na 20 2.1 Thực hiện đăng nhập vào AWS: HH1 11111011111 tt kh ca ch 20
a Khoi tao VPC va Submets 0000 o 22
2.3 Thực hiện khởi tạo máy ảo Ubuntu trên EC2 và Database My SỌL trên RDS 28
a Khoi tao may chu Ubuntu trên EC2: S129, 1 1101111111112 11111 kg 28
2.4 Thực hiện kết nối vào máy ảo Ubuntu và thực hiện cài đặt wordpress: 41
2.5 Thực hiện khởi tạo AMI từ máy ảo Ubuntu và khởi tạo Launch Template: 50
CHUONG IV: KIEM THU HE THONG VÀ ĐÁNH GIÁ KẾT QUÁ 5c 67
1 Kịch bản kiểm thứ I: Thực hiện kiểm thử phân phối tải của AL.B: 52- 55s: 67 1.1 Kịch bản kiếm thử phân phối tải của ALLB: - 5 2n 2221221 222122121, 67 1.2 Các bước thực hiện kiểm thử và kết quả thu được: -à- 5s nan 69
Trang 73.1 Kịch bản bản kiếm thử phân phối tải khi gặp sự cố hệ thống web server bị mất khả
y ¡0 1 ›.anắấ Ă 93
4.2 Các bước thực hiện kiểm thử và kết quả thu được: 2 nhe 96
5 Những thuận lợi và khó khăn trong quá trình xây dựng hệ thống: 5s 102
M0 ,ÊẼẼ 102
.1508000.5 577 .‹ (.AaaddddO 105 TAL LIEU THAM KHẢÁO - H110 110110 1n 11 11 1111 ng ng 107
Trang 8DANH MUC CAC TU VIET TAT
tát
1 VPC Virtual Private Cloud
3 AWS Amazon Web Services
4 ELB Elastic Load Balancer
5 ALB Application Load Balancer
6 ASG Auto Scaling Group
7 SG Security Group
8 EC2 Elastic Compute Cloud
9 RDS Relational Database Service
12 IP Internet Protocol
13 DNS Domain Name Server
15 ab Apache Benchmark
16 GCP Google Cloud Platform
17 DB Database
18 83 Simple Storage Service
19 SNS Simple Notification Service
Trang 9
DANH MỤC HÌNH ẢNH
Hình 2: Hình ánh giao điện đăng nhập vào bảng điều khiển của AWS à- 20c 2222 22c 20
Hình 3: Hình ảnh giao diện đăng nhập L1 121121 12111111111111211111111 111111111 kg 20 Hình 4: Hình ảnh nhập mã xác thực đăng nhậtp 12 2.121 1111 1111111111 2121110111011 01H Hye, 21
Hình 5: Hình ánh giao điện chính của báng điều khiến AWS 52201 2122212211 21 12.22 e6 22
Hình 6: Hình ảnh tìm kiếm dịch vụ VPC 22 221112221 1.1112 g1 gàng 23
Hình §: Hình ánh cầu hình cho VPC và các Subnet mới -. - 52222 221221122112211221122212211 226 24
Hình 9: Hình ánh kết quá sau khi khởi tạo VPC và Subnet 2 222 2112512112512251212211212ee 25
Hình 10: Hình ảnh khởi tạo Še€urity øfOUD THỚI L1 29T 2 11112 111220111101 121tr ng 26 Hình 11: Hình ảnh cấu hình cho Security group của EC2 - 5s s22 122112212221 xe 27 Hình 12: Hình ảnh kết quá khởi tạo Security group cho EC2 - 5 22 222211211211121221e re 27 Hinh 13: Hinh anh cau hinh Security eroup cho Database 2 s S21 1E122112121222 21 xe 28 Hình 14: Hình ánh kết quá khởi tạo Seeurity group cho Database - 2-2222 122122 te 28
Hinh 15: Hinh anh thie hién tim kiém dich vu EC2 cccccccccccccsscssscscesescesesestesestsvesesesseseststecsteeseen 29
Hình 16: Hinh anh thực hiện khoi tao Key palr mỚI 1 0101111 1411111111110 H1 H1 Hà 29 Hình 17: Hình ảnh các bước cầu hình cho Key pair mới 2 s 211222211 2121211211212122.E xe 30
Hình 19: Hình ảnh các bước cầu hình cho instances mới 22: 22 2112222512312112112211211226 32
Hình 20: Hình ảnh kết quả khởi tạo 11StañC€S THỦỚI 01 121111111111 10111111111011 1101111111 hy 33 Hình 21: Hình ảnh thực hiện khởi tạo Elastic TP mới c2 n1 1 c1 v2 22 2 HH nà Hà 33 Hình 22: Hình ảnh cầu hình cho Elastic TP mới 2-22 2 E21 E1 E21222122112112211212121 8 rau 34 Hình 23: Hình ảnh thực hiện cấu hình gán Elastic IP cho máy chủ webserver-ec2 35
Hình 24: Hình ảnh kết quả sau khi gán Elastie IP cho webserver-ec2 - 2: 222 222122222226 35
Hình 25: Hình ảnh thực hiện tìm kiếm dịch vụ RDS 0 n1 111211112111 81 1111511111118 sxe 36
Hình 26: Hình ảnh các bước cầu hình cho Database mới 22: 22 2119222251551212221221122122.6 37 Hình 27: Hình ảnh các bước cầu hình cho Database mới 22: 22 21E222251251212222221121122 6 38 Hình 28: Hình ảnh các bước cầu hình cho Database mới 22: 22 21E222251251212211221121122 6 39 Hình 29: Hình ảnh các bước cầu hình cho Database mới 22: 22 211E222251251212211221121122 6 40
Hình 30: Hình ảnh kết quả sau khi thực hiện cài đặt Database tmới - cớ 40
Trang 10Hình 31: Hình ảnh các bước cấu hình để kết nối tới webserver-ec2 thông qua công SSH của ứng
Hình 32: Hình ảnh thực hiện cài đặt wordpress trén may chủ webserver-ee2 cà: 42
Hình 33: Hình ảnh thực hiện cài đặt và cấu hình cho gói php.ini trên webserver-ee2 43 Hình 34: Hình ảnh các bước cầu hình cho worpress -s- 5 s9 EE2211221212.211212n ng ru 43 Hình 35: Hình ảnh các bước cầu hình cho worpress -s- 5s s9 EE12112211212221212n ng rau 44 Hình 36: Hình ảnh các bước cầu hình cho worpress -s- 5s s9 2211221122212 rau 45
Hình 37: Hình ánh cầu hình kết nói đữ liệu từ wordpress tới RDS MySQL à ni 46
Hình 38: Hình ảnh các bước cầu hình cho worpress s- 5s s2 E22112211212.211212n cau 47 Hình 39: Hình ảnh các bước cầu hình cho worpress s 5S nnEE2211221212.2121 2n cau 48 Hình 40: Hình ánh cầu hình thành công wofdpr€ss -2 52-5 21 9E 2211221221212 182221 48 Hình 41: Hình ảnh kết quá truy cập thành công vào trang wordpress vừa được khởi tạo 49
Hình 43: Hình ánh các bước cầu hình cho AMI mới 5252222 E9 112212112111121.212212 22 xe 50
Hình 44: Hình ảnh kết quả sau khi khởi tạo AMI 52: 26 221 2212221123122151151211211211211121121 6 51
Hình 46: Hình ánh các bước cầu hình cho Launch template mới 22-52 2252 522212212222, 52 Hình 47: Hình ánh các bước cầu hình cho Launch template mới 22: + 25 SE952221221222 2x, 52 Hinh 48: Hình ánh các bước cầu hình cho Launch template mới 2-5 2225 SE952221221222 2x, 53 Hình 49: Hình ảnh tổng quát về cau hình cài đặt của Launch template 2-22 ¿22222222 54
Hình 50: Hình ảnh kết qua sau khi tao Launch template tmỚi - c2 1121211111121 11 2111022 54
Hình 51: Hình ảnh các bước thực hiện cấu hình cho Target group mới -2- 22 cccE2czzzze2 35 Hình 52: Hình ảnh các bước thực hiện cấu hinh cho Target group mới s2- 22 sccE2czzcze2 56 Hình 53: Hình ảnh các bước thực hiện cấu hình cho Target group mới -2- 22 scccE2czzzze2 37 Hinh 54: Hinh anh két quá Target group sau khi được khởi tạo s 52-51 222221222 tre 37
Hinh 55: Hinh anh cac bude thure hién céu hinh cho ALB ccccccccccscsscscesesesesestscestsvesesestssestseeene 58 Hinh 56: Hinh anh thre hién cac buc cau hinh cho ALB cccccccccescsesesesessesesesesessessessenses 59 Hình 57: Hình ảnh thực hiện các bước cấu hình cho ALB n S11101111111151111211112121211 22 x6 60
Hình 58: Hình ảnh tổng quan về các cầu hình trên ALLB - 52 2 2221222122122211221122212211 256 60
Hình 60: Hình ảnh kết quả kiêm thử kết nối của ALB tới webserver-ec2 5 2scs 2 61 Hình 61: Hình ảnh các bước thực hiện cấu hình ASG mới - ảó c2 he 62 Hình 62: Hình ảnh các bước thực hiện cấu hình cho ASG mới ch run 63
Trang 11Hình 63: Hình ảnh các bước thực hiện cấu hình cho ASG mới Sàn 11111 51111112101111105x2 63 Hình 64: Hình ảnh các bước thực hiện cấu hình cho ASG mới ch nh run 64 Hình 65: Hình ảnh các bước thực hiện cấu hình cho ASG mới chu 65
Hình 66: Hình ảnh thực hiện tạo ASG Tmới - L0 2111911115 11111111 1111 11111111 1111111111111 x2 65
Hình 68: Hình ảnh sơ đồ mô tả hệ thống kiếm thử cân bằng tải 0 S22 2211222 creg 68
Hình 69: Hình ảnh các bước thực hiện cấu hình Virtual host trên máy chủ webserver-ec2 69 Hình 70: Hình ảnh các bước thực hiện cấu hình Virtual host trên máy chủ webserver-ec2 69
Hình 71: Hình ảnh cầu hình của trang kiêm thử hostname index.php -s- 2 2 2 22 222 2 70
Hình 72: Hình ánh kết quá kiêm thử phân phối tải của ALB trên trang index.php 71 Hình 73: Hình ánh kết quá kiêm thử phân phối tải của ALB trên trang index.php 71
Hình 74: Hình ảnh kết quả kiêm thử phân phối tải của ALB trên trang index.php 72 Hinh 75: Hinh anh access log của webserver kiêm thử 2: 25 221 2212221121122112211211121121 c6 73 Hình 76: Hình ảnh access log của webserver kiếm thử - 2s: 22 2222222212221122212112211 2e 73 Hình 77: Hình ảnh access log của webserver kiêm thử 2: 25 221 2212251121122112211211121121 c6 74 Hình 78: Hình ảnh kết quả kiêm thử phân phối tải của ALB trên trang wordpress 75 Hình 79: Hình ảnh access log của webserver kiếm thử - 2s: 22 222222221222112221211221 2122 75 Hình 80: Hình ảnh access log của webserver kiếm thử - 5s: 25 22222222122112221211221 2e 76 Hình 81: Hình ảnh access log của webserver kiểm thử - 2s: 25 222122221222112211211211 2e 76
Hình 82: Hình ảnh sơ đồ mô tả sự cố mắt khả năng hoạt động một web server trên hệ thống cân
Hình 83: Hình ảnh mô phỏng lại sự cố khiến làm mắt khả năng hoạt động mắt một web server
trên hệ thống s2 5 S1 cE n11211121122 2121012221121 1112212121121 122121 re 80 Hình 84: Hình ảnh kiểm thử phân phối tải của ALB - S2 2222122 1 112118211222 2121 reg 81
Hình 85: Hình ảnh access log của web server kiểm thử 2s: 25: 2222222212221122221122112221 2222 83 Hinh 86: Hinh anh access log của webserver kiêm thử 2: 25 221 221225112112211221121121 21c 84
Hình 88: Hình ảnh access log của webserver kiếm thử - 22: 22 222222221221122112112211 2e 88
Hình 89: Hình ánh mô phỏng lại sự có bất ngờ khiến mắt khá năng hoạt động toàn bộ hệ thống.89
Hình 90: Hình ảnh cấu hình tự động mở rộng hệ thống web server trên ASG 89
Hình 92: Hình ảnh kết quá kiêm thử phân phối tải của ALB 5 S 212222221221122 21 91
Hinh 93: Hinh anh access log cia webserver kiém thử 2: 25 221 2211221121122112211211121121 c6 92
Trang 12Hinh 94: Hinh anh access log cia webserver kiêm thử 2: 25 221 2212251121122112211211121121c6 92 Hinh 95: Hinh anh access log của webserver kiêm thử 2: 25 221 2212251121122112211211121121c6 92
Hình 96: Hình ảnh sơ đồ mô tả sự cố hệ thống web server bị gửi tới một lượng lớn request 95 Hình 97: Hình ảnh cầu hình Group đetails trên ASG - 2 2222212211211 82122222 tre 96
Hinh 98: Hinh anh cau hinh cho dynamic scaling policy trén ASG ccccccccesssesstesessseseseeees 97 Hinh 99: Hinh anh két qua tải và cài đặt Apache Benchmark trên Server-ab 2-55: 97
Hình 100: Hình ảnh các web server trước khi sự cô KAY TO 98
Hinh 101: Hinh ánh kết quá khi thực hiện gửi 100000 request toi hệ thống cân băng tải 98 Hình 102: Hình ảnh về thông báo trên metric của ASG :- 2 212221221122112211211221.21 e 99
Hình 103: Hình ảnh Activity history của AŠÓ HH H112 11 ng tt ng 99
Hình 105: Hình ảnh số lượng máy chủ sau khi đã được ASG khởi tạo che 100
Hình 106: Hình ánh access log của các web server kiểm thử - 5s 22222112 1212222 xeg 101
Trang 13DANH MUC BANG BIEU Table 1: Bang thong tin các máy chủ dùng đề kiểm thử - 2 S22 2122112222121 E1 crg 68 Table 2: Bảng thông tin các máy chủ dùng đề kiểm thử - 2 S122 2122112221212 1 re 78 Table 3: Bang théng tin của máy chủ dùng để kiểm thử 52 S2222122211211221121122.22 E1 re 86 Table 4: Bảng thông tin các máy chủ dùng đề kiểm thử - 5 S122 212211221 21212 1E rrg 94
Trang 14LOI MO DAU
Đồ án tốt nghiệp là một phần quan trọng của chương trình học đại học hoặc cao đăng đánh dấu sự hoàn thành của sinh viên sau quá trình học tập, nghiên cứu trong suốt thời gian được đảo tạo tại trường Đây cũng là cơ hội đề sinh viên có thể áp dụng những kiến thức và kỹ năng đã được học đề đưa vào một dự án cụ thể, thường là một
dự án nghiên cứu hoặc ứng dụng thực tế trong lĩnh vực chuyên ngành của mình và ở đây em thực hiện lựa chọn đề tài “Xây dựng hệ thống cân bằng tải Web server trên Cloud” trong lĩnh vực công nghệ thông tin
Đề tài của em là “Xây dựng hệ thống cân bằng tải Web server trên Cloud” Với sự phát triển mạnh mẽ của công nghệ thông tin và nhu cầu sử đụng dịch vụ trực tuyến ngày càng tăng, việc đảm bảo hiệu suất và tính sẵn sàng của các hệ thông web trở nên cực kỳ quan trọng Trong bối cảnh đó, việc nghiên cứu và triển khai một hệ thống cân bằng tải hiệu quả không chỉ giúp nâng cao hiệu suất hệ thống mà còn đảm bảo khả năng chịu lỗi và tối ưu hóa tài nguyên
Trong suốt quá trình thực hiện đề tài em đã áp dụng các kiến thức được học và tìm hiểu thêm về các công nghệ tiên tiến trên nền tảng Cloud cụ thể là nền tảng AWS dé xây dựng một hệ thống cân bằng tải hoàn chỉnh Đề tài này không chỉ mang lại cho em những kinh nghiệm quý báu mà còn mở ra những hướng phát triển mới trong lĩnh vực quản lý và tối ưu hóa hệ thống web
Em xin chân thành cảm ơn sự hướng dẫn tận tình của các thầy cô trong Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Đông Á Những góp ý quý báu và sự hỗ trợ của các thầy cô đã giúp em hoàn thành tốt đề tài này Em cũng xin cảm ơn gia đình
và bạn bè đã luôn ủng hộ và động viên em trong suốt quá trình học tập và nghiên cứu Cuối cùng vì thời gian có hạn cũng như kinh nghiệm còn thiếu nên đề tài của em không tránh khỏi những thiếu sót Em rất mong được sự chỉ bảo, đóng góp ý kiến của các thây/ cô đê em có điều kiện bố sung và có thê hoàn thành tốt dé tài của mình hơn
Trang 15CHƯƠNG I: KHAO SAT, DANH GIA HIEN TRẠNG
lưu trữ đữ liệu và triển khai ứng dụng của họ Việc hiểu và triển khai hệ thống cân
bằng tải Web server trên Cloud là một yêu cầu ngày càng tăng trong cộng đồng kỹ thuật [I]
Việc nghiên cửu và xây đựng một hệ thống cân bằng tải Web server trên Cloud có thê mang lại những đóng góp quý báu cho bản thân em, đặc biệt là trong việc tìm ra các phương pháp và công nghệ mới để tối ưu hóa hiệu suất của các ứng dụng web trên môi trường đám mây
Việc lựa chọn đề tài xây đựng hệ thống cân bằng tải Web server trên Cloud là một quyết định mang tính chiến lược của em Đề tài này không chỉ là một nhiệm vụ thú
vị mà còn là một thách thức lớn đối với em Bằng việc thực hiện đề tài này, em hy
vọng có thê phát triển và nâng cao kỹ năng quản lý hạ tầng, tự động hóa và bảo mật
trong môi trường đám mây Điều nay là một cơ hội tuyệt vời đề thử thách bản thân
em, đồng thời qua đó giúp em củng có thêm những kiến thức đã có và học hỏi được thêm các kiên thức mới
Trang 163 Thực trạng:
Ngày nay với sự gia tăng của các ứng dụng web và dịch vụ trực tuyến, việc triển khai hệ thông cân bằng tải trên Cloud đang trở thành một phần quan trọng của chiến lược hạ tầng công nghệ thông tin của nhiều tổ chức và doanh nghiệp Do sự phát triên của mô hình đa điểm đữ liệu và đám mây phân tán, nhiều tổ chức cần triển khai
hệ thông cân bằng tải để đảm bảo sự mượt mà và hiệu suất của ứng dụng web trên
các môi trường phân tán này
Có nhiều công nghệ và dịch vụ khác nhau được cung cấp đề triển khai hệ thông cân bằng tải trên Cloud, bao gồm các dịch vụ từ các nhà cung cấp lớn như Amazon Web Services (AWS), Microsoft Azure, và Google Cloud Platform (GCP), cũng như các giải pháp mã nguồn mở như HAProxy, Nginx, và Apache Mặc dù việc triển khai hệ thống cân bằng tải trên Cloud mang lại nhiều lợi ích, nhưng cũng đặt ra nhiều thách thức, bao gồm quản lý và câu hình hệ thống, bảo mật, tự động hóa, và giám sát hiệu suất [1]
Suy cho cùng thì hiện nay hệ thống cân bằng tải Web server trên Cloud là một phan quan trọng của chiến lược hạ tầng công nghệ thông tin của nhiều tổ chức và doanh nghiệp, nhưng cũng đặt ra nhiều thách thức trong triển khai và quan lý
4 Ưu điểm và nhược điểm:
- _ Hệ thống cân bằng tải Web server trên Cloud mang lại nhiều ưu điểm quan trọng, bao gồm:
Go Khả năng mở rộng linh hoại: Cloud cho phép mở rộng hạ tầng IT một cách
nhanh chóng và linh hoạt để đáp ứng nhu cầu tăng cao hoặc giảm đi trong ngắn hạn mà không cân đầu tư vào phần cứng mới
o Tinh san sang va tin cậy: Các nhà cung cấp dịch vụ Cloud thường cung cấp một cơ sở hạ tầng mạnh mẽ với khả năng sẵn sàng cao và hỗ trợ kỹ thuật liên
tục
Trang 17o Tiết kiệm chỉ phí: Sử dụng dịch vụ đám mây giúp giảm thiêu chi phí đầu tư ban
đầu cho phần cứng, cũng như giảm thiêu chi phí vận hành và bảo trì
o Bảo mật cao: Các nhà cung cấp dịch vụ Cloud thường đầu tư mạnh vào các
biện pháp bảo mật để bảo vệ dữ liệu của khách hàng một cách tốt nhất bao
gom ma hoa, kiêm soát truy cập và giám sát liên tục
o Quản lý dễ dàng: Cloud cung cấp các công cụ quản lý tập trung và tự động hóa, giúp đơn giản hóa quy trình triển khai, quản lý và giám sát hệ thống
o Kha nang tich hop: Cloud cung cấp các API và dịch vụ tích hợp dễ dàng với
các ứng dụng và dịch vụ khác, giúp tôi ưu hóa hiệu suất và tăng tính linh hoạt
© Tinh linh hoat va da dang: Cloud cung cap một loạt các dich vụ và công nghệ
khác nhau, từ cơ sở dữ liệu đến máy ảo và lưu trữ đám mây, cho phép người dùng lựa chọn các giải pháp phù hợp với nhu cầu của họ
Mặc dù hệ thông cân bằng tải Web server trên Cloud mang lại nhiều lợi ích nhưng
cũng tôn tại một sô nhược điệm cân được xem xét như sau:
o_C?ỉ phí: Triền khai và vận hành hệ thông cân bằng tải trên Cloud có thể gây ra
chi phí cao, đặc biệt là khi sử dụng các dịch vu Cloud hang đầu hoặc khi hệ thông đòi hỏi mở rộng có tính linh hoạt và mang hiệu suất cao thì chỉ phi
không hề nhỏ
o Phu thuéc vao nha cung cap đấm mây: Sự phụ thuộc vào nhà cung cấp dịch vụ
đám mây có thé là một rủi ro, vì bất kỳ sự cố nào với nhà cung cấp đó cũng có thê ảnh hưởng đến hiệu suất hoạt động của hệ thông
© Bao mat và tuân thủ quy định: Đối với một số doanh nghiệp và tô chức, việc
lưu trữ và xử lý đữ liệu trên Cloud có thể gây ra lo ngại về bảo mật và tuân thủ quy định, đặc biệt là trong các ngành như tài chính và y tế
Trang 18o_Khả năng quản lý phức tạp: Quản lý và câu hình hệ thông cân bằng tải trên
Cloud có thê phức tạp và đòi hỏi kiến thức kỹ thuật và kinh nghiệm chuyên
môn đề đám bảo hiệu suất và sẵn sàng của hệ thống, cũng như có thể tận dụng
được toàn bộ khả năng của Cloud
Š Giải pháp:
- - Đứng trước thực trạng hiện tại của bài toàn cũng như thông qua các phân tích về
ưu nhược điểm thì em xin được đưa ra giải pháp thực hiện xây dựng hệ thống cân bằng tải Web server trên AWS
Trang 19CHUONG II: PHAN TICH VA THIET KE HE THONG
1 Tông quan về Cân bằng tải:
1.1 Khái niệm:
Cân bằng tải là một phương pháp phân phối khối lượng tải trên nhiều máy tính
hoặc một cụm máy tính đề có thê sử dụng tôi ưu các nguôn lực, tôi đa hóa thông lượng, giảm thời gian đáp ứng và tránh tinh trang quá tải trên máy chủ
" Vi du: F5 Big-IP, Citrix ADC (trước đây là NetScaler), A 10 Networks
" Ưu điểm: Độ tin cậy và hiệu suất cao, tính năng bảo mật tích hợp
" Nhược điểm: Chi phí cao, khó mở rộng quy mô
Cân Bang Tai Phan Mém (Software Load Balancer): La cac phan mém chạy trên các máy chủ tiêu chuân đề thực hiện chức năng cân bằng tải
= Ví dụ: Ngimx, HAProxy, Apache Traffic Server, Traefik
“ Ưu điểm: Chi phí thấp hơn so với phần cứng, linh hoạt và dễ cầu hình cũng như dễ triển khai trên các nền tảng khác nhau
“ Nhược điểm: Hiệu suất thấp, phụ thuộc vào tài nguyên của máy chủ chạy
Trang 20" Vidu: AWS Application Load Balancer, Azure Application Gateway
= Uu diém: Có thể thực hiện các quyết định cân bằng tái dựa trên nội dung
của yêu cầu (URL, cookie, header) và Hỗ trợ SSL/TLS termination
" Nhược điểm: Cấu hình phức tạp
o Cân Bằng Tải Mạng (Network Load Balancer - NLB): Là loại cân bằng tải tập trung vào việc phân phối tải ở tầng mạng (tầng 4 của mô hình OSI), chủ
yêu xử lý các gói TCP/UDP
= Vidu: AWS Network Load Balancer, Azure Load Balancer
= Uu diém: Hiéu suất cao, độ trễ thấp
tải dựa trên nội dung yêu cầu
> Ở đề tài này em thực hiện lựa chon Can Bang Tai Ung Dung (Application Load Balancer - ALB), cụ thê là AWS Application Load Balancer bởi vì trong đề tài lần này em thực hiện cân bằng tải cho hệ thông Web server trên Cloud mà hệ thống này được nằm ở tầng 7 trong mô hình OSI và được chạy trên AWS chính vì thể nên ALB sẽ là loại cân bằng tải phù hợp nhất đối với đề tài này của em 1.2 Các thuật toán Cân băng tải phố biến:
Trong suốt quá trình hình thành và phát triển các thuật toán cân bằng tải thì hiện nay có một số những thuật toán cân bằng tải phô biến như sau:
- Round Robin (Vong quay):
o Đây là thuật toán cân bằng tải đơn giản nhất, trong đó các yêu cầu được phân phối luân phiên cho tất cả các máy chủ trong nhóm backend
o Uu diém: Dé triển khai và quản lý
o Nhược điểm: Chỉ chia đều tải ra cho các máy chủ trong hệ thống, khiến cho
máy chủ thì nhiều tải máy chủ thì quá ít tải
Trang 21Weighted Round Robin (Vong quay theo trong sé):
o Tuong ty nhu thuat toan Round Robin, nhưng mỗi máy chủ được gán một trọng số phán ánh khả năng xử lý của nó
o Ưu điểm: Phân chia tải đều cho các máy chủ trong hệ thông theo khả năng
xử lý của từng máy chủ
o Nhược điểm: Yêu cầu phải cầu hình trọng số cho từng máy chủ
IP Hash (Bam IP):
o Gan mỗi yêu cầu cho một máy chủ dựa trên địa chỉ IP của người dùng
© Ưu điêm: Đảm bảo mọi yêu câu của l người dùng đều được gửi tới cùng Ì máy chủ
o Nhược điểm: Có thể dẫn tới quá tải nêu có số lượng lớn người dùng truy cập
từ l dia chi IP
Least Connections (Kết nỗi tôi thiểu):
o Chon may chu co số lượng kết nối hiện tại ít nhất để xử lý yêu cầu mới
o Uu diém: Dam bảo mọi may chu déu duoc chia tai dong déu
o Nhuoc diém: Co thé sé chon phai may cht co cau hinh thap hon vi do cau hình thấp nên phán hồi sẽ chậm
Least Response Tìme (Thời gian phản hồi ngắn nhất):
o Chọn máy chủ có thời gian phản hồi nhanh nhất đê xử lý yêu cầu mới
© Ưu điểm: Cải thiện hiệu suât cho người dùng băng việc phản hôi lại yêu cầu một cách nhanh nhất
Trang 221
o Nhuoc điểm: Yêu cầu cao trong việc theo dõi lượng truy cập cũng như thời
gian phản hôi trên từng máy chủ
>> Trong đề tài này em thực hiện lựa chọn loại cân bằng tải là ALB chính vì thế nên
em lựa chọn thuật toán Least Connections (Kết nối tối thiểu), bởi vì quy mô cũng
như cầu hình của toàn bộ máy chủ của em đều cầu hình như nhau chính vì vậy em
có thê khắc phục được nhược điểm của thuật toán này chính là van dé phan chia tai
không đều theo tốc độ xử lý thông qua cấu hình của máy chủ, điều này khiến cho thuật toán này trở nên toàn điện hơn cũng như ít lỗ hông hơn so với các thuật toán
còn lại
3 Lợi ích của Cân băng tai:
Tang kha nang dap ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh
hoạt và mở rộng cho hệ thống
Tăng độ tin cậy và khả năng dự phòng cho hệ thống: Sử dụng cân bằng tải giúp
tăng tính HA (High Availability) cho hệ thống, đồng thời đảm bảo cho người
dùng không bị gián đoạn dịch vụ khi xảy ra lỗi sự có lỗi tại một điểm cung cấp
dịch vụ
Cải thiện bảo mật: Cân bằng tải thêm một lớp bảo mật bô sung mà không yêu cầu thay đổi hoặc tài nguyên bồ sung Khi nhiều điện toán chuyên sang đám mây, bộ cân bằng tải đang được trang bị các tính năng bảo mật, chăng hạn như chức năng
giảm tải Điều này bảo vệ một tô chức chống lại các cuộc tấn công từ chối dịch
vụ phân tán bằng cách chuyển lưu lượng tấn công từ máy chủ của công ty sang nhà cung cấp đám mây công cộng
Giảm thời gian chết: Các công ty có sự hiện điện toàn cầu và nhiều địa điểm ở
các múi giờ khác nhau có thê được hưởng lợi từ việc cân bằng tải, đặc biệt là khi
nói đến bảo trì máy chủ Ví dụ: một công ty có thé tắt máy chủ cần bảo trì và định tuyến lưu lượng truy cập đến các bộ cân bằng tải có sẵn khác mà không gây gián đoạn địch vụ hoặc thời gian chết [3]
Trang 232, Công nghệ sử dụng:
2.1 Các dịch vụ trên AWS:
a Giới thiệu về AWS:
o Amazon Web Services (AWS) la giai pháp đám mây toàn diện và được sử dụng rộng rãi nhất, cung cấp trên 200 dịch vụ đầy đủ tính năng từ các trung tâm đữ liệu trên toàn thế giới Hàng triệu khách hàng - bao gồm các công ty khởi nghiệp tăng trưởng nhanh nhất, các tập đoàn lớn nhất cũng như các cơ quan hàng đầu của chính phủ - đều tin tưởng vào AWS để giảm chi phí, trở nên linh hoạt hơn và đổi mới nhanh hơn
o AWS duoc thiét ké dé tro thành môi trường điện toán đám mây bảo mật và linh hoạt nhất hiện nay Cơ sở hạ tầng cốt lõi của AWS được xây dựng đề đáp ứng các yêu cầu bảo mật cho quân đội, ngân hàng toàn cầu và các tô
chức khác với mức độ nhạy cảm cao Điều này được hỗ trợ bởi một bộ công
cụ bảo mật đám mây sâu rộng với hơn 300 dịch vụ và tính năng bảo mật, tuân thủ và quản trị cũng như hỗ trợ 143 tiêu chuẩn bảo mật và các chứng
nhận
o_AWS có cơ sở hạ tầng đám mây toàn cầu mở rộng nhất Mô hình Khu vực AWS và Vùng sẵn sàng đã được Gartner công nhận là phương pháp khuyên dùng đề chạy các ứng dụng doanh nghiệp cần mức độ sẵn sàng cao [4]
b Giới thiệu về VPC:
© Virtual Private Cloud (VPC) la dich vu cho phép ban khoi chay cac tai
nguyên AWS trong mạng ảo cô lập theo logic ma ban xác định Bạn có toàn
Trang 24quyền kiểm soát môi trường mạng ảo của mình, bao gồm lựa chọn dải địa chỉ IP, tạo các mạng con, cấu hình các bảng định tuyến và công kết nối mạng Bạn có thê dùng cả IPv4 và IPv6 cho hầu hết các tài nguyên trong đám mây riêng áo, giúp bảo mật nghiêm ngặt và truy cập để dàng các tài nguyên cũng như ứng dụng
o Với VPC, người dùng có thê định nghĩa các subnet, route, va gateway dé quản lý cách mạng của họ hoạt động Điều này cho phép họ xác định các phần mạng riêng tư, cũng như các kết nối với mạng công cộng, cung cấp
một môi trường bảo mật và kiêm soát cao
o La mét trong cac dich vy nén tang cua AWS, Amazon VPC sẽ giúp ban dé dàng tùy chỉnh cầu hình mạng của VPC Bạn có thê tạo một mạng con công khai cho các máy chủ web có quyền truy cập internet Dịch vụ này cũng cho phép bạn đặt các hệ thông backend, như máy chủ ứng dụng hoặc cơ sở dữ liệu, trong mạng con riêng tư không có quyền truy cập internet Với Amazon VPC, bạn có thể sử dụng nhiều lớp bảo mật, bao gồm các nhóm bảo mật và danh sách kiểm soát truy cập mạng, để giúp kiêm soát quyền truy cập vào các phiên bản Amazon EC2 trong mỗi mạng con [5]
c Giới thiệu về EC2:
o Elastic Compute Cloud (Amazon EC2) là một cơ sở hạ tầng điện toán đám mây được cung cấp bởi Amazon Web Services (AWS) giúp cung cấp tài nguyên máy tính áo hoá theo yêu cầu
o_EC2 cung cấp các ứng dụng máy tính ảo hoá có thể mở rộng về khả năng xử
lý cùng các thành phần phần cứng ảo như bộ nhớ máy tính (ram), vi xử lý,
linh hoạt trong việc lựa chọn các phân vùng lưu trữ dữ liệu ở các nền tảng
khác nhau và sự an toàn trong quản lý dịch vụ bởi kiến trúc ảo hoá đám mây
mạnh mẽ của AWS
Trang 25© Với sự linh hoạt, tính khả dụng cao và các tính năng mạnh mẽ, EC2 là một trong những dịch vụ quan trọng nhất của AWS, hỗ trợ nhiều loại ứng dụng
và kịch bản triển khai trên môi trường đám mây [6]
d Giới thiệu về RDS:
o Amazon RDS (Relational Database Service) là một dich vụ quản lý cơ sở đữ liệu quan hệ trong môi trường đám mây của Amazon Web Services (AWS) RDS cung cấp một cách để dàng và hiệu quả đề triển khai, quản lý và mở rong cac co so dtr ligu quan hé nhu MySQL, PostgreSQL, Oracle, SQL Server và MariaDB trên môi trường đám mây của AWS
o Với RDS, người dùng không cần quan tâm đến việc quản lý cơ sở dữ liệu ở
mức độ cơ bản như cài đặt, cầu hình và sao lưu đữ liệu, mà có thể tập trung
vào việc phát triển ứng dụng và quản lý đữ liệu một cách hiệu quả hơn RDS cung cấp các tính năng như tự động sao lưu, khôi phục, điều chỉnh kích thước và hiệu suất, cũng như mã hóa đữ liệu và kiểm soát bảo mật để đảm bao an toàn cho dữ liệu của người dùng
o Bằng cách cung cấp một giải pháp quản lý cơ sở đữ liệu đáng tin cậy và dễ
sử dụng, RDS giúp giảm bớt gánh nặng của việc quản lý cơ sở dữ liệu cho các tô chức và cá nhân, từ các doanh nghiệp nhỏ đến các tập đoàn lớn, cung
cấp một cơ sở dữ liệu mạnh mẽ và linh hoạt đề hỗ trợ các ứng dụng và dịch
Vụ trực tuyến [7]
e Giới thiệu về CloudWatch:
o AWS CloudWatch là một dịch vụ giám sát và quản lý tài nguyên đám mây mạnh mẽ do Amazon Web Services (AWS) cung cấp CloudWatch giúp theo
Trang 26đối các tài nguyên AWS như EC2, RDS, S3, DynamolDB và Lambda trong thời gian thực, đồng thời cung cấp thông tin chỉ tiết về hiệu suất và tình trạng hoạt động của hệ thông Dịch vụ này cho phép thu thập và theo dõi các chỉ số (metrics) từ các tài nguyên và ứng dụng, cũng như tạo các chỉ số tùy
chỉnh
6 Bên cạnh đó, CloudWatch Logs giúp thu thập, giám sát và lưu trữ các log,
hỗ trợ tìm kiếm và phân tích log Với tính năng CloudWatch Alarms, bạn có thê đặt ngưỡng cho các chỉ số và nhận cảnh báo khi các ngưỡng này bị vượt
qua, thậm chí tự động thực hiện các hành động như mở rộng hoặc thu nhỏ
nhóm Auto Scaling hoặc gửi thông báo qua SNS
2.2 Giới thiệu về Ubuntu:
Ubuntu là một hệ điều hành Linux phổ biến được phát triển và duy trì bởi
Canonical Ltd Ubuntu được thiết kế để đơn giản, dé str dụng và có sản miễn
phí, là lựa chọn phô biến cho người dùng cá nhân, doanh nghiệp và các máy chủ
Hệ điều hành Ubuntu cung cap một môi trường làm việc ổn định và đa năng, với giao diện người ding dé hoa (GUI) hoặc đòng lệnh (command-line interface) dé phù hợp với nhu cầu của mọi người Nó đi kèm với một loạt các ứng dụng và công cụ mã nguồn mở phô biến, bao gồm các ứng dụng văn phòng, trình đuyệt web, trình phát nhạc, và các công cụ phát triển phần mềm Ubuntu cũng được sử dụng rộng rãi trong các môi trường máy chủ và đám mây, nhờ vào tính ôn định, bảo mật và hiệu suật của nó Nó là một lựa chon phô biên cho việc triên khai các ứng dụng web, máy chủ email, máy chủ cơ sở
dữ liệu và các dịch vụ khác trên môi trường Linux [8]
2.3 Giới thiệu về Wordpress:
WordPress là một hệ thông quản lý nội dung (CMS) phổ biến nhất trên thế giới, được sử dụng rộng rãi cho việc xây dựng và quản lý các trang web và
Trang 27blog WordPress có mã nguồn mở, tức là miễn phí và có thể tùy chỉnh linh hoạt, điều này giúp nó trở thành một trong những nên tảng phát triển trang web phô biến nhất trên Internet
Với WordPress, người dùng có thể dễ dàng tạo ra các trang web đẹp mắt và chức năng, mà không cần có kiến thức về lập trình Hệ thông cung cấp một loạt các chủ đề (themes) và plugin đề tùy chỉnh giao diện và chức năng của trang web theo ý muốn Điều này giúp cho việc xây dựng các trang web cá nhân, doanh nghiệp, blog, cửa hàng trực tuyến và nhiều loại trang web khác trở nên
dễ dàng hơn bao giờ hết
Tổng quan, WordPress là một nền tảng mạnh mẽ và linh hoạt cho việc xây
dựng và quản lý các trang web, với tính năng đễ sử dụng, tùy chỉnh cao, và một cộng đồng lớn đề hỗ trợ [9]
2.4 Giới thiệu về ứng dụng Mobaxterm:
MobaXterm là một ửng dụng phần mềm tổng hợp tích hợp nhiều công cụ cần thiết cho quản trị hệ thống và phát triển phần mềm trên nên tảng Windows Được phát triển bởi MobaXterm SAS, ứng dụng này cung cấp một loạt các
tính năng hữu ích như kết nối SSH, quản lý file, trình quản lý session, và nhiều
tính năng khác
MobaXterm cho phép kết nói đến các máy chủ từ xa thông qua giao thức SSH, Telnet, RDP, VNC va XDMCP Diéu nay giúp người dùng để đàng quản lý và
điều khiển các hệ thống từ xa từ một giao diện duy nhất MobaXterm di kèm
với một trình terminal đa năng, hỗ trợ nhiều phiên SSH cùng lúc và cung cấp các tính năng như tabbed mterface, tạo session và quản lý lịch sử lệnh Tóm lại, MobaXterm là một công cụ đa chức năng và tiện ích cho quản trị hệ thống và phát triển phần mềm trên nền tảng Windows, cung cấp một giao điện đơn giản và linh hoạt cho việc quản lý các kết nối từ xa và thực hiện các tác vụ
quan trị hệ thống hàng ngày [10]
14
Trang 282.5 Giới thiệu về Apache Benchmark (ab):
Apache Benchmark (ab) là một công cụ dòng lệnh được cung cấp bởi Apache HTTP Server dé thực hiện kiểm thử tải (load testing) trên các ứng dụng web và máy chủ HTTP Được phát triển và duy tri boi Apache Software Foundation,
ab được sử dụng phổ biến để đo lường hiệu suất và độ ổn định của các ứng dụng web dưới áp lực tải
ab cho phép người dùng kiểm tra hiệu suất của các trang web bằng cách gửi một lượng lớn yêu cầu HTTP đến máy chủ trong một khoảng thời gian nhất định Điều này giúp đo lường số lượng yêu cầu mà máy chủ có thê xử lý trong một khoảng thời gian và đánh giá thời gian phản hồi của máy chủ
Với tính đơn giản và hiệu quả của mình, Apache Benchmark là một công cụ quan trọng trong quá trình phát triển và triển khai các ứng dụng web, giúp đảm bảo rằng hệ thống của bạn có khả năng xử lý tải cao và đáp ứng tốt đưới áp lực lớn [H]
2.6 Giới thiệu về Draw.io:
Draw.io là một công cụ tạo và biên tập sơ đồ trực tuyên miễn phí, cho phép người dùng tạo ra các biêu đô và sơ đồ với đồ họa chất lượng cao một cách đễ dàng và linh hoạt Được phát triển bởi Diagrams.net, Draw.io cung cấp một loạt các tính năng và công cụ đề tạo ra các biểu đồ như sơ đồ luồng công việc,
sơ đồ UML, sơ đô mạng, sơ đồ tô chức, và nhiều loại biêu đồ khác
Draw.lo có một giao điện trực quan và thân thiện với người dùng, g1úp người dùng đễ dàng tạo ra các biểu đồ mà không cần có kiến thức chuyên sâu về đỗ họa Cung cấp một thư viện đa đạng các hình dạng và biêu tượng cho các loại biểu đồ khác nhau, Drawio giúp người dùng tạo ra các biểu đỗ phức tạp và chuyên sâu một cách đễ dàng
Trang 29đồ trực tuyên, phù hợp cho cả cá nhân và tô chức đề tạo ra các biêu đô chat lượng cao cho các dự án và công việc khác nhau
3 Phân tích các bước thực hiện xây dựng hệ thống:
Đề có thê xây dựng hệ thống cân bằng tải trên AWS thì trước tiên cần phải đăng
nhập vào AWS đề có thể sử dụng các dịch vụ cần thiết trên đó
Sau khi đã thực hiện đăng nhập thành công thì tiếp theo sẽ cần phải tạo một
Virtual Private Cloud (VPC) trên AWS và cầu hình các Subnets bên trong nó Cần quyết định về kích thước mạng và cầu hình kết nỗi Internet thông qua Internet
Gateway (IGW) Ở đây em thực hiện chọn đải địa chỉ cho VPC là 192.168.0.0/16
và em thực hiện tạo 4 subnet cho VPC bao gồm 2 subnet public, 2 subnet private
duoc chia déu cho 2 Availability zone la 1a va 1b
Tiếp theo em thực hiện khởi tạo Security Group (SG) cho web server (EC2
instances) va Database trên dịch vụ EC2 của AWS Ở đây em thực hiện tạo SG
của web server cho phép kết nồi thông qua công SSH, HTTP, HTTPs lần lượt là các port 22, 80, 443 Đối với SG của Database em sẽ cho phép những web server nào sử dụng SG mà em đã tạo ở trên cho web server thì sẽ được quyên truy cập
vào Database nhằm đảm bảo tính bảo mật
Sau đó em thực hiện khởi tạo web server (EC2 mstances) trên EC2 và khởi tạo
Database My SQL trên RDS của AWS
Sau khi đã khởi tạo xong em sẽ sử dụng phần mềm MobaxTerm đề kết nối tới
web server đã tạo nhằm cài đặt wordpress va kết nối web server tới Database
Tiếp theo em sẽ thực hiện cấu hình cho Target Group (TG) và Application Load Balancer dé theo dõi và phân phối tải giữa các máy chủ web
Sau đó em sẽ thực hiện tạo ra Amazon Machine Image (AMI) cua web server
hiện tại và sử dụng AMI do dé cau hinh cho Launch Template Ở đây AMI chính
là bản sao toàn bộ cầu hình của web server và Launch Template chinh là mau
Trang 30khởi chạy đùng trong ASG để khi tạo ra các máy chủ mới thi sé co cau hinh y nhu cau hình của máy chủ ban dau
Tiếp theo em sẽ khởi tạo và cấu hình cho ASG tự động tạo ra 2 máy chủ web server va su’ dung metric đề ASG có thể tự động sinh ra thêm | may chi web
server nều hệ thông bị quá tải
Cuối cùng em thực hiện kiểm thử hệ thông cân bằng tải theo một số kịch bản đã được em biên tập
Trang 32o Người dùng gửi yêu cầu truy cập tới web app, cụ thê là yêu cầu truy cập trang wordpress
Public internet sẽ nhận yêu cầu từ người dùng và gửi yêu cầu đó tới internet gateway, ở đây internet gateway là một thành phần quan trọng trong kiến trúc mạng của một Virtual Private Cloud (VPC) trên nền tảng AWS IGW cung cấp một công kết nồi trực tiếp giữa mạng VPC và Internet, cho phép các tài nguyên trong VPC truy cập và được truy cập từ Internet [12], thế nên IGW nhận yêu cầu từ ngoài internet và gửi yêu cầu đó tới cho Application Load Balancer (ALB)
ALB sau khi nhận được yêu cầu từ IGW sẽ thực hiện gửi yêu cầu đó tới các
web server đang hoạt động trong Auto Scaling Group
Các web server sẽ nhận yêu câu của ALB sau đó phân tích yêu câu và lây dữ liệu được lưu trữ ở RDS My SQL trên AWS
Tiếp theo các web server từ trong ASG sẽ thực hiện gửi lại phản hồi cho ALB, bây giờ ALB sẽ thông qua IGW phản hồi lại yêu cầu của người dùng đã gửi Yêu cầu được phản hồi về web app chính là trang wordpress đã được cầu hình trên web server
o Khi này người dùng đã có thể truy cập được vào trang web
*® Diều đặc biệt trong hệ thông cân bằng tải này đó chính là việc phân phối tải của ALB và khả năng mở rộng máy chủ của ASG, nếu yêu cầu được gửi tới với một số lượng lớn thì ALB sẽ có nhiệm vụ chia các yêu cầu đó tới hệ thống web server trong
ASG, còn ASG sẽ có nhiệm vụ kiểm tra số lượng yêu cầu được gửi tới các web server và thực hiện mở rộng thêm web server nếu như số lượng yêu cầu vượt hạn
mức cho phép, đồng thời sau khi đã phản hồi lại đủ số lượng yêu cầu thì ASG cũng
thực hiện thu hồi lại các web server không cần thiết
Trang 33CHUONG III: TRIEN KHAI, CAI DAT VA CAU HINH HE THONG
1 Tóm tắt các bước chính cần thực hiện:
Đăng nhập vào tài khoản AWS
Khởi tạo VPC và Subnet
Khoi tao Security group cho EC2 được phép truy cập từ IP đi qua cổng 22, 80 và
Tao 1 may ao Ubuntu Cài đặt các phần mềm hệ thống và triển khai code
wordpress trong đó Sau đó thực hiện kiểm thử xem wordpress đã hoạt động
chưa
Sau do tién hanh tao AMI, Launch Template, Target Group, ALB Cac may ao tiếp theo trong ASG sẽ sử đụng AMI này để khởi tạo dich vu va Security Group chỉ cho phép truy cập từ ALB
Cuối cùng thực hiện đưa ra các kịch bản thực hiện kiểm thử hệ thống cân bằng tải
của các web server
Trang 342 Thực hiện các bước triển khai, cài đặt và cầu hinh trén AWS:
2.1 Thực hiện đăng nhập vào AWS:
- _ Đâu tiên em thực hiện truy cập vào đường dân sau “aws.amazon.com/v1” sau khi đã truy cập thành công thì trên web sẽ có giao điện như sau:
Ngày 10 - 12 tháng 6 năm 2024 | Philadelphia, PA
Hình 2: Hình ánh giao điện đăng nhập vào bảng điều khiển của AWS
- _ Tiếp theo đó em thực hiện chọn “ Đăng nhập vào bảng điều khiến” để truy cập vào giao điện đăng nhập như dưới đây:
[- _ _] around generative AI,
Remember thes account resilience, & more
(_ Browse catalog
English + Terns of Uae Briones Poiics 8 1996-2024, Areazon " -
Hình 3: Hình ảnh giao điện đăng nhập
21
Trang 35Tiếp theo em thực hiện nhập các thông tin cân thiết và thực hiện đăng nhập vào bảng điều khiển của AWS
Tuy nhiên trong quá trình đăng nhập sẽ có l bước cần phải nhập mà xác nhận
vì trước đó em đã thực hiện cài đặt bảo mật cho tài khoản của em và các bước
xác nhận đăng nhập như sau: Em truy cập vào ứng dụng Authenticator bang điện thoại cá nhân và xem mã số được hiển thị trong ứng dụng, sau đó em sẽ
dùng mã số đó để xác thực đăng nhập cho tài khoản AWS của em Các bước cụ
thê sẽ như sau:
Trang 36- Sau khi đã thực hiện đăng nhập thành công thì đây sẽ là giao diện làm việc trên AWS:
Console Home
ba
Hình 5: Hình ảnh giao điện chính của bảng điều khién AWS
2.2 Thực hiện khởi tạo VPC, Subnet và Security group:
a Khởi tạo VPC và Subnet:
- _ Đâu tiên đề xây dựng được hệ thống cân bằng tải trên AWS thì ta cần phải
thực hiện khởi tạo được VPC và các Subnet
- Khoi tao VPC (Virtual Private Cloud) va Subnet truéc khi trién khai hé thống cân bằng tải trên AWS la quy trinh cần thiết để xác định môi trường mạng cho các tài nguyên của hệ thống và đảm bảo rằng chúng có thê hoạt động hiệu quả và an toàn trên nên tảng AWS Dưới đây là một số lý do vì sao điều này cần thiết:
o Bằng cách sử dụng VPC, em có thể cô lập tài nguyên của mình khỏi mạng Internet công cộng và mạng khác Em có thể thiết lập các luật tường lửa và quy tắc kiểm soát truy cập đề bảo vệ tài nguyên của em khỏi
các môi đe dọa bảo mật
23
Trang 37o Với VPC, em có thê tùy chỉnh cầu hình mạng của mình bao gồm địa chi
IP, bảng định tuyến và các tùy chọn khác để đáp ứng các yêu cầu cụ thê của ứng dụng của em
o Subnet cho phép em phân chia VPC thành các phần nhỏ hơn để quản lý tài nguyên mạng và tính khả dụng
o Bằng cách sử dụng VPC và subnet, em có thê đễ đàng mở rộng hệ thống của mình bằng cách thêm các tài nguyên mới vào mạng mà không ảnh hưởng đến các tài nguyên hiện có Ngoài ra VPC cho phép em kết nồi các
tài nguyên của em với các dịch vụ AWS khác như RDS (Relatonal Database Service) mét cách an toàn và hiệu quả
- Dé khởi tạo được VPC cũng như các Subnet trước tiên em thực hiện tìm kiếm địch vụ VPC trên thanh tìm kiếm của AWS:
¥ Virtual private cloud = nowledge Articles (244)
Your YPCs Marketplace (586)
Subnets
Tình 6: Hình ảnh tìm kiếm dịch vụ VPC
Sau khi đã tìm thay được dịch vụ VPC và thực hiện truy cập vào dịch vu thi
em sẽ thực hiện khởi tạo VPC mới trong giao diện của dịch vụ VPC như sau:
Trang 38Sau đó trong phần cầu hình cho VPC mới em sẽ cầu hình như sau:
o Em sẽ chọn VPC and more đề có thê cầu hình thêm cho phần Subnet
o Em đặt tên cho VPC của em là Wordpress-vpc
6 Em lựa chọn giải địa chỉ ip trong mạng [Pv4 là 192.168.0.0/16
o Em sẽ lựa chọn 2 AZ và 4 Subnet gồm 2 pulic và 2 private
Create VPC Nưmber of private subnets
Create VPC
VN“
° | +
Mere ea kee VPC settings Public subnet CIDR block in ap-southeast-1a
ded IPv6 CID
Trang 39- Sau khi da khoi tao thanh công thì đây chính là VPC và các Subnet mới:
vpc-09c79d1f50c / Wordpress-vpc
C
Hình 9: Hình ảnh kết quả sau khi khởi tạo VPC và Subnet
b Khoi tao Security Group:
- Tiép theo em sé thyc hién khoi tao Security group cho EC2 va Database vi Security Group là một tường lửa ảo, quản lý luồng đữ liệu ra vào cho các tài nguyên như máy ảo EC2 hoặc cơ sở dữ liệu RDS Bằng cách cấu hình Security Group, em có thê kiêm soát được nguồn gốc của dữ liệu được truy cập và quyết định ai hoặc cái gì được phép truy cập vào tài nguyên
- - Các bước thyc hién khoi tao Security group cho EC2 va Database nhu sau:
Ở trong giao diện của dịch vụ VPC em chon muc Security group va chon
tao Security group moi
26
Trang 40
Hinh 10: Hinh anh khoi tao Security group moi
Sau đó em thực hiện cầu hình cho Security group mới cho EC2 và thực hiện cầu hình như sau:
6_Em thực hiện nhập tên va chon VPC da tạo trước đó cho Security Group
o Tiếp theo em sẽ thêm cho Security Group 3 kiểu kết nối 6 céng inbound
rules lan lot 1a SSH, HTTP, HTTPS Tuy nhiên ở cổng SSH thì em chí
cho phép IP của chính máy chủ em đang sử dụng được phép kết nối tới các web server còn các IP khác sẽ không thể kết nối tới các web server
được
27