Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
IT NachrichtenWie ein Drogenrausch: Control Resonant im Test(29.09.2026 um 10:20 Uhr)
•
IT NachrichtenDigitalkompetenz ist in vielen Berufen gefragt(29.09.2026 um 09:58 Uhr)
••••
IT NachrichtenDieses Elektroauto von VW kostet nur rund 11.000 Euro(29.09.2026 um 10:27 Uhr)
••
IT NachrichtenDie Amazon Prime Deal Days kommen im Oktober(29.09.2026 um 10:31 Uhr)
•••
IT NachrichtenWie ein Drogenrausch: Control Resonant im Test(29.09.2026 um 10:20 Uhr)
•
IT NachrichtenDigitalkompetenz ist in vielen Berufen gefragt(29.09.2026 um 09:58 Uhr)
••••
IT NachrichtenDieses Elektroauto von VW kostet nur rund 11.000 Euro(29.09.2026 um 10:27 Uhr)
••
IT NachrichtenDie Amazon Prime Deal Days kommen im Oktober(29.09.2026 um 10:31 Uhr)
•••
Intelligence View
⚡ tsecurity.de Intelligence

Hướng Dẫn Sử Dụng DigitalOcean API: Cloud Infrastructure Cho Lập Trình Viên

TL;DR Các API của DigitalOcean quản lý Droplet, Volume, Tường lửa, Bộ cân bằng tải, cụm Kubernetes và nhiều tài nguyên khác. Xác thực bằng mã thông báo truy cập cá nhân, gọi api.digitalocean.com/v2, và chú ý đến giới hạn tốc độ. Để kiểm t…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




TL;DR



Các API của DigitalOcean quản lý Droplet, Volume, Tường lửa, Bộ cân bằng tải, cụm Kubernetes và nhiều tài nguyên khác. Xác thực bằng mã thông báo truy cập cá nhân, gọi api.digitalocean.com/v2, và chú ý đến giới hạn tốc độ. Để kiểm thử và tự động hóa hạ tầng, hãy sử dụng Apidog để cấu hình xác thực, kiểm tra việc cung cấp tài nguyên và lưu trữ các quy trình mẫu.



Dùng thử Apidog ngay hôm nay






Giới thiệu



DigitalOcean đơn giản hóa điện toán đám mây. So với AWS và GCP với hàng trăm dịch vụ, DigitalOcean tập trung vào các thành phần thiết yếu: điện toán (Droplets), lưu trữ (Volumes), mạng (Floating IPs, Firewalls), Kubernetes được quản lý và nền tảng ứng dụng. API của DigitalOcean cũng rất trực quan.



Các trường hợp sử dụng phổ biến của DigitalOcean API:




  • Tự động tạo môi trường phát triển

  • Quản lý cụm Kubernetes

  • Infrastructure as Code với Terraform hoặc Pulumi

  • Tích hợp vào pipeline CI/CD

  • Triển khai đa vùng



💡 Nếu bạn cần tự động hóa hạ tầng, Apidog giúp kiểm thử các API, lưu cấu hình hạ tầng thành mẫu tái sử dụng, và cộng tác với nhóm trong các quy trình cung cấp.






Xác thực






Mã thông báo truy cập cá nhân




  1. Truy cập DigitalOcean Dashboard → API → Generate New Token

  2. Đặt tên và thời hạn cho token

  3. Sao chép và lưu trữ token an toàn



Cách sử dụng mã thông báo với API:




curl -X GET "https://api.digitalocean.com/v2/account" \
-H "Authorization: Bearer YOUR_TOKEN"









Định dạng phản hồi






{
"account": {
"droplet_limit": 25,
"email": "[email protected]",
"name": "Your Name",
"uuid": "abc123xyz",
"email_verified": true,
"status": "active"
}
}









Droplet (máy ảo)






Liệt kê tất cả các Droplet






curl -X GET "https://api.digitalocean.com/v2/droplets" \
-H "Authorization: Bearer YOUR_TOKEN"









Tạo một Droplet






