Terraform 0.11

aws_elasticache_replication_group




terraform

aws_elasticache_replication_group

एक ElastiCache प्रतिकृति समूह संसाधन प्रदान करता है। मेमकेच्ड या सिंगल प्राइमरी रेडिस इंस्टेंस (क्लस्टर मोड डिसेबल्ड) के साथ काम करने के लिए, aws_elasticache_cluster रिसोर्स देखें

उदाहरण उपयोग

रेडिस क्लस्टर मोड अक्षम

एकल रीड प्रतिकृति के साथ एकल शार्द प्राथमिक बनाने के लिए:

resource "aws_elasticache_replication_group" "example" {
  automatic_failover_enabled    = true
  availability_zones            = ["us-west-2a", "us-west-2b"]
  replication_group_id          = "tf-rep-group-1"
  replication_group_description = "test description"
  node_type                     = "cache.m3.medium"
  number_cache_clusters         = 2
  parameter_group_name          = "default.redis3.2"
  port                          = 6379
}

प्रतिकृतियों की संख्या को समायोजित करने के लिए आपके पास दो विकल्प हैं:

  • सीधे number_cache_clusters समायोजित करना। यह स्वचालित रूप से प्रतिकृतियों को जोड़ने या निकालने का प्रयास करेगा, लेकिन जोड़े या हटाए गए प्रतिकृतियों के लिए कोई दानेदार नियंत्रण (जैसे पसंदीदा उपलब्धता क्षेत्र, कैश क्लस्टर आईडी) प्रदान नहीं करता है। यह भी वर्तमान में replication_group_id-00# के रूप में कैश क्लस्टर आईडी की अपेक्षा करता है।
  • अन्यथा अंतर्निहित कैश क्लस्टर्स के ठीक दाने वाले नियंत्रण के लिए, उन्हें aws_elasticache_cluster संसाधन और इसकी replication_group_id aws_elasticache_cluster विशेषता के साथ जोड़ा या हटाया जा सकता है। इस स्थिति में, आपको number_cache_cluster विशेषता के साथ Terraform योजना के दौरान सतत मतभेदों को रोकने के लिए ignore_changes साथ जीवनचक्र कॉन्फ़िगरेशन ब्लॉक का उपयोग करने की आवश्यकता होगी।
resource "aws_elasticache_replication_group" "example" {
  automatic_failover_enabled    = true
  availability_zones            = ["us-west-2a", "us-west-2b"]
  replication_group_id          = "tf-rep-group-1"
  replication_group_description = "test description"
  node_type                     = "cache.m3.medium"
  number_cache_clusters         = 2
  parameter_group_name          = "default.redis3.2"
  port                          = 6379

  lifecycle {
    ignore_changes = ["number_cache_clusters"]
  }
}

resource "aws_elasticache_cluster" "replica" {
  count = 1

  cluster_id           = "tf-rep-group-1-${count.index}"
  replication_group_id = "${aws_elasticache_replication_group.example.id}"
}

रेडिस क्लस्टर मोड सक्षम

प्राथमिक और एकल रीड रेप्लिका के साथ दो शार्द बनाने के लिए:

