Tipe ALIYUN::REDIS::Instance digunakan untuk membuat instans Redis.
Sintaks
{
"Type": "ALIYUN::REDIS::Instance",
"Properties": {
"VpcId": String,
"EvictionPolicy": String,
"BackupPolicy": Map,
"ZoneId": String,
"InstanceClass": String,
"InstanceMaintainTime": Map,
"Tags": List,
"VpcPasswordFree": Boolean,
"VSwitchId": String,
"SecurityGroupId": String,
"EngineVersion": String,
"SSLEnabled": String,
"Password": String,
"InstanceName": String,
"DeletionForce": Boolean,
"Connections": Map,
"ChargeType": String,
"Period": Integer,
"AutoRenewDuration": Integer,
"ProductType": String,
"SubscriptionDeletionForce": Boolean,
"SecondaryZoneId": String,
"ResourceGroupId": String,
"PeriodUnit": String,
"TairConfig": Map,
"ShardCount": Integer,
"NodeType": String,
"DeletionProtection": Boolean,
"ReadOnlyCount": Integer
}
}
Properti
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
AutoRenewDuration |
Integer |
Tidak |
Ya |
Durasi perpanjangan otomatis. |
Nilai valid: 1 hingga 12. Unit: bulan. Ketika instans akan kedaluwarsa, instans tersebut secara otomatis diperpanjang sesuai durasi yang ditentukan oleh parameter ini. Catatan
Parameter ini berlaku hanya jika ChargeType diatur ke PrePaid. |
|
BackupPolicy |
Map |
Tidak |
Ya |
Kebijakan cadangan. |
Untuk informasi lebih lanjut, lihat properti BackupPolicy. |
|
ChargeType |
String |
Tidak |
Ya |
Metode penagihan instans. |
Nilai valid:
|
|
Connections |
Map |
Tidak |
Ya |
Alamat koneksi. |
Untuk informasi lebih lanjut, lihat properti Connections. |
|
DeletionForce |
Boolean |
Tidak |
Ya |
Hapus instans saat pemulihan. |
Nilai valid:
|
|
DeletionProtection |
Boolean |
Tidak |
Ya |
Apakah perlindungan rilis diaktifkan. |
Nilai valid:
|
|
EngineVersion |
String |
Tidak |
Ya |
Versi mesin database. |
Nilai valid:
|
|
EvictionPolicy |
String |
Tidak |
Tidak |
Kebijakan penggantian data. |
Nilai valid:
|
|
InstanceClass |
String |
Tidak |
Ya |
Tipe instans. |
Untuk informasi lebih lanjut, lihat Navigasi Tipe Instans dan FAQ. |
|
InstanceMaintainTime |
Map |
Tidak |
Ya |
Jendela pemeliharaan untuk instans. |
Tidak ada |
|
InstanceName |
String |
Tidak |
Ya |
Nama instans. |
Nama instans harus terdiri dari 2 hingga 128 karakter. Nama harus dimulai dengan huruf atau karakter Tionghoa, dan dapat berisi huruf, angka, karakter Tionghoa, garis bawah (_), tanda hubung (-), dan titik (.). |
|
NodeType |
String |
Tidak |
Tidak |
Tipe node. |
Nilai valid:
Catatan
Untuk instans cloud-native, pilih MASTER_SLAVE atau STAND_ALONE. Untuk instans klasik, pilih double atau single. |
|
Password |
String |
Tidak |
Ya |
Password. |
Password harus terdiri dari 8 hingga 30 karakter dan berisi huruf kapital, huruf kecil, serta angka. |
|
Period |
Integer |
Tidak |
Ya |
Siklus penagihan. |
Nilai valid: 1 hingga 9, 12, 24, 36, 60. Unit: bulan. |
|
PeriodUnit |
String |
Tidak |
Ya |
Unit durasi. |
Nilai valid:
|
|
ProductType |
String |
Tidak |
Tidak |
Tipe produk. |
Nilai valid:
Catatan
Atur properti ProductType untuk mempercepat kueri parameter. |
|
ReadOnlyCount |
Integer |
Tidak |
Tidak |
Jumlah node read-only di zona primer. |
Catatan
Parameter ReadOnlyCount hanya berlaku untuk instans cloud-native dengan pemisahan baca/tulis diaktifkan. Jika instans menggunakan arsitektur kluster, parameter ini menunjukkan jumlah node read-only (di zona primer dan sekunder) untuk satu shard. |
|
ResourceGroupId |
String |
Tidak |
Ya |
ID kelompok sumber daya. |
Tidak ada |
|
SecondaryZoneId |
String |
Tidak |
Ya |
ID zona sekunder. |
Anda dapat memanggil operasi DescribeZones - Kueri Zona yang Didukung. Catatan
Parameter ini mendistribusikan node data primer dan sekunder di zona berbeda, sehingga memungkinkan pemulihan bencana lintas zona dan toleransi terhadap kegagalan tingkat pusat data. |
|
SecurityGroupId |
String |
Tidak |
Ya |
ID grup keamanan. |
Atur maksimal 10 ID. Pisahkan ID dengan koma (,). |
|
ShardCount |
Integer |
Tidak |
Tidak |
Jumlah shard. |
Parameter ini hanya berlaku untuk instans arsitektur kluster berbasis disk. Gunakan parameter ini untuk menyesuaikan jumlah shard. |
|
SSLEnabled |
String |
Tidak |
Ya |
Status SSL. |
Nilai valid:
|
|
SubscriptionDeletionForce |
Boolean |
Tidak |
Tidak |
Opsi ini hanya berlaku untuk instans subscription. Untuk instans subscription, jika opsi ini bernilai true, instans akan dikonversi menjadi instans pay-as-you-go sebelum dihapus. Jika false, sistem tidak akan memaksa penghapusan. Operasi ini menimbulkan biaya tambahan. Pilih dengan hati-hati. |
Tidak ada |
|
Tags |
List |
Tidak |
Ya |
Tag. |
Setiap instans mendukung maksimal 20 tag. Untuk informasi lebih lanjut, lihat properti Tags. |
|
TairConfig |
Map |
Tidak |
Tidak |
Konfigurasi Tair. |
Untuk informasi lebih lanjut, lihat properti TairConfig. |
|
VpcId |
String |
Tidak |
Tidak |
ID VPC. |
Tidak ada |
|
VpcPasswordFree |
Boolean |
Tidak |
Tidak |
Aktifkan atau nonaktifkan akses tanpa password ke instans dalam VPC. |
Nilai valid:
|
|
VSwitchId |
String |
Tidak |
Tidak |
ID vSwitch dalam VPC. |
Tidak ada |
|
ZoneId |
String |
Tidak |
Tidak |
ID zona. |
Parameter ini wajib diisi saat membuat instans dalam VPC. Saat membuat instans multi-zona, Anda dapat memanggil operasi API DescribeZones - Kueri zona yang didukung untuk mendapatkan ID multi-zona yang didukung. |
Sintaks BackupPolicy
"BackupPolicy": {
"PreferredBackupPeriod": "String",
"PreferredBackupTime": "String",
"EnableBackupLog": "Integer"
}
Properti BackupPolicy
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
PreferredBackupPeriod |
String |
Ya |
Ya |
Siklus pencadangan. |
Nilai valid:
|
|
PreferredBackupTime |
String |
Ya |
Ya |
Waktu pencadangan. |
Format: |
|
EnableBackupLog |
Integer |
Tidak |
Ya |
Aktifkan atau nonaktifkan pencadangan inkremental. |
Nilai valid:
|
Sintaks InstanceMaintainTime
"InstanceMaintainTime": {
"MaintainStartTime": "String",
"MaintainEndTime": "String"
}
Properti InstanceMaintainTime
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
MaintainEndTime |
String |
Tidak |
Tidak |
Waktu akhir jendela pemeliharaan. |
Format: Catatan
Selang waktu antara waktu mulai dan waktu akhir harus 1 jam. Misalnya, jika MaintainStartTime adalah |
|
MaintainStartTime |
String |
Tidak |
Tidak |
Waktu mulai jendela pemeliharaan. |
Format: |
Sintaks Tags
"Tags": [
{
"Key": String,
"Value": String
}
]
Properti Tags
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
Key |
String |
Ya |
Tidak |
Kunci tag. |
Kunci tag harus unik dalam akun dan wilayah yang sama. |
|
Value |
String |
Tidak |
Tidak |
Nilai tag. |
Tidak ada |
Sintaks Connections
"Connections": {
"VpcPrivateConnection": "Map",
"ClassicInnerConnection": "Map",
"DirectConnection": "Map",
"PublicConnection": "Map"
}
Properti Connections
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
ClassicInnerConnection |
Map |
Tidak |
Ya |
Alamat jaringan internal klasik. |
Untuk informasi lebih lanjut, lihat properti ClassicInnerConnection. |
|
DirectConnection |
Map |
Tidak |
Ya |
Alamat koneksi langsung. Ini adalah instans kluster. Minta titik akhir koneksi langsung sesuai kebutuhan. |
Untuk informasi lebih lanjut, lihat properti DirectConnection. |
|
PublicConnection |
Map |
Tidak |
Ya |
Alamat publik. |
Untuk informasi lebih lanjut, lihat properti PublicConnection. |
|
VpcPrivateConnection |
Map |
Tidak |
Ya |
Alamat jaringan pribadi VPC. |
Untuk informasi lebih lanjut, lihat properti VpcPrivateConnection. |
Sintaks VpcPrivateConnection
"VpcPrivateConnection": {
"ConnectionPort": Integer,
"ConnectionString": String
}
Properti VpcPrivateConnection
|
Nama Properti |
Type |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
ConnectionPort |
Integer |
Ya |
Ya |
Port layanan ApsaraDB instans. |
Nilai valid: 1024 hingga 65535. |
|
ConnectionString |
String |
Tidak |
Ya |
Awalan titik akhir publik. |
Awalan harus terdiri dari 8 hingga 64 karakter, dimulai dengan huruf kecil, dan hanya berisi huruf kecil serta angka. |
Sintaks PublicConnection
"PublicConnection": {
"ConnectionPort": Integer,
"ConnectionString": String
}
Properti PublicConnection
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
ConnectionPort |
Integer |
Ya |
Ya |
Port layanan ApsaraDB instans. |
Nilai valid: 1024 hingga 65535. |
|
ConnectionString |
String |
Tidak |
Ya |
Awalan titik akhir publik. |
Awalan harus terdiri dari 8 hingga 64 karakter, dimulai dengan huruf kecil, dan hanya berisi huruf kecil serta angka. |
Sintaks DirectConnection
"DirectConnection": {
"ConnectionPort": Integer,
"ConnectionString": String
}
Properti DirectConnection
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
ConnectionPort |
Integer |
Ya |
Ya |
Port layanan ApsaraDB instans. |
Nilai valid: 1024 hingga 65535. |
|
ConnectionString |
String |
Tidak |
Ya |
Awalan titik akhir publik. |
Awalan harus terdiri dari 8 hingga 64 karakter, dimulai dengan huruf kecil, dan hanya berisi huruf kecil serta angka. |
Sintaks ClassicInnerConnection
"ClassicInnerConnection": {
"ConnectionPort": Integer,
"ConnectionString": String
}
Properti ClassicInnerConnection
|
Nama Properti |
Type |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
ConnectionPort |
Integer |
Ya |
Ya |
Port layanan ApsaraDB instans. |
Nilai valid: 1024 hingga 65535. |
|
ConnectionString |
String |
Tidak |
Ya |
Awalan titik akhir publik. |
Awalan harus terdiri dari 8 hingga 64 karakter, dimulai dengan huruf kecil, dan hanya berisi huruf kecil serta angka. |
Sintaks TairConfig
"TairConfig": {
"Storage": "Integer",
"StorageType": "String",
"ShardCount": "Integer"
}
Properti TairConfig
|
Nama Properti |
Tipe |
Wajib |
Dapat Diperbarui |
Deskripsi |
Batasan |
|
ShardCount |
Integer |
Tidak |
Tidak |
Jumlah node data dalam instans. |
Nilai valid:
|
|
Storage |
Integer |
Tidak |
Tidak |
Kapasitas penyimpanan disk cloud. |
Kapasitas penyimpanan bervariasi berdasarkan spesifikasi instans. Untuk informasi lebih lanjut, lihat spesifikasi instans berbasis disk. |
|
StorageType |
String |
Tidak |
Tidak |
Kelas penyimpanan. |
Nilai valid:
|
Nilai Kembalian
Fn::GetAtt
-
InstanceId: ID instans.
-
OrderId: ID pesanan instans.
-
ConnectionDomain: Alamat koneksi pribadi instans.
-
Port: Port layanan Redis.
-
InstanceName: Nama instans.
-
InstanceClass: Tipe instans.
-
VpcId: ID VPC.
-
Capacity: Kapasitas penyimpanan instans.
-
InstanceType: Versi mesin database instans.
-
ChargeType: Metode penagihan instans.
-
PackageType: Tipe paket.
-
Connections: Jumlah koneksi maksimum yang didukung oleh instans.
-
ArchitectureType: Tipe arsitektur.
-
NodeType: Tipe node.
-
HasRenewChangeOrder: Menunjukkan apakah Akun Alibaba Cloud memiliki pesanan perpanjangan atau skala keluar yang tertunda.
-
ResourceGroupId: ID kelompok sumber daya.
-
QPS: Jumlah permintaan per detik (QPS). Ini adalah nilai teoretis untuk tipe instans saat ini.
-
ZoneId: ID zona tempat instans berada.
-
Bandwidth: Bandwidth instance. Satuan: Mbps.
-
EngineVersion: Versi mesin.
-
NetworkType: Jenis jaringan.
-
VSwitchId: ID vSwitch.
-
PrivateIp: Alamat IP pribadi instans.
-
PublicConnectionString: String koneksi publik instans.
-
VpcPrivateConnectionPort: Port koneksi pribadi VPC.
-
ClassicInnerConnectionString: String koneksi internal klasik instans.
-
VpcPrivateConnectionString: String koneksi pribadi VPC instans.
-
PublicConnectionPort: Port koneksi publik instans.
-
DirectConnectionString: String koneksi langsung instans.
-
DirectConnectionPort: Port koneksi langsung instans.
-
ClassicInnerConnectionPort: Port koneksi internal klasik instans.
Contoh
Skenario 1: Buat instans Redis.
ROSTemplateFormatVersion: '2015-09-01'
Description: {}
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VpcId
ZoneId:
Type: String
Description:
zh-cn: Before creating an instance, confirm the Availability Zone supports Redis resource specifications.
en: Sebelum membuat instans, pastikan Zona Ketersediaan mendukung spesifikasi sumber daya Redis.
AssociationProperty: ALIYUN::ECS::Instance:ZoneId
Label:
en: Zone ID
zh-cn: Zone ID
VSwitchId:
Type: String
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Resources:
RedisInstance:
Type: ALIYUN::REDIS::Instance
Properties:
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
InstanceClass: redis.master.small.default
EvictionPolicy: noeviction
ZoneId:
Ref: ZoneId
InstanceName: DefaultRedis
Password: Admin@123!
Outputs:
InstanceId:
Value:
Fn::GetAtt:
- RedisInstance
- InstanceId {
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
},
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VpcId"
},
"ZoneId": {
"Type": "String",
"Description": {
"zh-cn": "Sebelum membuat instans, pastikan Zona Ketersediaan mendukung spesifikasi sumber daya Redis.",
"en": "Before creating an instance, confirm the Availability Zone supports Redis resource specifications."
},
"AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
"Label": {
"en": "Zone ID",
"zh-cn": "Zone ID"
}
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
}
}
},
"Resources": {
"RedisInstance": {
"Type": "ALIYUN::REDIS::Instance",
"Properties": {
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"InstanceClass": "redis.master.small.default",
"EvictionPolicy": "noeviction",
"ZoneId": {
"Ref": "ZoneId"
},
"InstanceName": "DefaultRedis",
"Password": "Admin@123!"
}
}
},
"Outputs": {
"InstanceId": {
"Value": {
"Fn::GetAtt": [
"RedisInstance",
"InstanceId"
]
}
}
}
}Skenario 2: Buat instans Redis dan tambahkan daftar putih IP.
ROSTemplateFormatVersion: '2015-09-01'
Description: {}
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VpcId
ZoneId:
Type: String
Description:
zh-cn: Before creating an instance, confirm the Availability Zone supports Redis resource specifications.
en: Sebelum membuat instans, pastikan Zona Ketersediaan mendukung spesifikasi sumber daya Redis.
AssociationProperty: ALIYUN::ECS::Instance:ZoneId
Label:
en: ID Zona
zh-cn: Zone ID
VSwitchId:
Type: String
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Resources:
RedisInstance:
Type: ALIYUN::REDIS::Instance
Properties:
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
InstanceClass: redis.master.small.default
EvictionPolicy: noeviction
ZoneId:
Ref: ZoneId
InstanceName: DefaultRedis
Password: Admin@123!
REDISWhitelist:
Type: ALIYUN::REDIS::Whitelist
Properties:
InstanceId:
Ref: RedisInstance
SecurityIps: 192.168.0.0/16
Outputs:
InstanceId:
Value:
Fn::GetAtt:
- RedisInstance
- InstanceId {
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {},
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VpcId"
},
"ZoneId": {
"Type": "String",
"Description": {
"zh-cn": "Sebelum membuat instans, pastikan Zona Ketersediaan mendukung spesifikasi sumber daya Redis.",
"en": "Before creating an instance, confirm the Availability Zone supports Redis resource specifications."
},
"AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
"Label": {
"en": "Zone ID",
"zh-cn": "Zone ID"
}
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
}
}
},
"Resources": {
"RedisInstance": {
"Type": "ALIYUN::REDIS::Instance",
"Properties": {
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"InstanceClass": "redis.master.small.default",
"EvictionPolicy": "noeviction",
"ZoneId": {
"Ref": "ZoneId"
},
"InstanceName": "DefaultRedis",
"Password": "Admin@123!"
}
},
"REDISWhitelist": {
"Type": "ALIYUN::REDIS::Whitelist",
"Properties": {
"InstanceId": {
"Ref": "RedisInstance"
},
"SecurityIps": "192.168.0.0/16"
}
}
},
"Outputs": {
"InstanceId": {
"Value": {
"Fn::GetAtt": [
"RedisInstance",
"InstanceId"
]
}
}
}
}Skenario 3: Gunakan DTS untuk menyinkronkan cache antara MySQL dan Redis.
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: Templat ini menyinkronkan cache MySQL dan Redis menggunakan DTS. Templat ini membuat dan mengonfigurasi keamanan untuk instans VPC, ECS, RDS, dan Redis. Templat ini juga membuat kelompok konsumen untuk memastikan konsistensi data.
en: This template synchronizes MySQL and Redis caches using DTS. It creates and configures security for VPC, ECS, RDS, and Redis instances. It also establishes consumer groups to ensure data consistency.
Parameters:
ZoneId:
Type: String
Label:
en: VSwitch Availability Zone
zh-cn: Zona Ketersediaan VSwitch
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
RDSDBUser:
Type: String
Label:
en: RDS DB Username
zh-cn: Nama Pengguna DB RDS
Description:
en: Username of database.
zh-cn: Nama pengguna database.
ConstraintDescription:
en: Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.
zh-cn: Harus berisi 2 hingga 16 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik.
Default: demouser123
MinLength: 2
MaxLength: 16
DbName:
Type: String
Label:
en: RDS DB Name
zh-cn: Nama DB RDS
ConstraintDescription:
en: Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.
zh-cn: Harus berisi 2 hingga 16 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik.
Default: demodb
Required: true
MinLength: 2
MaxLength: 16
RDSDBPassword:
Type: String
Label:
en: RDS DB Password
zh-cn: Kata Sandi DB RDS
Description:
en: The RDS database password must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_). It must also include three different character types.
zh-cn: Kata sandi database RDS harus terdiri dari 8 hingga 32 karakter. Harus berisi huruf, angka, dan garis bawah (_). Juga harus mencakup tiga jenis karakter berbeda.
ConstraintDescription:
en: Must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_).
zh-cn: Harus terdiri dari 8 hingga 32 karakter. Harus berisi huruf, angka, dan garis bawah (_).
AssociationProperty: ALIYUN::RDS::Instance::AccountPassword
MinLength: 8
MaxLength: 32
NoEcho: true
DBInstanceClass:
Type: String
Label:
en: Instance Class
zh-cn: Kelas Instans
AssociationProperty: ALIYUN::RDS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ${ZoneId}
EngineVersion: "8.0"
Engine: MySQL
Category: HighAvailability
DBInstanceStorageType: cloud_essd
CommodityCode: bards
Default: mysql.x4.medium.2c
DtsJobName:
Type: String
Label:
en: Dts Job Name
zh-cn: Nama Pekerjaan Dts
Description:
en: Set a name that reflects its business purpose for easy identification. Uniqueness is not required.
zh-cn: Tetapkan nama yang mencerminkan tujuan bisnisnya agar mudah diidentifikasi. Keunikan tidak diperlukan.
Default: mysql2redis_dts
RedisInstanceClass:
Type: String
Label:
en: Tair Specifications
zh-cn: Spesifikasi Tair
Description:
en: <font color='blue'>Before selecting a model, confirm if the model is in stock in the current availability zone. To save testing costs, use a 2 GB memory model, such as tair.rdb.2g.</font> For more information, see <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Specification inquiry</font></a>.
zh-cn: <font color='blue'>Sebelum memilih model, pastikan model tersebut tersedia di zona ketersediaan saat ini. Untuk menghemat biaya pengujian, gunakan model memori 2 GB, seperti tair.rdb.2g.</font> Untuk informasi lebih lanjut, lihat <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Kueri spesifikasi</font></a>.
AssociationProperty: ALIYUN::REDIS::Instance::InstanceClass
AssociationPropertyMetadata:
Engine: Redis
ProductType: Tair_rdb
InstanceChargeType: PostPaid
ZoneId: ${ZoneId1}
OrderType: BUY
Default: tair.rdb.2g
RedisPassword:
Type: String
Label:
en: Instance Password
zh-cn: Kata Sandi Instans
Description:
en: Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =
zh-cn: Harus terdiri dari 8 hingga 32 karakter. Dapat berisi huruf kapital dan huruf kecil, angka, serta simbol khusus: ! @ # $ % ^ & * ( ) _ + - =
ConstraintDescription:
en: Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =
zh-cn: Harus terdiri dari 8 hingga 32 karakter. Dapat berisi huruf kapital dan huruf kecil, angka, serta simbol khusus: ! @ # $ % ^ & * ( ) _ + - =
MinLength: '8'
MaxLength: '32'
NoEcho: true
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
CidrBlock: 192.168.0.0/16
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
VSwitchName:
Fn::Join:
- '-'
- - VSwitch
- StackId
- Ref: ALIYUN::StackId
CidrBlock: 192.168.0.0/24
RdsDBInstance:
Type: ALIYUN::RDS::DBInstance
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
DBInstanceClass:
Ref: DBInstanceClass
DBInstanceStorage: 100
Engine: MySQL
EngineVersion: "8.0"
MasterUserPassword:
Ref: RDSDBPassword
MasterUserType: Super
MasterUsername:
Ref: RDSDBUser
DBMappings:
- CharacterSetName: utf8mb4
DBName:
Ref: DbName
Category: HighAvailability
DBInstanceStorageType: cloud_essd
SecurityIPList: 192.168.0.0/16
SlaveZoneIds:
- Ref: ZoneId
RedisInstance:
Type: ALIYUN::REDIS::Instance
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
InstanceClass:
Ref: RedisInstanceClass
InstanceName: rds_mysql2redis_redis
EvictionPolicy: noeviction
EngineVersion: '6.0'
Password:
Ref: RedisPassword
Whitelist:
Type: ALIYUN::REDIS::Whitelist
Properties:
InstanceId:
Ref: RedisInstance
SecurityIps: 192.168.0.0/16
MigrationJob:
Type: ALIYUN::DTS::SynchronizationJob2
Properties:
DtsJobName:
Ref: DtsJobName
SourceEndpoint:
InstanceType: RDS
InstanceID:
Ref: RdsDBInstance
EngineName: MYSQL
Region:
Ref: ALIYUN::Region
UserName:
Ref: RDSDBUser
Password:
Ref: RDSDBPassword
DestinationEndpoint:
InstanceType: Redis
InstanceID:
Ref: RedisInstance
EngineName: Redis
Region:
Ref: ALIYUN::Region
Password:
Ref: RedisPassword
StructureInitialization: false
DelayNotice: true
ErrorNotice: true
DelayRuleTime: 60
DataInitialization: true
DataSynchronization: true
DbList:
Fn::GetJsonValue:
- DbList
- Fn::Sub: '{ "DbList": { "${DbName}": { "name": "0", "all": true, "customAttachedColumn": { "__DTS_TP_TO_REDIS_KEY__": { "name": "__DTS_TP_TO_REDIS_KEY__", "syntacticType": "ADD", "value": "__DB__+''.''+__TB__+''.''+pk_str_with_name_value(''.'',''.'')", "type": "STRING", "length": "" }, "__DTS_TP_TO_REDIS_VALUE__": { "name": "__DTS_TP_TO_REDIS_VALUE__", "syntacticType": "ADD", "value": "tp2redis_json_value()", "type": "STRING", "length": "" } } }}}'
DtsInstance:
Type: ALIYUN::DTS::Instance
Properties:
JobId:
Fn::GetAtt:
- MigrationJob
- DtsJobId
InstanceClass: small
PayType: PostPaid
AutoStart: true
Type: SYNC
SourceRegion:
Ref: ALIYUN::Region
DestinationRegion:
Ref: ALIYUN::Region
SourceEndpointEngineName: MySQL
DestinationEndpointEngineName: Redis
Outputs:
RdsInstanceAddress:
Description:
en: RDS Instance Address.
zh-cn: Alamat Instans RDS.
Value:
'Fn::Sub':
- 'https://rds.console.alibabacloud.com/detail/${InstanceID}/basicInfo?region=${Region}'
- InstanceID:
Ref: RdsDBInstance
Region:
Ref: ALIYUN::Region
TairInstanceAddress:
Description:
en: Tair Instance Address.
zh-cn: Alamat Instans Tair.
Value:
'Fn::Sub':
- 'https://kvstore.console.alibabacloud.com/Redis/instance/${Region}/${InstanceID}'
- InstanceID:
Ref: RedisInstance
Region:
Ref: ALIYUN::Region
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- ZoneId
Label:
default:
en: Infrastructure Configuration (Required)
zh-cn: Konfigurasi Infrastruktur (Wajib)
- Parameters:
- DBInstanceClass
- DbName
- RDSDBUser
- RDSDBPassword
Label:
default: RDS
- Parameters:
- RedisInstanceClass
- RedisPassword
Label:
default: Tair
- Parameters:
- DtsJobName
Label:
default: DTS
TemplateTags:
- acs:technical-solution:database:real-time synchronization of RDS and Redis to build cache consistency-tech_solu_21
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "Templat ini menyinkronkan cache MySQL dan Redis menggunakan DTS. Templat ini membuat dan mengonfigurasi keamanan untuk instans VPC, ECS, RDS, dan Redis. Templat ini juga membuat kelompok konsumen untuk memastikan konsistensi data.",
"en": "This template synchronizes MySQL and Redis caches using DTS. It creates and configures security for VPC, ECS, RDS, and Redis instances. It also establishes consumer groups to ensure data consistency."
},
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": {
"en": "VSwitch Availability Zone",
"zh-cn": "Zona Ketersediaan VSwitch"
},
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
},
"RDSDBUser": {
"Type": "String",
"Label": {
"en": "RDS DB Username",
"zh-cn": "Nama Pengguna DB RDS"
},
"Description": {
"en": "Username of database.",
"zh-cn": "Nama pengguna database."
},
"ConstraintDescription": {
"en": "Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.",
"zh-cn": "Harus berisi 2 hingga 16 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik."
},
"Default": "demouser123",
"MinLength": 2,
"MaxLength": 16
},
"DbName": {
"Type": "String",
"Label": {
"en": "RDS DB Name",
"zh-cn": "Nama DB RDS"
},
"ConstraintDescription": {
"en": "Must contain 2 to 16 lowercase letters and underscores. It must start with a letter and end with an alphanumeric character.",
"zh-cn": "Harus berisi 2 hingga 16 huruf kecil dan garis bawah. Harus dimulai dengan huruf dan diakhiri dengan karakter alfanumerik."
},
"Default": "demodb",
"Required": true,
"MinLength": 2,
"MaxLength": 16
},
"RDSDBPassword": {
"Type": "String",
"Label": {
"en": "RDS DB Password",
"zh-cn": "Kata Sandi DB RDS"
},
"Description": {
"en": "The RDS database password must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_). It must also include three different character types.",
"zh-cn": "Kata sandi database RDS harus terdiri dari 8 hingga 32 karakter. Harus berisi huruf, angka, dan garis bawah (_). Juga harus mencakup tiga jenis karakter berbeda."
},
"ConstraintDescription": {
"en": "Must be 8 to 32 characters long. It must contain letters, numbers, and underscores (_).",
"zh-cn": "Harus terdiri dari 8 hingga 32 karakter. Harus berisi huruf, angka, dan garis bawah (_)."
},
"AssociationProperty": "ALIYUN::RDS::Instance::AccountPassword",
"MinLength": 8,
"MaxLength": 32,
"NoEcho": true
},
"DBInstanceClass": {
"Type": "String",
"Label": {
"en": "Instance Class",
"zh-cn": "Kelas Instans"
},
"AssociationProperty": "ALIYUN::RDS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "${ZoneId}",
"EngineVersion": "8.0",
"Engine": "MySQL",
"Category": "HighAvailability",
"DBInstanceStorageType": "cloud_essd",
"CommodityCode": "bards"
},
"Default": "mysql.x4.medium.2c"
},
"DtsJobName": {
"Type": "String",
"Label": {
"en": "Dts Job Name",
"zh-cn": "Nama Pekerjaan Dts"
},
"Description": {
"en": "Set a name that reflects its business purpose for easy identification. Uniqueness is not required.",
"zh-cn": "Tetapkan nama yang mencerminkan tujuan bisnisnya agar mudah diidentifikasi. Keunikan tidak diperlukan."
},
"Default": "mysql2redis_dts"
},
"RedisInstanceClass": {
"Type": "String",
"Label": {
"en": "Tair Specifications",
"zh-cn": "Spesifikasi Tair"
},
"Description": {
"en": "<font color='blue'>Before selecting a model, confirm if the model is in stock in the current availability zone. To save testing costs, use a 2 GB memory model, such as tair.rdb.2g.</font> For more information, see <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Specification inquiry</font></a>.",
"zh-cn": "<font color='blue'>Sebelum memilih model, pastikan model tersebut tersedia di zona ketersediaan saat ini. Untuk menghemat biaya pengujian, gunakan model memori 2 GB, seperti tair.rdb.2g.</font> Untuk informasi lebih lanjut, lihat <a href='https://www.alibabacloud.com/help/zh/redis/product-overview/enhanced-performance' target='_blank'><font color='red'>Kueri spesifikasi</font></a>."
},
"AssociationProperty": "ALIYUN::REDIS::Instance::InstanceClass",
"AssociationPropertyMetadata": {
"Engine": "Redis",
"ProductType": "Tair_rdb",
"InstanceChargeType": "PostPaid",
"ZoneId": "${ZoneId1}",
"OrderType": "BUY"
},
"Default": "tair.rdb.2g"
},
"RedisPassword": {
"Type": "String",
"Label": {
"en": "Instance Password",
"zh-cn": "Kata Sandi Instans"
},
"Description": {
"en": "Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =",
"zh-cn": "Harus terdiri dari 8 hingga 32 karakter. Dapat berisi huruf kapital dan huruf kecil, angka, serta simbol khusus: ! @ # $ % ^ & * ( ) _ + - ="
},
"ConstraintDescription": {
"en": "Must be 8 to 32 characters long. It can contain uppercase and lowercase letters, numbers, and special symbols: ! @ # $ % ^ & * ( ) _ + - =",
"zh-cn": "Harus terdiri dari 8 hingga 32 karakter. Dapat berisi huruf kapital dan huruf kecil, angka, serta simbol khusus: ! @ # $ % ^ & * ( ) _ + - ="
},
"MinLength": "8",
"MaxLength": "32",
"NoEcho": true
}
},
"Resources": {
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"CidrBlock": "192.168.0.0/16"
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"VSwitchName": {
"Fn::Join": [
"-",
[
"VSwitch",
"StackId",
{
"Ref": "ALIYUN::StackId"
}
]
]
},
"CidrBlock": "192.168.0.0/24"
}
},
"RdsDBInstance": {
"Type": "ALIYUN::RDS::DBInstance",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"DBInstanceClass": {
"Ref": "DBInstanceClass"
},
"DBInstanceStorage": 100,
"Engine": "MySQL",
"EngineVersion": "8.0",
"MasterUserPassword": {
"Ref": "RDSDBPassword"
},
"MasterUserType": "Super",
"MasterUsername": {
"Ref": "RDSDBUser"
},
"DBMappings": [
{
"CharacterSetName": "utf8mb4",
"DBName": {
"Ref": "DbName"
}
}
],
"Category": "HighAvailability",
"DBInstanceStorageType": "cloud_essd",
"SecurityIPList": "192.168.0.0/16",
"SlaveZoneIds": [
{
"Ref": "ZoneId"
}
]
}
},
"RedisInstance": {
"Type": "ALIYUN::REDIS::Instance",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"InstanceClass": {
"Ref": "RedisInstanceClass"
},
"InstanceName": "rds_mysql2redis_redis",
"EvictionPolicy": "noeviction",
"EngineVersion": "6.0",
"Password": {
"Ref": "RedisPassword"
}
}
},
"Whitelist": {
"Type": "ALIYUN::REDIS::Whitelist",
"Properties": {
"InstanceId": {
"Ref": "RedisInstance"
},
"SecurityIps": "192.168.0.0/16"
}
},
"MigrationJob": {
"Type": "ALIYUN::DTS::SynchronizationJob2",
"Properties": {
"DtsJobName": {
"Ref": "DtsJobName"
},
"SourceEndpoint": {
"InstanceType": "RDS",
"InstanceID": {
"Ref": "RdsDBInstance"
},
"EngineName": "MYSQL",
"Region": {
"Ref": "ALIYUN::Region"
},
"UserName": {
"Ref": "RDSDBUser"
},
"Password": {
"Ref": "RDSDBPassword"
}
},
"DestinationEndpoint": {
"InstanceType": "Redis",
"InstanceID": {
"Ref": "RedisInstance"
},
"EngineName": "Redis",
"Region": {
"Ref": "ALIYUN::Region"
},
"Password": {
"Ref": "RedisPassword"
}
},
"StructureInitialization": false,
"DelayNotice": true,
"ErrorNotice": true,
"DelayRuleTime": 60,
"DataInitialization": true,
"DataSynchronization": true,
"DbList": {
"Fn::GetJsonValue": [
"DbList",
{
"Fn::Sub": "{ \"DbList\": { \"${DbName}\": { \"name\": \"0\", \"all\": true, \"customAttachedColumn\": { \"__DTS_TP_TO_REDIS_KEY__\": { \"name\": \"__DTS_TP_TO_REDIS_KEY__\", \"syntacticType\": \"ADD\", \"value\": \"__DB__+'.'+__TB__+'.'+pk_str_with_name_value('.','.')\", \"type\": \"STRING\", \"length\": \"\" }, \"__DTS_TP_TO_REDIS_VALUE__\": { \"name\": \"__DTS_TP_TO_REDIS_VALUE__\", \"syntacticType\": \"ADD\", \"value\": \"tp2redis_json_value()\", \"type\": \"STRING\", \"length\": \"\" } } }}}"
}
]
}
}
},
"DtsInstance": {
"Type": "ALIYUN::DTS::Instance",
"Properties": {
"JobId": {
"Fn::GetAtt": [
"MigrationJob",
"DtsJobId"
]
},
"InstanceClass": "small",
"PayType": "PostPaid",
"AutoStart": true,
"Type": "SYNC",
"SourceRegion": {
"Ref": "ALIYUN::Region"
},
"DestinationRegion": {
"Ref": "ALIYUN::Region"
},
"SourceEndpointEngineName": "MySQL",
"DestinationEndpointEngineName": "Redis"
}
}
},
"Outputs": {
"RdsInstanceAddress": {
"Description": {
"en": "RDS Instance Address.",
"zh-cn": "Alamat Instans RDS."
},
"Value": {
"Fn::Sub": [
"https://rds.console.alibabacloud.com/detail/${InstanceID}/basicInfo?region=${Region}",
{
"InstanceID": {
"Ref": "RdsDBInstance"
},
"Region": {
"Ref": "ALIYUN::Region"
}
}
]
}
},
"TairInstanceAddress": {
"Description": {
"en": "Tair Instance Address.",
"zh-cn": "Alamat Instans Tair."
},
"Value": {
"Fn::Sub": [
"https://kvstore.console.alibabacloud.com/Redis/instance/${Region}/${InstanceID}",
{
"InstanceID": {
"Ref": "RedisInstance"
},
"Region": {
"Ref": "ALIYUN::Region"
}
}
]
}
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"ZoneId"
],
"Label": {
"default": {
"en": "Infrastructure Configuration (Required)",
"zh-cn": "Konfigurasi Infrastruktur (Wajib)"
}
}
},
{
"Parameters": [
"DBInstanceClass",
"DbName",
"RDSDBUser",
"RDSDBPassword"
],
"Label": {
"default": "RDS"
}
},
{
"Parameters": [
"RedisInstanceClass",
"RedisPassword"
],
"Label": {
"default": "Tair"
}
},
{
"Parameters": [
"DtsJobName"
],
"Label": {
"default": "DTS"
}
}
],
"TemplateTags": [
"acs:technical-solution:database:real-time synchronization of RDS and Redis to build cache consistency-tech_solu_21"
]
}
}
}Untuk contoh lainnya, lihat templat publik yang berisi resource ini.