Hello
Xin chào, đã lâu ko quay trở lại, hôm nay tình cờ bạn DA đi vằng và tôi ko có việc gì làm nên tôi có take note ra cái blog này những kiến thức vô cùng hữu ích khi bạn dùng AWS. Và đặc biệt bạn có thể mang những kiến thức này đi chém gió. Chắc gì đã có người biết những thứ nhỏ nhặt hay ho này.
Kiến thức
Cloud Watch
Cloud watch ko chỉ dùng để check log nó còn có thể xây dựng một hệ thống để monitor các server, hệ thống của bạn và xây dựng dashboard từ các log đó, đùng coi thường services này vì dashboard tạo ra vô cùng hữu ích và có thể xây một pipe line cho hệ thống monitor này. Điều đặc biệt ở đây là cloud watch có thể duy trì dữ liệu trong 15 tháng
ECS
Task definition
Task definitions chỉ là để xác định các tham số truyền vào trước khi khởi chạy container (thường là một đoạn text format). Nó sẽ mô tả 1 hoặc nhiều container (tối đa 10)
Các thông số có thể được thiết lập trong task definition là:
- Docker image được sử dụng.
- Lượng CPU và memory được sử dụng trong task hay mỗi container trong task đó.
- Cách thức khởi chạy (Xác định hạ tầng sẽ chạy)
- Phương thức kết nối mạng cho các container.
- Cấu hình log cho task.
- Các hướng xử lý khi chạy task.
- Các lệnh sẽ thực thi khi khởi chạy task.
- Xác định các volume sẽ sử dụng.
- IAM role được sử dụng để thực thi task.
Bạn chỉ có thể bật public IP
khi tạo một service trong cluster, nếu bạn ko enble public ip từ trước thì sẽ ko thể update lại được do thế nếu bạn chạy 1 container mà container đấy lại ko đi ra ngoài internet được thì nó sẽ ko thể pull cái docker image từ docker hub về và vì thế khi chạy cái command line pull images về sẽ ko được nhé. 1 Case khác nếu VPC của bạn có NAT và đang bật nó trong VPC thì container vẫn có thể đi ra ngoài được, tuy nhiên NAT rất chi là đắt nha (nhưng mà được cái NAT thích bật thích tắt còn public ip thì chỉ bật thôi và ko thể nào tắt được mà tắt thì ko thể nào bật được, bên AWS troll thế)
EBS
Trong dự án thực tế nếu ta mount tăng thêm ổ cứng cho một volume thì 12h sau nó mới update nhé chứ không có được luôn đâu (trên console hiển thị đã tăng nhưng trên hệ điều hành thì chưa nha)
Task
Một task là việc khởi tạo một task definition bên trong cluster. Nhiều task khác nhau có thể được tạo bởi một task definition do đó các task này có thể giống nhau.
Nhìn này cho dễ hiểu
Step function
Ai mà làm DE tạo luồng ETL, clear data, lập lịch xử lý data thì chẳng còn xa lạ với cái service này nữa. Tuy nhiên chắc gì ae đã biết đến điều này:
Với AWS Step Functions, bạn chỉ trả tiền cho việc chuyển đổi từ một bước trong luồng công việc của ứng dụng sang bước tiếp theo, được gọi là lượt chuyển tiếp trạng thái. Tiền phí được đo bằng lượt chuyển tiếp trạng thái, bất kể mỗi trạng thái tồn tại bao lâu (tối đa một năm). Bậc miễn phí của AWS Step Functions bao gồm 4.000 lượt chuyển tiếp trạng thái mỗi tháng.
Khi chạy các lệnh lần lượt trong các Step, nên để thời gian 5s đối với các lệnh có liên quan đến nhau Ví dụ tạo bảng này xong mới có bảng kia. Do có độ trễ trong việc ghi dữ liệu nếu ko để wait thì dù cho các step có chạy thành công nhưng bảng chưa được tạo hoặc có lỗi bảng không tồn tại