Skip to content

Qingzhou Cloud Configuration

This guide shows how to connect Qingzhou Cloud to OpenIDCS. Qingzhou is a public-cloud-API backed integration that lets users bring their existing cloud resources under unified OpenIDCS management.

✨ Pros & Cons

👍 Pros

  • Zero infrastructure — just register an account
  • Elastic billing — pay as you go, no fixed investment
  • High availability — backed by the cloud provider's SLA
  • Complete API — full REST API from the vendor
  • Easy multi-AZ — cross-AZ deployment out of the box

👎 Cons

  • Long-term cost — more expensive than self-hosted over time
  • Network dependency — stable internet between OpenIDCS and the cloud API is required
  • Limited low-level operations — no PCI passthrough, etc.
  • Data sovereignty — data lives in the provider's DC
  • You already have Qingzhou resources and want unified management
  • Hybrid cloud: local + cloud
  • Temporary capacity bursts

🖥️ Prerequisites

ItemRequirement
Qingzhou accountReal-name verified
AccessKeyCreated in the console
API EndpointVendor API gateway URL
NetworkOpenIDCS manager can reach the public internet

🚀 Integration Steps

Step 1: Create an AccessKey in the Qingzhou Console

  1. Sign in to the Qingzhou console
  2. Account Center → AccessKey Management
  3. Click Create AccessKey
  4. Save the AccessKey ID and AccessKey Secret (Secret is shown only once)

WARNING

An AccessKey has full account privileges. In production:

  • Use a sub-account with least privilege
  • Enable IP allow-listing
  • Rotate keys regularly
Console → Account → Users → Create User
  Username: openidcs-service
  Access: Programmatic

Policies:
  - ECS read-only + instance ops
  - VPC read-only
  - Monitoring read

Generate a dedicated AccessKey for the sub-account and give it to OpenIDCS.

Step 3: Find the API Endpoint

Examples:

RegionEndpoint
Northhttps://api.qingzhou.cn
Easthttps://api-hd.qingzhou.cn
Southhttps://api-hs.qingzhou.cn

Check your actual purchased region.

Step 4: Test API Connectivity

bash
curl -I https://api.qingzhou.cn

python -c "
import requests
r = requests.get('https://api.qingzhou.cn/v1/regions')
print(r.status_code, r.text[:200])
"

Step 5: (Optional) Configure Local Network

If you want OpenIDCS to do NAT port-forwarding / Web reverse proxy for your Qingzhou VMs:

  • Give the OpenIDCS manager a public IP, or
  • Connect the VPC via VPN / dedicated line.

Step 6: Prepare Images & Flavors

Qingzhou creates instances via image ID and flavor ID:

Console → Cloud Host → Image Management
  Record the image IDs you need (image-xxxx)

Console → Cloud Host → Flavor Management
  Record the flavor IDs you need (flavor-xxxx)

Fill these IDs in OpenIDCS VM templates.

🔗 Add Host in OpenIDCS

  1. Open the OpenIDCS Web UI

  2. Host Management → Add Host

  3. Fill in:

    FieldValue
    Nameqingzhou-01
    TypeQingzhou Cloud
    API Endpointhttps://api.qingzhou.cn
    Regioncn-north-1
    AccessKey IDAccessKey ID
    AccessKey SecretAccessKey Secret
    VPC IDtarget VPC (optional)
    Default Imageimage-xxxxx
    Default Flavorflavor-xxxxx
  4. Click Test Connection — OpenIDCS will call DescribeRegions to verify

  5. Save

🧩 Supported Operations

OpenIDCS supports the following via Qingzhou OpenAPI:

OperationNotes
List instancesAll instances in the VPC
Create instanceBased on a template
Start / Stop / RestartPower management
DestroyRelease the cloud VM
Change password VMPasswdCalls ResetPassword
Rebuild systemCalls RebuildInstance
Snapshot / BackupVia vendor snapshot API
Disk attachElastic cloud disk attach
MonitoringCPU / memory / disk / network
VNC ConsoleGetVncUrl returns a password-less URL

🐛 Troubleshooting

1. InvalidSignature

  • Make sure the manager clock is within 15 minutes of the API server
  • Make sure the AccessKey Secret has no trailing whitespace
bash
sudo ntpdate pool.ntp.org   # Linux
w32tm /resync               # Windows

2. Forbidden.NoPermission

Check the sub-account policy in the console:

  • Are the required ECS / VPC actions granted?
  • Is the resource ARN scope too narrow?

3. Throttling

  • Enable the API cache in OpenIDCS (qingzhou_cache_ttl)
  • Request a higher QPS quota from the vendor

4. Image / Flavor Not Found

  • The region must match the image's region
  • Make sure the image isn't deleted or pending review

🔒 Security

  • Sub-account + least privilege — never use the root AccessKey
  • IP allow-listing — restrict the AccessKey to the OpenIDCS manager IP
  • Rotate keys every 90 days
  • Audit logs — enable vendor ActionTrail
  • Encrypt at rest — OpenIDCS stores secrets in SQLite with field-level encryption

📚 References

Next

Released under the AGPLv3 License.