curl -X POST "https://api.digitalocean.com/v2/droplets" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-droplet",
"region": "nyc1",
"size": "s-2vcpu-4gb",
"image": "ubuntu-20-04-x64",
"ssh_keys": ["ssh-rsa AAAA..."],
"backups": false,
"ipv6": true,
"tags": ["web", "production"]
}'







Các kích thước phổ biến:





  • s-1vcpu-1gb — 1 vCPU, 1GB RAM (5$/tháng)


  • s-2vcpu-2gb — 2 vCPU, 2GB RAM (10$/tháng)


  • s-2vcpu-4gb — 2 vCPU, 4GB RAM (20$/tháng)


  • s-4vcpu-8gb — 4 vCPU, 8GB RAM (40$/tháng)



Các khu vực:





  • nyc1, nyc3 — New York


  • sfo3 — San Francisco


  • ams3 — Amsterdam


  • sgp1 — Singapore






Lấy chi tiết Droplet






curl -X GET "https://api.digitalocean.com/v2/droplets/DROPLET_ID" \
-H "Authorization: Bearer YOUR_TOKEN"









Xóa một Droplet






curl -X DELETE "https://api.digitalocean.com/v2/droplets/DROPLET_ID" \
-H "Authorization: Bearer YOUR_TOKEN"









Các hành động trên Droplet



Khởi động lại:




curl -X POST "https://api.digitalocean.com/v2/droplets/DROPLET_ID/actions" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "reboot"
}'







Thay đổi kích thước:




curl -X POST "https://api.digitalocean.com/v2/droplets/DROPLET_ID/actions" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "resize",
"size": "s-4vcpu-8gb"
}'







Tạo ảnh chụp nhanh:




curl -X POST "https://api.digitalocean.com/v2/droplets/DROPLET_ID/actions" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "snapshot",
"name": "my-snapshot"
}'










Volume (lưu trữ khối)






Tạo một Volume






curl -X POST "https://api.digitalocean.com/v2/volumes" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"size_gigabytes": 100,
"name": "my-volume",
"region": "nyc1",
"description": "Data volume for web servers"
}'










Gắn Volume vào Droplet






curl -X POST "https://api.digitalocean.com/v2/volumes/VOLUME_ID/actions" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "attach",
"droplet_id": DROPLET_ID
}'










Liệt kê các Volume






curl -X GET "https://api.digitalocean.com/v2/volumes" \
-H "Authorization: Bearer YOUR_TOKEN"









Mạng






Liệt kê các IP Floating






curl -X GET "https://api.digitalocean.com/v2/floating_ips" \
-H "Authorization: Bearer YOUR_TOKEN"









Gán IP Floating






curl -X POST "https://api.digitalocean.com/v2/floating_ips" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"droplet_id": DROPLET_ID,
"region": "nyc1"
}'










Tạo tường lửa






curl -X POST "https://api.digitalocean.com/v2/firewalls" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "web-firewall",
"inbound_rules": [
{
"protocol": "tcp",
"ports": "80",
"sources": {
"addresses": ["0.0.0.0/0"]
}
},
{
"protocol": "tcp",
"ports": "443",
"sources": {
"addresses": ["0.0.0.0/0"]
}
},
{
"protocol": "tcp",
"ports": "22",
"sources": {
"addresses": ["your-ip/32"]
}
}
],
"outbound_rules": [
{
"protocol": "tcp",
"ports": "80",
"destinations": {
"addresses": ["0.0.0.0/0"]
}
}
],
"droplet_ids": [DROPLET_ID]
}'










Bộ cân bằng tải






Tạo bộ cân bằng tải






curl -X POST "https://api.digitalocean.com/v2/load_balancers" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-lb",
"region": "nyc1",
"algorithm": "round_robin",
"health_check": {
"protocol": "http",
"port": 80,
"path": "/",
"check_interval_seconds": 10,
"response_timeout_seconds": 5,
"healthy_threshold": 3,
"unhealthy_threshold": 3
},
"forwarding_rules": [
{
"entry_protocol": "http",
"entry_port": 80,
"target_protocol": "http",
"target_port": 80
},
{
"entry_protocol": "https",
"entry_port": 443,
"target_protocol": "https",
"target_port": 443,
"tls_passthrough": true
}
],
"droplet_ids": [DROPLET_ID_1, DROPLET_ID_2]
}'