resource "aws_elasticache_replication_group" "baz" {
  replication_group_id          = "tf-redis-cluster"
  replication_group_description = "test description"
  node_type                     = "cache.m1.small"
  port                          = 6379
  parameter_group_name          = "default.redis3.2.cluster.on"
  automatic_failover_enabled    = true
  cluster_mode {
    replicas_per_node_group     = 1
    num_node_groups             = 2
  }
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • replication_group_id - (आवश्यक) प्रतिकृति समूह पहचानकर्ता। इस पैरामीटर को लोअरकेस स्ट्रिंग के रूप में संग्रहीत किया जाता है।
  • replication_group_description - (आवश्यक) प्रतिकृति समूह के लिए उपयोगकर्ता द्वारा बनाया गया विवरण।
  • number_cache_clusters - (क्लस्टर मोड अक्षम के लिए आवश्यक) कैश समूहों की संख्या (प्राथमिक और प्रतिकृतियां) इस प्रतिकृति समूह में होगी। यदि मल्टी-एज़ेड सक्षम है, तो इस पैरामीटर का मान कम से कम 2 होना चाहिए। अन्य संशोधनों से पहले अपडेट होगा।
  • node_type - (आवश्यक) नोड समूह में नोड्स की गणना और मेमोरी क्षमता।
  • automatic_failover_enabled - (वैकल्पिक) निर्दिष्ट करता है कि मौजूदा प्राथमिक विफल होने पर प्राथमिक पढ़ने या लिखने के लिए केवल-पढ़ने वाली प्रतिकृति को स्वचालित रूप से प्रचारित किया जाएगा या नहीं। यदि सही है, तो बहु-AZ इस प्रतिकृति समूह के लिए सक्षम है। यदि गलत है, तो बहु-AZ इस प्रतिकृति समूह के लिए अक्षम है। Redis (क्लस्टर मोड सक्षम) प्रतिकृति समूहों के लिए सक्षम होना चाहिए। false अवहेलना करता false
  • auto_minor_version_upgrade - (वैकल्पिक) निर्दिष्ट करता है कि रखरखाव विंडो के दौरान अंतर्निहित कैश क्लस्टर इंस्टेंस के लिए एक मामूली इंजन अपग्रेड स्वचालित रूप से लागू होगा या नहीं। true अवहेलना।
  • availability_zones zones - (वैकल्पिक) EC2 उपलब्धता क्षेत्रों की एक सूची जिसमें प्रतिकृति समूह के कैश क्लस्टर बनाए जाएंगे। सूची में उपलब्धता क्षेत्रों का क्रम महत्वपूर्ण नहीं है।
  • engine - (वैकल्पिक) इस प्रतिकृति समूह में क्लस्टर के लिए उपयोग किए जाने वाले कैश इंजन का नाम। जैसे redis
  • at_rest_encryption_enabled एन्क्रिप्शन_ at_rest_encryption_enabled - (वैकल्पिक) आराम पर एन्क्रिप्शन सक्षम करने के लिए।
  • transit_encryption_enabled एन्क्रिप्शन_ transit_encryption_enabled - (वैकल्पिक) क्या पारगमन में एन्क्रिप्शन को सक्षम करना है।
  • auth_token - (वैकल्पिक) पासवर्ड संरक्षित सर्वर तक पहुँचने के लिए प्रयुक्त पासवर्ड। केवल तभी निर्दिष्ट किया जा सकता है यदि transit_encryption_enabled = true
  • engine_version - (वैकल्पिक) कैश इंजन के संस्करण संख्या का उपयोग इस प्रतिकृति समूह में कैश क्लस्टर्स के लिए किया जाता है।
  • parameter_group_name - (वैकल्पिक) इस प्रतिकृति समूह के साथ जुड़ने के लिए पैरामीटर समूह का नाम। यदि यह तर्क छोड़ा जाता है, तो निर्दिष्ट इंजन के लिए डिफ़ॉल्ट कैश पैरामीटर समूह का उपयोग किया जाता है।
  • port - (वैकल्पिक) वह पोर्ट संख्या जिस पर प्रत्येक कैश नोड्स कनेक्शन स्वीकार करेगा। Memcache के लिए डिफ़ॉल्ट 11211 है, और Redis के लिए डिफ़ॉल्ट पोर्ट 6379 है।
  • subnet_group_name - (वैकल्पिक) प्रतिकृति समूह के लिए उपयोग किए जाने वाले कैश सबनेट समूह का नाम।
  • security_group_names - (वैकल्पिक) इस प्रतिकृति समूह के साथ संबद्ध करने के लिए कैश सुरक्षा समूह नामों की एक सूची।
  • security_group_ids - (वैकल्पिक) इस प्रतिकृति समूह से संबद्ध एक या अधिक Amazon VPC सुरक्षा समूह। इस पैरामीटर का उपयोग केवल तब करें जब आप अमेज़ॅन वर्चुअल प्राइवेट क्लाउड में प्रतिकृति समूह बना रहे हों
  • snapshot_arns - (वैकल्पिक) एक एकल-तत्व स्ट्रिंग सूची जिसमें Amazon S3 में संग्रहीत Redis RDB स्नैपशॉट फ़ाइल की Amazon संसाधन नाम (ARN) है। उदाहरण: arn:aws:s3:::my_bucket/snapshot1.rdb
  • snapshot_name - (वैकल्पिक) एक स्नैपशॉट का नाम जिसमें से नए नोड समूह में डेटा को पुनर्स्थापित करना है। snapshot_name बदलने से एक नया संसाधन बनता है।
  • maintenance_window - (वैकल्पिक) कैश क्लस्टर पर रखरखाव किए जाने पर साप्ताहिक समय सीमा निर्दिष्ट करता है। प्रारूप ddd:hh24:mi-ddd:hh24:mi (24H क्लॉक UTC)। न्यूनतम रखरखाव खिड़की 60 मिनट की अवधि है। उदाहरण: sun:05:00-sun:09:00
  • notification_topic_arn - (वैकल्पिक) एक एसएनएस विषय का अमेज़ॅन रिसोर्स नेम (एआरएन), जिसे एलास्टीसी नोटिफिकेशन भेजना है। उदाहरण: arn:aws:sns:us-east-1:012345678999:my_sns_topic
  • Snapshot_window - (वैकल्पिक, केवल Redis) दैनिक समय सीमा (UTC में) जिसके दौरान ElastiCache आपके कैश क्लस्टर का दैनिक स्नैपशॉट लेना शुरू कर देगा। न्यूनतम स्नैपशॉट विंडो 60 मिनट की अवधि है। उदाहरण: 05:00-09:00
  • Snapshot_retention_limit - (वैकल्पिक, केवल Redis) दिनों की संख्या जिसके लिए ElastiCache उन्हें हटाने से पहले स्वचालित कैश क्लस्टर स्नैपशॉट को बनाए रखेगा। उदाहरण के लिए, यदि आप SnapshotRetentionLimit को 5 पर सेट करते हैं, तो आज लिया गया एक स्नैपशॉट हटाए जाने से पहले 5 दिनों के लिए रखा जाएगा। यदि SnapshotRetentionLimit का मान शून्य (0) पर सेट है, तो बैकअप बंद कर दिए जाते हैं। कृपया ध्यान दें कि Snapshot_retention_limit सेट करना cache.t1.micro या cache.t2 पर समर्थित नहीं है। * कैश डायोड।
  • apply_immediately - (वैकल्पिक) निर्दिष्ट करता है कि क्या कोई संशोधन तुरंत लागू किया जाता है, या अगले रखरखाव विंडो के दौरान। डिफ़ॉल्ट false
  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग
  • cluster_mode - (वैकल्पिक) एक देशी रेडिस क्लस्टर बनाएं। automatic_failover_enabled को सही पर सेट होना चाहिए। क्लस्टर मोड नीचे प्रलेखित है। केवल 1 cluster_mode ब्लॉक की अनुमति है।

क्लस्टर मोड ( cluster_mode ) निम्नलिखित का समर्थन करता है:

  • replicas_per_node_group - (आवश्यक) प्रत्येक नोड समूह में प्रतिकृति नोड्स की संख्या निर्दिष्ट करें। मान्य मान 0 से 5 हैं। इस संख्या को बदलने से एक नया संसाधन तैयार होगा।
  • num_node_groups - (आवश्यक) इस Redis प्रतिकृति समूह के लिए नोड समूहों ( num_node_groups ) की संख्या निर्दिष्ट करें। इस नंबर को बदलने से अन्य सेटिंग्स संशोधनों से पहले एक ऑनलाइन रीसाइज़िंग ऑपरेशन शुरू हो जाएगा।

संदर्भ संदर्भित करता है

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id - ElastiCache प्रतिकृति समूह की आईडी।
  • configuration_endpoint_address - क्लस्टर मोड सक्षम होने पर प्रतिकृति समूह कॉन्फ़िगरेशन समापन बिंदु का पता।
  • primary_endpoint_address - (केवल Redis) प्रतिकृति समूह में प्राथमिक नोड के लिए समापन बिंदु का पता, यदि क्लस्टर मोड अक्षम है।
  • member_clusters - सभी नोड्स के पहचानकर्ता जो इस प्रतिकृति समूह का हिस्सा हैं।

समय समाप्ति

aws_elasticache_replication_group निम्नलिखित aws_elasticache_replication_group कॉन्फ़िगरेशन विकल्प प्रदान करता है:

  • create - (डिफ़ॉल्ट 60m ) एक प्रतिकृति समूह बनाने के लिए कितने समय तक इंतजार करना होगा।
  • delete - (डिफ़ॉल्ट 40m ) एक प्रतिकृति समूह को हटाने के लिए कितने समय तक इंतजार करना होगा।
  • update - (डिफ़ॉल्ट 40m ) कितनी देर तक प्रतिकृति समूह सेटिंग के अद्यतन होने की प्रतीक्षा करें। यदि आवश्यक हो, तो प्रतिकृतियों को जोड़ने और हटाने के लिए भी इसे अलग से उपयोग किया जाता है।

आयात

ElastiCache प्रतिकृति समूह को replication_group_id का उपयोग करके आयात किया जा सकता है, उदाहरण के लिए

$ terraform import aws_elasticache_replication_group.my_replication_group replication-group-1