Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi pengukuran khusus untuk AMI produk dengan AWS Marketplace Metering Service
AWSMarketplace Metering Service adalah fitur penetapan harga dan pengukuran yang dapat Anda gunakan untuk langsung mengenakan biaya untuk perangkat lunak Anda berdasarkan kategori penggunaan. Ada lima kategori penggunaan: pengguna, data, bandwidth, host, atau unit. Anda dapat menggunakan Layanan Pengukuran dengan produk berbasis Amazon Machine Image (AMI), berbasis kontainer, dan perangkat lunak sebagai layanan (SaaS). Bagian berikut memberikan informasi selengkapnya tentang cara mengonfigurasi pengukuran kustom dengan AWS Marketplace Metering Service.
AWSMarketplace Metering Service memungkinkan beberapa skenario baru. Misalnya, jika monitor perangkat lunak Anda host, Anda dapat mengisi daya untuk setiap host dipantau. Anda dapat memiliki harga yang berbeda berdasarkan ukuran host, dan biaya untuk jumlah host bersamaan dipantau setiap jam. Demikian pula, jika perangkat lunak Anda memungkinkan banyak pengguna di seluruh organisasi untuk masuk, Anda dapat mengisi daya dengan jumlah pengguna. Setiap jam, pelanggan dikenakan biaya untuk jumlah total pengguna yang ditetapkan.
Untuk informasi selengkapnya, lihat APIReferensi AWS Marketplace Layanan Pengukuran.
Persyaratan
Semua perangkat lunak AMI berbasis yang menggunakan Layanan Pengukuran harus memenuhi persyaratan berikut:
-
Perangkat lunak Anda harus diluncurkan dari AWS Marketplace melalui Amazon Machine Image (AMI).
-
Jika Anda memiliki produk yang sudah ada AWS Marketplace, Anda harus mengirimkan produk baru AMI dan membuat produk baru untuk mengaktifkan fitur ini.
-
Semua perangkat lunak harus disediakan dengan peran AWS Identity and Access Management (IAM). Pelanggan akhir harus menambahkan IAM peran ke instans Amazon Elastic Compute Cloud (AmazonEC2) yang disediakan pengguna dengan perangkat lunak tersebut. Penggunaan IAM peran bersifat opsional saat Anda menggunakan perangkat lunak. AWS Marketplace Ini diperlukan saat Anda menggunakan perangkat lunak AWS Marketplace Metering Service.
-
Perangkat lunak Anda harus dapat menentukan konsumsi dalam beberapa cara.
Hubungi Layanan Pengukuran AWS Marketplace
Perangkat lunak Anda harus menghubungi Layanan Pengukuran per jam dan mencatat nilai konsumsi untuk jam tersebut.
Ketika perangkat lunak Anda dimulai, itu harus merekam minute-of-the-hour di mana ia dimulai. Ini disebut sebagai menit awal. Setiap jam pada menit awal, perangkat lunak Anda harus menentukan nilai konsumsi untuk jam itu dan menghubungi Layanan Pengukuran. Untuk informasi tentang cara mendapatkan nilai ini, lihat Memodifikasi perangkat lunak Anda untuk menggunakan Layanan Pengukuran.
Untuk bangun setiap jam di menit awal, perangkat lunak Anda harus menggunakan salah satu pendekatan berikut:
-
Sebuah thread dalam perangkat lunak Anda.
-
Proses daemon yang dimulai dengan instans atau perangkat lunak.
-
Pekerjaan cron yang dikonfigurasi selama aplikasi startup.
catatan
Perangkat lunak Anda harus memanggil AWS Marketplace Metering Service menggunakan IAM peran yang dikonfigurasi pada instans pelanggan dan menentukan dimensi dan jumlah konsumsi.
Perangkat lunak Anda dapat menggunakan AWS SDK untuk memanggil AWS Marketplace Metering Service, mirip dengan contoh implementasi berikut:
-
Gunakan profil contoh untuk membuat klien layanan. Ini membutuhkan peran yang dikonfigurasi untuk EC2 instance. Kredensi peran disegarkan secara otomatis. SDK
-
Setiap jam, baca konfigurasi perangkat lunak Anda dan negara untuk menentukan nilai konsumsi untuk jam tersebut. Ini mungkin termasuk mengumpulkan a value-per-dimension.
-
Panggil
meterUsage
metode pada SDK klien dengan parameter berikut (panggil tambahan untuk setiap dimensi yang memiliki penggunaan):-
timestamp
— Stempel waktu jam yang direkam (dalamUTC). -
productCode
— Kode produk yang ditetapkan untuk perangkat lunak. -
dimension
— Dimensi (atau dimensi) yang ditetapkan untuk perangkat lunak. -
quantity
— Nilai konsumsi untuk satu jam. -
allocations
— (Opsional) Anda dapat memberikan alokasi untuk penggunaan di seluruh properti yang Anda lacak. Alokasi ini harus menambahkan hingga total konsumsi dalam catatan. Bagi pembeli, ini ditampilkan sebagai tag alokasi biaya potensial di alat penagihan mereka (seperti AWS Billing and Cost Management konsol). Pembeli harus mengaktifkan tag di akun mereka untuk melacak biaya mereka menggunakan tag ini.
-
Selain itu, perangkat lunak Anda harus memanggil titik akhir Layanan Pengukuran AWS Marketplace In-region. Produk Anda harus memiliki pengaturan titik akhir Regional yang benar, sehingga us-east-1
mengirimkan catatan ke us-east-1
titik akhir, dan us-west-2
mengirimkan catatan ke titik akhir. us-west-2
Melakukan panggilan di wilayah memberi pembeli pengalaman yang lebih stabil dan mencegah situasi di mana ketersediaan Wilayah yang tidak terkait dapat memengaruhi perangkat lunak yang berjalan di Wilayah lain.
Ketika Anda mengirim catatan pengukuran ke layanan, Anda harus terhubung ke Layanan Pengukuran AWS Marketplace di Wilayah Anda. Gunakan metode getCurrentRegion()
helper untuk menentukan Region di mana EC2 instance berjalan, dan kemudian meneruskan informasi Region ini ke MeteringServiceClient
konstruktor. Jika Anda tidak menentukan Wilayah AWS dalam SDK konstruktor, us-east-1
Wilayah default digunakan. Jika aplikasi Anda mencoba untuk membuat Cross-region panggilan ke layanan, panggilan ditolak. Untuk informasi selengkapnya, lihat Menentukan Wilayah Saat Ini Aplikasi
Penanganan kegagalan
Produk Anda harus mengirimkan catatan pengukuran ke layanan, titik akhir internet publik, sehingga penggunaan dapat diambil dan ditagih. Karena mungkin bagi pelanggan untuk memodifikasi pengaturan jaringan dengan cara yang mencegah catatan pengukuran Anda dikirim, produk Anda harus memperhitungkannya dengan memilih mode kegagalan.
catatan
Beberapa kegagalan pengukuran mungkin merupakan masalah sementara dalam menghubungkan ke. AWS Marketplace Metering Service AWS Marketplace sangat merekomendasikan untuk menerapkan percobaan ulang hingga 30 menit, dengan mundur eksponensial, untuk menghindari pemadaman jangka pendek atau masalah jaringan.
Biasanya, perangkat lunak dapat gagal terbuka (memberikan pesan peringatan tetapi mempertahankan fungsionalitas penuh) atau gagal ditutup (menonaktifkan semua fungsi dalam aplikasi sampai sambungan telah dibuat kembali). Anda dapat memilih untuk gagal membuka, menutup, atau sesuatu yang spesifik untuk aplikasi Anda. Kami sangat menyarankan agar Anda menahan diri dari gagal ditutup setelah kurang dari dua jam pengukuran kegagalan.
Sebagai contoh gagal sebagian terbuka, Anda dapat terus mengizinkan akses ke perangkat lunak tetapi tidak memungkinkan pembeli untuk memodifikasi pengaturan perangkat lunak. Atau, pembeli masih dapat mengakses perangkat lunak tetapi tidak akan dapat membuat pengguna tambahan. Perangkat lunak Anda bertanggung jawab untuk menentukan dan menegakkan mode kegagalan ini. Mode kegagalan perangkat lunak Anda harus disertakan ketika Anda AMI dikirimkan, dan itu tidak dapat diubah nanti.
Batasan
Ingatlah keterbatasan ini saat merancang dan mengirimkan perangkat lunak berkemampuan Layanan Pengukuran-enabled Anda:
-
IAMperan dan persyaratan gateway internet untuk pelanggan Anda — Pelanggan Anda harus memiliki gateway internet dan harus meluncurkan perangkat lunak Anda dengan IAM peran dengan izin tertentu. Untuk informasi selengkapnya, lihat AWS Marketplace izin API pengukuran dan hak. Perangkat lunak Anda tidak dapat terhubung ke Layanan Pengukuran jika kedua kondisi ini tidak terpenuhi.
-
Ketidakmampuan untuk menambahkan kategori penggunaan baru atau mengubah ke produk Layanan Pengukuran yang ada — Ketika pelanggan berlangganan produk perangkat lunak Anda, mereka menyetujui syarat dan ketentuan. MengubahKategori penggunaandalam produk dengan Layanan Pengukuran memerlukan produk baru dan langganan baru.
-
Ketidakmampuan untuk mengubah dimensi ke produk Layanan Pengukuran yang ada — Ketika pelanggan berlangganan produk perangkat lunak Anda, mereka menyetujui syarat dan ketentuan. Mengubah dimensi dalam produk dengan Layanan Pengukuran memerlukan produk baru dan langganan baru. Andadapatmenambahkan dimensi baru untuk produk yang ada, hingga batas 24.
-
Kurangnya uji coba gratis dan langganan tahunan — Produk Metering Service tidak mendukung uji coba gratis dan langganan tahunan saat diluncurkan.
-
Pertimbangan penggunaan multi-instans atau berbasis cluster— Beberapa perangkat lunak digunakan sebagai bagian dari deployment multi-instance. Saat Anda merancang perangkat lunak Anda, pertimbangkan bagaimana dan di mana konsumsi diukur dan di mana catatan pengukuran dipancarkan.
Contoh kode
Contoh kode berikut disediakan untuk membantu Anda mengintegrasikan AMI produk Anda dengan yang AWS Marketplace APIs diperlukan untuk menerbitkan dan memelihara produk Anda.
MeterUsage
dengan penandaan alokasi penggunaan (Opsional)
Contoh kode berikut relevan untuk AMI produk dengan model harga konsumsi. Contoh Python mengirimkan catatan pengukuran dengan tag alokasi penggunaan yang sesuai untuk membebankan biaya AWS Marketplace kepada pelanggan Anda. pay-as-you-go
# NOTE: Your application will need to aggregate usage for the # customer for the hour and set the quantity as seen below. # AWS Marketplace can only accept records for up to an hour in the past. # # productCode is supplied after the AWS Marketplace Ops team has # published the product to limited # Import AWS Python SDK import boto3 import time usageRecord = [ { "AllocatedUsageQuantity": 2, "Tags": [ { "Key": "BusinessUnit", "Value": "IT" }, { "Key": "AccountId", "Value": "123456789" }, ] }, { "AllocatedUsageQuantity": 1, "Tags": [ { "Key": "BusinessUnit", "Value": "Finance" }, { "Key": "AccountId", "Value": "987654321" }, ] } ] marketplaceClient = boto3.client("meteringmarketplace") response = marketplaceClient.meter_usage( ProductCode="testProduct", Timestamp=int(time.time()), UsageDimension="Dimension1", UsageQuantity=3, DryRun=False, UsageAllocations=usageRecord )
Untuk informasi selengkapnyaMeterUsage
, lihat MeterUsagedi APIReferensi AWS Marketplace Layanan Pengukuran.
Contoh tanggapan
{ "MeteringRecordId": "string" }