Cụm Kubernetes






Tạo một cụm Kubernetes






curl -X POST "https://api.digitalocean.com/v2/kubernetes/clusters" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-cluster",
"region": "nyc1",
"version": "1.28",
"node_pools": [
{
"name": "worker-pool",
"size": "s-2vcpu-4gb",
"count": 3,
"auto_scale": true,
"min_nodes": 2,
"max_nodes": 6
}
]
}'










Liệt kê các nhóm node






curl -X GET "https://api.digitalocean.com/v2/kubernetes/clusters/CLUSTER_ID/node_pools" \
-H "Authorization: Bearer YOUR_TOKEN"









Mở rộng nhóm node






curl -X PUT "https://api.digitalocean.com/v2/kubernetes/clusters/CLUSTER_ID/node_pools/POOL_ID" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"count": 5
}'










Xóa cụm Kubernetes






curl -X DELETE "https://api.digitalocean.com/v2/kubernetes/clusters/CLUSTER_ID" \
-H "Authorization: Bearer YOUR_TOKEN"









Kiểm thử với Apidog



Việc cung cấp hạ tầng có thể tốn kém. Luôn kiểm tra kỹ trước khi tạo tài nguyên mới.



Apidog testing infrastructure






1. Thiết lập môi trường






DIGITALOCEAN_TOKEN: your_token
BASE_URL: https://api.digitalocean.com/v2
DEFAULT_REGION: nyc1
DEFAULT_SIZE: s-2vcpu-4gb









2. Xác thực phản hồi






pm.test('Droplet created successfully', () => {
const response = pm.response.json()
pm.expect(response.droplet).to.have.property('id')
pm.expect(response.droplet.status).to.eql('new')
})

pm.test('Token is valid', () => {
const response = pm.response.json()
pm.expect(response.account).to.exist
pm.expect(response.account.status).to.eql('active')
})









3. Kiểm tra đầu vào (Dry run)



DigitalOcean chưa hỗ trợ chạy thử thực sự, nhưng nên xác thực đầu vào trước khi gọi API:




const validRegions = ['nyc1', 'sfo3', 'ams3', 'sgp1']
const validSizes = ['s-1vcpu-1gb', 's-2vcpu-2gb', 's-2vcpu-4gb']

pm.test('Region is valid', () => {
const requestBody = JSON.parse(pm.request.body.raw)
pm.expect(validRegions).to.include(requestBody.region)
})

pm.test('Size is valid', () => {
const requestBody = JSON.parse(pm.request.body.raw)
pm.expect(validSizes).to.include(requestBody.size)
})






Kiểm thử API hạ tầng DigitalOcean miễn phí bằng Apidog.






Các lỗi phổ biến và cách khắc phục






401 Không được phép



Nguyên nhân: Token không hợp lệ hoặc đã hết hạn.



Khắc phục: Tạo lại token từ dashboard, kiểm tra định dạng header Authorization.






422 Không thể xử lý thực thể



Nguyên nhân: Tham số không hợp lệ (khu vực, kích thước, image, ...).



Khắc phục: Đối chiếu tài liệu API DigitalOcean, kiểm tra các trường hợp:




  • Khu vực không hỗ trợ kích thước

  • ID image không tồn tại

  • Đã đạt giới hạn Droplet






429 Quá nhiều yêu cầu



Nguyên nhân: Vượt quá rate limit (mặc định 2000 req/giờ).



Khắc phục: Dùng backoff tự động:




async function doRequest(url, options, retries = 3) {
for (let i = 0; i < retries; i++) {
const response = await fetch(url, options)
if (response.status === 429) {
await sleep(Math.pow(2, i) * 1000)
continue
}
return response
}
throw new Error('Rate limited')
}









Đã đạt đến giới hạn Droplet



Nguyên nhân: Có quá nhiều Droplet trên tài khoản.



