> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# KMS Keys costs

> Compare KMS Keys backend choices using explicit service-adapter planning assumptions.

Tensor9 Cloud Adapter planning comparisons for `aws::1.0.0::kms`, with backend choices shown together. Read [how Tensor9 estimates service-adapter costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) for price scope and capacity qualification, or return to [additional services](https://docs.tensor9.com/cloud-adapter-early-access/costs/additional-services.md).

## AWS KMS → Cloud KMS

Origin API: `aws::1.0.0::kms`. Target backend: `google::1.0.0::kms`.

### AWS KMS · Crypto requests

Feature: AWS KMS.

Estimated monthly service charges by Crypto requests. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![AWS KMS · Crypto requests: monthly service charges by Crypto requests. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/5b4a2aec690c48be4ad0decb2ea7ce2b852f38f02affde50600d48774ddc2344-light.svg)

![AWS KMS · Crypto requests: monthly service charges by Crypto requests. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/7a9b308c94a33f4e4d63b87e4f8bdd026434742769e8019cb349eda1bf8faa6f-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Crypto requests (operations/s) | KMS Keys | Target scenario | Cloud KMS | Difference |
| -: | -: | - | -: | -: |
| 0 | 100.00 | Cloud KMS (one staging copy) | 130.18 | 30.18 |
| 0 | 100.00 | Cloud KMS (two staging copies) | 248.36 | 148.36 |
| 1 | 107.88 | Cloud KMS (one staging copy) | 138.46 | 30.57 |
| 1 | 107.88 | Cloud KMS (two staging copies) | 256.63 | 148.75 |
| 10 | 178.84 | Cloud KMS (one staging copy) | 212.96 | 34.12 |
| 10 | 178.84 | Cloud KMS (two staging copies) | 331.14 | 152.30 |
| 100 | 888.40 | Cloud KMS (one staging copy) | 958.00 | 69.60 |
| 100 | 888.40 | Cloud KMS (two staging copies) | 1,076.18 | 187.78 |
| 1,000 | 7,984.00 | Cloud KMS (one staging copy) | 8,408.38 | 424.38 |
| 1,000 | 7,984.00 | Cloud KMS (two staging copies) | 8,526.56 | 542.56 |
| 10,000 | 78,940.00 | Cloud KMS (one staging copy) | 84,429.85 | 5,489.85 |
| 10,000 | 78,940.00 | Cloud KMS (two staging copies) | 86,065.70 | 7,125.70 |

Estimated allocation, not benchmark calibrated: sized from 2 vCPU, 8 GiB memory and 100 GiB SSD at 0 operations/s to 32 vCPU, 128 GiB memory and 100 GiB SSD at 10,000 operations/s.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud KMS (one staging copy) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Cloud KMS (one staging copy) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Cloud KMS (one staging copy) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Cloud KMS (one staging copy) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Cloud KMS (one staging copy) | Target key versions per logical key | 2 | versions/key |
| Cloud KMS (one staging copy) | Native crypto retry multiplier | 1.05 | multiplier |
| Cloud KMS (one staging copy) | Durable key metadata and aliases | 16,384 | bytes/key |
| Cloud KMS (one staging copy) | Target price guess · read | 0 | USD/read |
| Cloud KMS (one staging copy) | Target price guess · write | 0 | USD/write |
| Cloud KMS (one staging copy) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Cloud KMS (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Cloud KMS (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud KMS (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud KMS (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Cloud KMS (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud KMS (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Cloud KMS (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Cloud KMS (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud KMS (one staging copy) | Target list price · resource-month | 0.06 | USD/resource-month |
| Cloud KMS (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Cloud KMS (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Cloud KMS (one staging copy) | Target monthly base charge | 0 | USD/month |
| Cloud KMS (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Cloud KMS (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Cloud KMS (one staging copy) | Minimum primary RAM | 8 | GiB |
| Cloud KMS (one staging copy) | Minimum primary disk | 100 | GiB |
| Cloud KMS (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud KMS (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud KMS (one staging copy) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Cloud KMS (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Cloud KMS (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud KMS (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud KMS (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Cloud KMS (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud KMS (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud KMS (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud KMS (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud KMS (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud KMS (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud KMS (two staging copies) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Cloud KMS (two staging copies) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Cloud KMS (two staging copies) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Cloud KMS (two staging copies) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Cloud KMS (two staging copies) | Target key versions per logical key | 2 | versions/key |
| Cloud KMS (two staging copies) | Native crypto retry multiplier | 1.05 | multiplier |
| Cloud KMS (two staging copies) | Durable key metadata and aliases | 16,384 | bytes/key |
| Cloud KMS (two staging copies) | Target price guess · read | 0 | USD/read |
| Cloud KMS (two staging copies) | Target price guess · write | 0 | USD/write |
| Cloud KMS (two staging copies) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Cloud KMS (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Cloud KMS (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud KMS (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud KMS (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Cloud KMS (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud KMS (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Cloud KMS (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Cloud KMS (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud KMS (two staging copies) | Target list price · resource-month | 0.06 | USD/resource-month |
| Cloud KMS (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Cloud KMS (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Cloud KMS (two staging copies) | Target monthly base charge | 0 | USD/month |
| Cloud KMS (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Cloud KMS (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Cloud KMS (two staging copies) | Minimum primary RAM | 8 | GiB |
| Cloud KMS (two staging copies) | Minimum primary disk | 100 | GiB |
| Cloud KMS (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud KMS (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud KMS (two staging copies) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Cloud KMS (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Cloud KMS (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud KMS (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud KMS (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Cloud KMS (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud KMS (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud KMS (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud KMS (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud KMS (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud KMS (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Monthly operation quantity varies with this steady average rate; stored inventory and other meters retain their defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices. Retention, amplification, and capacity coefficients are authored planning guesses; they are editable, not measured capacity.
* ReEncrypt performs one decrypt and one encrypt. GenerateDataKey wraps a locally generated data key once. Public-key verification is local in this planning mix.
* Cloud-managed key versions and AWS logical key inventory use different billing units. Software-key custody and managed HSM custody are not equivalent.
* Resource inventory is retained SOFTWARE key versions; symmetric crypto work prices managedOperations and admin operations are free. HSM versions list USD 1/month and EXTERNAL 3/month.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers double from 2 vCPUs to the target's largest node at 4 GiB per vCPU; each target's documented largest node bounds CPU, RAM, RAM per vCPU and disk, and the durable staging database uses Cloud SQL Enterprise (96 vCPU, 6.5 GiB per vCPU, 624 GiB, 64 TiB). Targets billed per capacity unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Node bounds: Cloud SQL Enterprise allows 1-96 vCPUs at 0.9-6.5 GB per vCPU and up to 64 TB with a dedicated vCPU ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)).
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, awskms offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json)
* Cloud KMS pricing: [https://cloud.google.com/kms/pricing](https://cloud.google.com/kms/pricing)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Free allowances, committed discounts, credits, taxes and negotiated rates.
* Commercial Tensor9 fees and operations labor unless entered separately.
* HSM/private vault allocations, asymmetric algorithm pricing, external key managers, imported-key handling and geographic replication.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-41eda65ede57a26b9cc517002df79c1d2a25e63d` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, awskms offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json), [Cloud KMS pricing](https://cloud.google.com/kms/pricing).

### AWS KMS · Logical keys

Feature: AWS KMS.

Estimated monthly service charges by Logical keys. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![AWS KMS · Logical keys: monthly service charges by Logical keys. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/50e896537a025aee6ade15e50cc184c91e042cacc5c00011c17fe02c9b1cac7d-light.svg)

![AWS KMS · Logical keys: monthly service charges by Logical keys. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/5ed8c7b2bc8a0883ff962876273b75c6a7e388aa0a8446950f2e2b4e19b76d1e-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Logical keys (keys) | KMS Keys | Target scenario | Cloud KMS | Difference |
| -: | -: | - | -: | -: |
| 0 | 3.00 | Cloud KMS (one staging copy) | 121.33 | 118.33 |
| 0 | 3.00 | Cloud KMS (two staging copies) | 239.51 | 236.51 |
| 10 | 13.00 | Cloud KMS (one staging copy) | 122.53 | 109.53 |
| 10 | 13.00 | Cloud KMS (two staging copies) | 240.71 | 227.71 |
| 100 | 103.00 | Cloud KMS (one staging copy) | 133.33 | 30.33 |
| 100 | 103.00 | Cloud KMS (two staging copies) | 251.51 | 148.51 |
| 1,000 | 1,003.00 | Cloud KMS (one staging copy) | 241.33 | -761.67 |
| 1,000 | 1,003.00 | Cloud KMS (two staging copies) | 359.51 | -643.49 |
| 10,000 | 10,003.00 | Cloud KMS (one staging copy) | 1,321.33 | -8,681.67 |
| 10,000 | 10,003.00 | Cloud KMS (two staging copies) | 1,439.51 | -8,563.49 |
| 100,000 | 100,003.00 | Cloud KMS (one staging copy) | 12,121.33 | -87,881.67 |
| 100,000 | 100,003.00 | Cloud KMS (two staging copies) | 12,239.51 | -87,763.49 |

Estimated allocation, not benchmark calibrated: sized at 2 vCPU, 8 GiB memory and 100 GiB SSD at every sample.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud KMS (one staging copy) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Cloud KMS (one staging copy) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Cloud KMS (one staging copy) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Cloud KMS (one staging copy) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Cloud KMS (one staging copy) | Target key versions per logical key | 2 | versions/key |
| Cloud KMS (one staging copy) | Native crypto retry multiplier | 1.05 | multiplier |
| Cloud KMS (one staging copy) | Durable key metadata and aliases | 16,384 | bytes/key |
| Cloud KMS (one staging copy) | Target price guess · read | 0 | USD/read |
| Cloud KMS (one staging copy) | Target price guess · write | 0 | USD/write |
| Cloud KMS (one staging copy) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Cloud KMS (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Cloud KMS (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud KMS (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud KMS (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Cloud KMS (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud KMS (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Cloud KMS (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Cloud KMS (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud KMS (one staging copy) | Target list price · resource-month | 0.06 | USD/resource-month |
| Cloud KMS (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Cloud KMS (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Cloud KMS (one staging copy) | Target monthly base charge | 0 | USD/month |
| Cloud KMS (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Cloud KMS (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Cloud KMS (one staging copy) | Minimum primary RAM | 8 | GiB |
| Cloud KMS (one staging copy) | Minimum primary disk | 100 | GiB |
| Cloud KMS (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud KMS (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud KMS (one staging copy) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Cloud KMS (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Cloud KMS (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud KMS (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud KMS (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Cloud KMS (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud KMS (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud KMS (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud KMS (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud KMS (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud KMS (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud KMS (two staging copies) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Cloud KMS (two staging copies) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Cloud KMS (two staging copies) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Cloud KMS (two staging copies) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Cloud KMS (two staging copies) | Target key versions per logical key | 2 | versions/key |
| Cloud KMS (two staging copies) | Native crypto retry multiplier | 1.05 | multiplier |
| Cloud KMS (two staging copies) | Durable key metadata and aliases | 16,384 | bytes/key |
| Cloud KMS (two staging copies) | Target price guess · read | 0 | USD/read |
| Cloud KMS (two staging copies) | Target price guess · write | 0 | USD/write |
| Cloud KMS (two staging copies) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Cloud KMS (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Cloud KMS (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud KMS (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud KMS (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Cloud KMS (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud KMS (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Cloud KMS (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Cloud KMS (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud KMS (two staging copies) | Target list price · resource-month | 0.06 | USD/resource-month |
| Cloud KMS (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Cloud KMS (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Cloud KMS (two staging copies) | Target monthly base charge | 0 | USD/month |
| Cloud KMS (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Cloud KMS (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Cloud KMS (two staging copies) | Minimum primary RAM | 8 | GiB |
| Cloud KMS (two staging copies) | Minimum primary disk | 100 | GiB |
| Cloud KMS (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud KMS (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud KMS (two staging copies) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Cloud KMS (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Cloud KMS (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud KMS (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud KMS (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Cloud KMS (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud KMS (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud KMS (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud KMS (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud KMS (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud KMS (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Inventory varies independently of monthly reads and mutations. Retention remains an explicit planning assumption. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices. Retention, amplification, and capacity coefficients are authored planning guesses; they are editable, not measured capacity.
* ReEncrypt performs one decrypt and one encrypt. GenerateDataKey wraps a locally generated data key once. Public-key verification is local in this planning mix.
* Cloud-managed key versions and AWS logical key inventory use different billing units. Software-key custody and managed HSM custody are not equivalent.
* Resource inventory is retained SOFTWARE key versions; symmetric crypto work prices managedOperations and admin operations are free. HSM versions list USD 1/month and EXTERNAL 3/month.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers double from 2 vCPUs to the target's largest node at 4 GiB per vCPU; each target's documented largest node bounds CPU, RAM, RAM per vCPU and disk, and the durable staging database uses Cloud SQL Enterprise (96 vCPU, 6.5 GiB per vCPU, 624 GiB, 64 TiB). Targets billed per capacity unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Node bounds: Cloud SQL Enterprise allows 1-96 vCPUs at 0.9-6.5 GB per vCPU and up to 64 TB with a dedicated vCPU ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)).
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, awskms offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json)
* Cloud KMS pricing: [https://cloud.google.com/kms/pricing](https://cloud.google.com/kms/pricing)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Free allowances, committed discounts, credits, taxes and negotiated rates.
* Commercial Tensor9 fees and operations labor unless entered separately.
* HSM/private vault allocations, asymmetric algorithm pricing, external key managers, imported-key handling and geographic replication.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-41eda65ede57a26b9cc517002df79c1d2a25e63d` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, awskms offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json), [Cloud KMS pricing](https://cloud.google.com/kms/pricing).

## AWS KMS → Key Vault

Origin API: `aws::1.0.0::kms`. Target backend: `azure::1.0.0::keyvault`.

### AWS KMS · Crypto requests

Feature: AWS KMS.

Estimated monthly service charges by Crypto requests. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: eastus; currency: USD.

![AWS KMS · Crypto requests: monthly service charges by Crypto requests. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/c924d96898537012aff100e52c0a1498b6ce472a6b8213807bbc67920125a2ef-light.svg)

![AWS KMS · Crypto requests: monthly service charges by Crypto requests. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/87252a9fecb851fcdffdf8dc3d002b667d51eb0bee1c9cb33020eed3190cc172-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Crypto requests (operations/s) | KMS Keys | Target scenario | Key Vault | Difference |
| -: | -: | - | -: | -: |
| 0 | 100.00 | Key Vault (one staging copy) | 118.18 | 18.18 |
| 0 | 100.00 | Key Vault (two staging copies) | 236.36 | 136.36 |
| 1 | 107.88 | Key Vault (one staging copy) | 126.46 | 18.57 |
| 1 | 107.88 | Key Vault (two staging copies) | 244.63 | 136.75 |
| 10 | 178.84 | Key Vault (one staging copy) | 200.96 | 22.12 |
| 10 | 178.84 | Key Vault (two staging copies) | 319.14 | 140.30 |
| 100 | 888.40 | Key Vault (one staging copy) | 946.00 | 57.60 |
| 100 | 888.40 | Key Vault (two staging copies) | 1,064.18 | 175.78 |
| 1,000 | 7,984.00 | Key Vault (one staging copy) | 8,396.38 | 412.38 |
| 1,000 | 7,984.00 | Key Vault (two staging copies) | 8,514.56 | 530.56 |
| 10,000 | 78,940.00 | Key Vault (one staging copy) | 84,417.85 | 5,477.85 |
| 10,000 | 78,940.00 | Key Vault (two staging copies) | 86,053.70 | 7,113.70 |

Estimated allocation, not benchmark calibrated: sized from 2 vCPU, 8 GiB memory and 100 GiB SSD at 0 operations/s to 32 vCPU, 128 GiB memory and 100 GiB SSD at 10,000 operations/s.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Key Vault (one staging copy) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Key Vault (one staging copy) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Key Vault (one staging copy) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Key Vault (one staging copy) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Key Vault (one staging copy) | Target key versions per logical key | 2 | versions/key |
| Key Vault (one staging copy) | Native crypto retry multiplier | 1.05 | multiplier |
| Key Vault (one staging copy) | Durable key metadata and aliases | 16,384 | bytes/key |
| Key Vault (one staging copy) | Target price guess · read | 0 | USD/read |
| Key Vault (one staging copy) | Target price guess · write | 0 | USD/write |
| Key Vault (one staging copy) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Key Vault (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Key Vault (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Key Vault (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Key Vault (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Key Vault (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Key Vault (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Key Vault (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Key Vault (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Key Vault (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Key Vault (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Key Vault (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Key Vault (one staging copy) | Target monthly base charge | 0 | USD/month |
| Key Vault (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Key Vault (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Key Vault (one staging copy) | Minimum primary RAM | 8 | GiB |
| Key Vault (one staging copy) | Minimum primary disk | 100 | GiB |
| Key Vault (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Key Vault (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Key Vault (one staging copy) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Key Vault (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Key Vault (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Key Vault (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Key Vault (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Key Vault (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Key Vault (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Key Vault (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Key Vault (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Key Vault (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Key Vault (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Key Vault (two staging copies) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Key Vault (two staging copies) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Key Vault (two staging copies) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Key Vault (two staging copies) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Key Vault (two staging copies) | Target key versions per logical key | 2 | versions/key |
| Key Vault (two staging copies) | Native crypto retry multiplier | 1.05 | multiplier |
| Key Vault (two staging copies) | Durable key metadata and aliases | 16,384 | bytes/key |
| Key Vault (two staging copies) | Target price guess · read | 0 | USD/read |
| Key Vault (two staging copies) | Target price guess · write | 0 | USD/write |
| Key Vault (two staging copies) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Key Vault (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Key Vault (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Key Vault (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Key Vault (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Key Vault (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Key Vault (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Key Vault (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Key Vault (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Key Vault (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Key Vault (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Key Vault (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Key Vault (two staging copies) | Target monthly base charge | 0 | USD/month |
| Key Vault (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Key Vault (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Key Vault (two staging copies) | Minimum primary RAM | 8 | GiB |
| Key Vault (two staging copies) | Minimum primary disk | 100 | GiB |
| Key Vault (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Key Vault (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Key Vault (two staging copies) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Key Vault (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Key Vault (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Key Vault (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Key Vault (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Key Vault (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Key Vault (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Key Vault (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Key Vault (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Key Vault (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Key Vault (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Monthly operation quantity varies with this steady average rate; stored inventory and other meters retain their defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices. Retention, amplification, and capacity coefficients are authored planning guesses; they are editable, not measured capacity.
* ReEncrypt performs one decrypt and one encrypt. GenerateDataKey wraps a locally generated data key once. Public-key verification is local in this planning mix.
* Cloud-managed key versions and AWS logical key inventory use different billing units. Software-key custody and managed HSM custody are not equivalent.
* Key Vault crypto calls price managedOperations. Standard software-protected keys have no per-version storage meter; Premium HSM-protected keys list USD 1 per key-month and automated rotation 1 per rotation, neither selected.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers double from 2 vCPUs to the target's largest node at 4 GiB per vCPU; each target's documented largest node bounds CPU, RAM, RAM per vCPU and disk, and the durable staging database uses Cloud SQL Enterprise (96 vCPU, 6.5 GiB per vCPU, 624 GiB, 64 TiB). Targets billed per capacity unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Node bounds: Cloud SQL Enterprise allows 1-96 vCPUs at 0.9-6.5 GB per vCPU and up to 64 TB with a dedicated vCPU ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)).
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, awskms offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Free allowances, committed discounts, credits, taxes and negotiated rates.
* Commercial Tensor9 fees and operations labor unless entered separately.
* HSM/private vault allocations, asymmetric algorithm pricing, external key managers, imported-key handling and geographic replication.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-ef50affc42e0701bc747b2bf76645106c0ea8eb2` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, awskms offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

### AWS KMS · Logical keys

Feature: AWS KMS.

Estimated monthly service charges by Logical keys. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: eastus; currency: USD.

![AWS KMS · Logical keys: monthly service charges by Logical keys. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/dc0644116eb09030bcf48fc301e27aaf1704d2eb791d44fed11b40ba9e139e15-light.svg)

![AWS KMS · Logical keys: monthly service charges by Logical keys. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/60195a50aece9b4f20abff50555b28853adc635a889310cc180273fcfc4a6b39-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Logical keys (keys) | KMS Keys | Target scenario | Key Vault | Difference |
| -: | -: | - | -: | -: |
| 0 | 3.00 | Key Vault (one staging copy) | 121.33 | 118.33 |
| 0 | 3.00 | Key Vault (two staging copies) | 239.51 | 236.51 |
| 10 | 13.00 | Key Vault (one staging copy) | 121.33 | 108.33 |
| 10 | 13.00 | Key Vault (two staging copies) | 239.51 | 226.51 |
| 100 | 103.00 | Key Vault (one staging copy) | 121.33 | 18.33 |
| 100 | 103.00 | Key Vault (two staging copies) | 239.51 | 136.51 |
| 1,000 | 1,003.00 | Key Vault (one staging copy) | 121.33 | -881.67 |
| 1,000 | 1,003.00 | Key Vault (two staging copies) | 239.51 | -763.49 |
| 10,000 | 10,003.00 | Key Vault (one staging copy) | 121.33 | -9,881.67 |
| 10,000 | 10,003.00 | Key Vault (two staging copies) | 239.51 | -9,763.49 |
| 100,000 | 100,003.00 | Key Vault (one staging copy) | 121.33 | -99,881.67 |
| 100,000 | 100,003.00 | Key Vault (two staging copies) | 239.51 | -99,763.49 |

Estimated allocation, not benchmark calibrated: sized at 2 vCPU, 8 GiB memory and 100 GiB SSD at every sample.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Key Vault (one staging copy) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Key Vault (one staging copy) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Key Vault (one staging copy) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Key Vault (one staging copy) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Key Vault (one staging copy) | Target key versions per logical key | 2 | versions/key |
| Key Vault (one staging copy) | Native crypto retry multiplier | 1.05 | multiplier |
| Key Vault (one staging copy) | Durable key metadata and aliases | 16,384 | bytes/key |
| Key Vault (one staging copy) | Target price guess · read | 0 | USD/read |
| Key Vault (one staging copy) | Target price guess · write | 0 | USD/write |
| Key Vault (one staging copy) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Key Vault (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Key Vault (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Key Vault (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Key Vault (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Key Vault (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Key Vault (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Key Vault (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Key Vault (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Key Vault (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Key Vault (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Key Vault (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Key Vault (one staging copy) | Target monthly base charge | 0 | USD/month |
| Key Vault (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Key Vault (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Key Vault (one staging copy) | Minimum primary RAM | 8 | GiB |
| Key Vault (one staging copy) | Minimum primary disk | 100 | GiB |
| Key Vault (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Key Vault (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Key Vault (one staging copy) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Key Vault (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Key Vault (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Key Vault (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Key Vault (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Key Vault (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Key Vault (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Key Vault (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Key Vault (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Key Vault (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Key Vault (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Key Vault (two staging copies) | Origin list price · Logical managed keys | 1 | USD/key-month |
| Key Vault (two staging copies) | Origin list price · Symmetric crypto requests | 0.000003 | USD/requests |
| Key Vault (two staging copies) | Origin list price · ReEncrypt requests | 0.000003 | USD/requests |
| Key Vault (two staging copies) | Origin list price · Public-key verification requests | 0.000003 | USD/requests |
| Key Vault (two staging copies) | Target key versions per logical key | 2 | versions/key |
| Key Vault (two staging copies) | Native crypto retry multiplier | 1.05 | multiplier |
| Key Vault (two staging copies) | Durable key metadata and aliases | 16,384 | bytes/key |
| Key Vault (two staging copies) | Target price guess · read | 0 | USD/read |
| Key Vault (two staging copies) | Target price guess · write | 0 | USD/write |
| Key Vault (two staging copies) | Target list price · provider operation | 0.000003 | USD/provider operation |
| Key Vault (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Key Vault (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Key Vault (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Key Vault (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Key Vault (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Key Vault (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Key Vault (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Key Vault (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Key Vault (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Key Vault (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Key Vault (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Key Vault (two staging copies) | Target monthly base charge | 0 | USD/month |
| Key Vault (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Key Vault (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Key Vault (two staging copies) | Minimum primary RAM | 8 | GiB |
| Key Vault (two staging copies) | Minimum primary disk | 100 | GiB |
| Key Vault (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Key Vault (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Key Vault (two staging copies) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Key Vault (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Key Vault (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Key Vault (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Key Vault (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Key Vault (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Key Vault (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Key Vault (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Key Vault (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Key Vault (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Key Vault (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Inventory varies independently of monthly reads and mutations. Retention remains an explicit planning assumption. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices. Retention, amplification, and capacity coefficients are authored planning guesses; they are editable, not measured capacity.
* ReEncrypt performs one decrypt and one encrypt. GenerateDataKey wraps a locally generated data key once. Public-key verification is local in this planning mix.
* Cloud-managed key versions and AWS logical key inventory use different billing units. Software-key custody and managed HSM custody are not equivalent.
* Key Vault crypto calls price managedOperations. Standard software-protected keys have no per-version storage meter; Premium HSM-protected keys list USD 1 per key-month and automated rotation 1 per rotation, neither selected.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers double from 2 vCPUs to the target's largest node at 4 GiB per vCPU; each target's documented largest node bounds CPU, RAM, RAM per vCPU and disk, and the durable staging database uses Cloud SQL Enterprise (96 vCPU, 6.5 GiB per vCPU, 624 GiB, 64 TiB). Targets billed per capacity unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Node bounds: Cloud SQL Enterprise allows 1-96 vCPUs at 0.9-6.5 GB per vCPU and up to 64 TB with a dedicated vCPU ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)).
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, awskms offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Free allowances, committed discounts, credits, taxes and negotiated rates.
* Commercial Tensor9 fees and operations labor unless entered separately.
* HSM/private vault allocations, asymmetric algorithm pricing, external key managers, imported-key handling and geographic replication.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-ef50affc42e0701bc747b2bf76645106c0ea8eb2` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, awskms offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/awskms/current/us-east-1/index.json), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

See the [service catalog](https://docs.tensor9.com/cloud-adapter-early-access/service-catalog/aws/catalog.md) for operation coverage, supported directions and backend limitations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.