Có gì thay đổi Google trân trọng giới thiệu tab tài liệu trong Google Docs,…
Cách triển khai API service trên Google Compute Engine
Trong bài viết này, Gimasys sẽ hướng dẫn các bạn cách triển khai Api service cơ bản trên Google Cloud thông qua Compute Engine. Cụ thể là
- Hosting API service chạy bằng Docker trên máy chủ Cloud Google
- Setup domain, SSL cho API service
Các khái niệm cần nắm rõ
API service
API (Application Programming Interface) service là các giao diện cung cấp một chương trình nhằm mô tả cách tương tác với hệ thống để truy xuất và/hoặc thay đổi dữ liệu trong đó.
Compute Engine
Google Compute Engine là dịch vụ hạ tầng (IaaS – Infrastructure As A Service) của GCP, cho phép bạn tạo các máy ảo linh hoạt và tiết kiệm chi phí để chạy các website, ứng dụng… cho tổ chức, doanh nghiệp.
Những điểm cần lưu ý
- API service luôn có sẵn trên github/gitlab
- Bạn cần có Full quyền trên GCP để bật các dịch vụ cần thiết
- Domain, DNS service (Gimasys sử dụng Cloudflare trong trường hợp này)
- Cần có kiến thức cơ bản về command line
Hướng dẫn chi tiết cách triển khai API service trên Google Compute Engine
Bước 1: Cài đặt Git
- Chạy lệnh
- sudo apt update
- sudo apt install git
- Kiểm tra Git đã được cài đặt thành công chưa
- git –version
Bước 2: Thêm SSH Key và Clone Project
- Chọn thư mục và bắt đầu nhân bản project từ Github/Gitlab đã có sẵn từ trước
- Phân quyền read/write/execute cho thư mục chứa mã nguồn bằng lệnh:
- sudo chmod -R 777 .
Bước 3: Cài đặt Docker Compose
Đầu tiên, chúng ta sẽ cần cài đặt Docker Compose theo các bước:
- Cài đặt Docker Compose
- sudo curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- Phân quyền cho Docker Compose
- sudo chmod +x /usr/local/bin/docker-compose
- Kiểm tra quyền của Docker Compose
- docker-compose version
Bước 4: Xây dựng và chạy Docker Compose
- Khởi tạo:
- docker-compose up –build
- Nếu có lỗi như đoạn code bên dưới:
- Bạn hãy xử lý bằng cách cấp quyền read & write cho user/non-root-process trên docker.sock theo đoạn code:
- sudo chmod 666 /var/run/docker.sock
Bước 5: Mở port ứng dụng trên VMware
Khi tạo instance người dùng nên chọn 1 trong 2 option dưới đây để cho traffic HTTP/HTTPS từ bên ngoài internet có thể truy cập qua firewall:
Vì ở bước 4, ta đã chọn port 9000 cho application port nên bây giờ cần bổ sung thêm các bước mở port ứng dụng như sau
- Mở VPC Network chọn Firewall
- Chọn CREATE FIREWALL RULE
- Điền mục rule name, ở mục target click chọn All instances in the network
- Source IPv4 ranges nhập: 0.0.0.0/0
- Chọn TCP trong tùy chọn Protocols and ports , sau đó nhập port của ứng dụng, ở đây Gimasys nhập range 7000-9000
- Bấm Create
- Vào VMware, mở port tương ứng với External IPs để kiểm tra
Bước 6: Tạo nhóm instance
- Đầu tiên, ta cần tạo instance group Trước khi tùy chỉnh load balancing cho instance. Chọn Compute Engine > Instance groups > CREATE INSTANCE GROUP:
- Điền các thông tin cần thiết để install instance group, trong mục Port mapping, ta cần điền đúng port mà ứng dụng đang chạy:
- Nhấn Create
Bước 7: Tùy chỉnh Load balancing cho vm
- Nhấn Network services > Load balancing
- Ở mục HTTP(S) Load Balancing nhấn chọn Start Configuration
- Chọn cấu hình như ảnh
- Nhập thông tin cho Load balancer config
- Nhập thông tin cho Backend Configuration
- Ở menu health check, chọn CREATE A HEALTH CHECK, để kiểm tra xem ứng dụng của bạn vẫn còn hoạt động hay không:
- Điền các thông tin về request path, port (lưu ý: port nhập theo ứng dụng đang chạy). HTTP response code của đường dẫn này là 200. Click save để lưu cấu hình
- Điền tên cho Load balancing Config, nhấn tạo. Khi kết thúc, ở màn hình menu load balancing config sẽ xuất hiện instance mới khởi tạo.
- Xem IP load balancing ở cột IP:Port
Bước 8: Tùy chỉnh domain và ssl
Khi có 1 domain trên Cloudflare và cần assign cho API service. Ta cần làm theo các bước:
- Trong Menu Cloudflare, tab SSL/TLS, nhấn create Client Certificates > Create Certificate
- Nhấn Create
- Lưu 2 mã Certificate và Private Key
- Mở tab overview, nhấn Full cho SSL/TLS encryption mode:
- Trở về menu load balancing config, nhấn edit config, thông tin sẽ được hiển thị, nhấn ADD FRONTEND IP AND PORT để thêm tùy chỉnh cho protocol https:
- Trong trường Certificate, chọn CREATE A NEW CERTIFICATE, nhập dữ liệu thông tin Certificate và Private Key theo những gì đã được tạo từ Cloudflare
- Nhấn Create
- Nhấn Done > Update để hoàn tất tùy chỉnh
- Vào detail của load balancing config, lấy địa chỉ IP của protocol HTTPS vừa tạo, lưu ý là chỉ copy IP
- Về lại Cloudflare, ở menu DNS/records, nhấn Add record và thêm theo các bước sau:
- Type: A
- Name: @, www hoặc subdomain của bạn. Nếu domain của bạn là 123.com thì có thể tạo subdomain như abc.123.com
- Bấm Save
Tổng kết
Ở bài viết này, Gimasys đã cùng các bạn cách triển khai Api service cơ bản trên GCP thông qua Google Compute Engine. Ta có thể kiểm tra lại bằng các truy cập domain/sub domain từ browser
Gimasys – Premier Partner của Google tại Việt Nam là đơn vị cung cấp, tư vấn các cấu trúc, thiết kế giải pháp Cloud tối ưu cho bạn. Để biết được hỗ trợ về mặt chuyên môn kỹ thuật, bạn có thể liên hệ Gimasys – Premier Partner của Google tại Việt Nam theo thông tin:
- Hotline: 0974 417 099 (HCM) | 0987 682 505 (HN)
- Email: gcp@gimasys.com
Nguồn: Gimasys