Khắc phục: Xóa Droplet không dùng hoặc liên hệ bộ phận hỗ trợ để tăng limit.






Các lựa chọn thay thế và so sánh
























































Tính năng DigitalOcean AWS GCP
Kích thước Droplet Cố định Tùy chỉnh Tùy chỉnh
Kubernetes DOKS được quản lý EKS GKE
Lưu trữ đối tượng Spaces S3 Cloud Storage
Lưu trữ khối Volumes EBS Persistent Disk
Bộ cân bằng tải Tích hợp sẵn ELB Cloud Load Balancing
Gói miễn phí 200$ tín dụng Có giới hạn 300$ tín dụng
Đơn giản API ★★★★★ ★★☆☆☆ ★★★☆☆


DigitalOcean nổi bật về sự đơn giản. API dễ hiểu, các thao tác không phức tạp, không cần xử lý nhiều dịch vụ lồng nhau.






Các trường hợp sử dụng thực tế



Môi trường phát triển tự động:


Startup có thể tạo môi trường phát triển riêng biệt cho mỗi nhánh. Mỗi Pull Request sẽ gọi API tạo một Droplet với mã mới. Khi merge, Droplet được hủy. Developer kiểm thử trên môi trường giống production mà không cần cài thủ công.



Web server tự động mở rộng:


Ứng dụng web theo dõi tải. Nếu CPU > 70%, API tạo thêm Droplet và thêm vào Load Balancer. Khi tải giảm, Droplet được xóa. Đảm bảo hiệu suất mà vẫn tối ưu chi phí.



Cụm cơ sở dữ liệu:


Dùng Volume làm primary/replica ở các khu vực khác nhau, API tự động cấu hình replication, lên lịch backup và thiết lập failover.





Kết luận



Các bước chính bạn có thể triển khai:




  • Xác thực API DigitalOcean với personal access token

  • Tạo/quản lý Droplet tự động qua API

  • Làm việc với Volume để lưu trữ dữ liệu liên tục

  • Cấu hình tường lửa, load balancer cho bảo mật và mở rộng

  • Quản lý cụm Kubernetes dễ dàng

  • Kiểm thử hạ tầng trước khi cung cấp bằng Apidog














FAQ



Một Droplet có giá bao nhiêu?


Bắt đầu từ 5$/tháng cho 1 vCPU/1GB RAM. Xem trang giá để cập nhật mới nhất. Có tính theo giờ.



Có thể dùng SSH key khi tạo Droplet qua API không?


Có, đưa fingerprint của SSH key vào mảng ssh_keys khi tạo Droplet.



Phân biệt Volume và Spaces?


Volume là lưu trữ block (gắn vào Droplet). Spaces là lưu trữ object (giống S3). Volume cho database, Spaces cho file.



Lấy cấu hình Kubernetes như thế nào?




curl -X GET "https://api.digitalocean.com/v2/kubernetes/clusters/CLUSTER_ID/kubeconfig" \
-H "Authorization: Bearer YOUR_TOKEN"






Có thể thay đổi kích thước Droplet không?


Có, dùng API action resize. Downsize cần tắt máy, upscale thì không.



Backups vs Snapshots?


Backups là bản sao tự động hàng ngày/tuần do DigitalOcean quản lý. Snapshots là bản sao thủ công do bạn tạo.



Tạo Droplet mất bao lâu?


Khoảng 30-60 giây, tùy khu vực và kích thước.



Terraform có hỗ trợ DigitalOcean không?


Có, DigitalOcean có provider chính thức cho Terraform, rất phù hợp cho IaC (Infrastructure as Code).

2. Cyber Threat Intelligence & Forensik

CTI Threat Relationship Graph3 Knoten / 2 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Hướng Dẫn Sử Dụng DigitalOcean API: Cloud Infrastructure Cho Lập Trình Viên

Thematisch verwandte Begriffe: Hướng, Dụng, DigitalOcean, Cloud · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-102240 | A vulnerability was found in Netcore NAP930 0.1.241010.141410. This aff…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag