Terraform 0.11

aws_rds_cluster




terraform

aws_rds_cluster

एक आरडीएस क्लस्टर संसाधन प्रदान करता है। एक क्लस्टर संसाधन RDS क्लस्टर इंस्टेंस के पूरे क्लस्टर पर लागू विशेषताओं को परिभाषित करता है। RDS क्लस्टर संसाधन और RDS क्लस्टर इंस्टेंस का उपयोग करें, जो कि MySQL- संगत डेटाबेस इंजन, अमेज़न औरोरा का उपयोग कर सकता है।

अमेज़न अरोड़ा के बारे में अधिक जानकारी के लिए, अमेज़न आरडीएस उपयोगकर्ता गाइड में अमेज़न आरडीएस पर अरोरा देखें।

उपलब्ध ऑरोरा MySQL इंजन के बीच अंतर की जानकारी के लिए अमेज़न आरडीएस उपयोगकर्ता गाइड में ऑरोरा MySQL 1 और ऑरोरा MySQL 2 के बीच तुलना देखें।

RDS क्लस्टर में परिवर्तन तब हो सकता है जब आप मैन्युअल रूप से port जैसे किसी पैरामीटर को बदलते हैं, और अगली रखरखाव विंडो में परिलक्षित होते हैं। इस वजह से, Terraform अपने नियोजन चरण में अंतर की रिपोर्ट कर सकता है क्योंकि एक संशोधन अभी तक नहीं हुआ है। आप सेवा को तुरंत लागू करने का निर्देश देने के लिए apply_immediately ध्वज का उपयोग कर सकते हैं (नीचे प्रलेखन देखें)।

उदाहरण उपयोग

ऑरोरा MySQL 2.x (MySQL 5.7)

resource "aws_rds_cluster" "default" {
  cluster_identifier      = "aurora-cluster-demo"
  engine                  = "aurora-mysql"
  availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name           = "mydb"
  master_username         = "foo"
  master_password         = "bar"
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
}

ऑरोरा MySQL 1.x (MySQL 5.6)

resource "aws_rds_cluster" "default" {
  cluster_identifier      = "aurora-cluster-demo"
  availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name           = "mydb"
  master_username         = "foo"
  master_password         = "bar"
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
}

PostgreSQL इंजन के साथ अरोरा

resource "aws_rds_cluster" "postgresql" {
  cluster_identifier      = "aurora-cluster-demo"
  engine                  = "aurora-postgresql"
  availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name           = "mydb"
  master_username         = "foo"
  master_password         = "bar"
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
}

तर्क संदर्भ

प्रत्येक तर्क के बारे में अधिक विस्तृत प्रलेखन के लिए, AWS आधिकारिक दस्तावेज देखें

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

  • cluster_identifier - (वैकल्पिक, नए संसाधन बल) क्लस्टर पहचानकर्ता। यदि छोड़ दिया जाता है, तो Terraform एक यादृच्छिक, विशिष्ट पहचानकर्ता प्रदान करेगा।
  • cluster_identifier_prefix - (ऑप्शनल, फोर्सेस न्यू रिसोर्स) निर्दिष्ट उपसर्ग के साथ शुरुआत करने वाला एक यूनीक क्लस्टर आइडेंटिफायर बनाता है। cluster_identifer साथ cluster_identifer
  • database_name - (वैकल्पिक) क्लस्टर निर्माण पर एक स्वचालित रूप से बनाए गए डेटाबेस के लिए नाम। प्रति डेटाबेस इंजन में अलग-अलग नामकरण प्रतिबंध हैं: आरडीएस नामकरण की कमी
  • master_password - (आवश्यक है जब तक कि एक snapshot_identifier प्रदान नहीं किया जाता है) मास्टर DB उपयोगकर्ता के लिए पासवर्ड। ध्यान दें कि यह लॉग में दिखाई दे सकता है, और इसे राज्य फ़ाइल में संग्रहीत किया जाएगा। कृपया आरडीएस नामकरण की बाधाओं का संदर्भ लें
  • master_username - (आवश्यक है जब तक कि एक snapshot_identifier प्रदान नहीं किया जाता है) मास्टर DB उपयोगकर्ता के लिए उपयोगकर्ता नाम। कृपया आरडीएस नामकरण की बाधाओं का संदर्भ लें
  • final_snapshot_identifier - (वैकल्पिक) यह DB क्लस्टर हटाए जाने पर आपके अंतिम DB स्नैपशॉट का नाम। यदि छोड़ दिया जाता है, तो कोई अंतिम स्नैपशॉट नहीं बनाया जाएगा।
  • skip_final_snapshot - (वैकल्पिक) यह निर्धारित करता है कि DB क्लस्टर हटाए जाने से पहले एक अंतिम DB स्नैपशॉट बनाया गया है या नहीं। यदि सही निर्दिष्ट है, तो कोई DB स्नैपशॉट नहीं बनाया गया है। यदि गलत निर्दिष्ट किया गया है, तो final_snapshot_identifier से मान का उपयोग करते हुए DB क्लस्टर को हटाए जाने से पहले एक DB स्नैपशॉट बनाया जाता है। डिफ़ॉल्ट false
  • availability_zones - (वैकल्पिक) EC2 उपलब्धता ज़ोन की एक सूची जो DB क्लस्टर में इंस्टेंसेस बनाई जा सकती है
  • backtrack_window - (वैकल्पिक) लक्ष्य backtrack विंडो, सेकंड में। वर्तमान में केवल aurora इंजन के लिए उपलब्ध है। Backtracking को अक्षम करने के लिए, इस मान को 0 सेट करें। चूक 00 और 259200 (72 घंटे) के बीच होना चाहिए
  • backup_retention_period - (वैकल्पिक) के लिए बैकअप बनाए रखने के लिए दिन। डिफ़ॉल्ट 1
  • preferred_backup_window - (वैकल्पिक) दैनिक समय सीमा जिसके दौरान स्वचालित बैकअप बनाए जाते हैं यदि स्वचालित बैकअप को यूटीसी डिफ़ॉल्ट में BackupRetentionPeriod पैरामीटर.Time का उपयोग करके सक्षम किया जाता है: 30 मिनट की विंडो को प्रति क्षेत्र 8 घंटे के ब्लॉक से यादृच्छिक पर चुना जाता है। उदा 04: 00-09: 00
  • preferred_maintenance_window - (वैकल्पिक) वह साप्ताहिक समय सीमा जिसके दौरान सिस्टम रखरखाव हो सकता है, (UTC) में उदाहरण: wed: 04: 00-wed: 04: 30
  • port - (वैकल्पिक) वह पोर्ट जिस पर DB कनेक्शन स्वीकार करता है
  • vpc_security_group_ids - (वैकल्पिक) क्लस्टर के साथ संबद्ध करने के लिए VPC सुरक्षा समूहों की सूची
  • snapshot_identifier - (वैकल्पिक) निर्दिष्ट करता है कि स्नैपशॉट से यह क्लस्टर बनाना है या नहीं। DB क्लस्टर स्नैपशॉट निर्दिष्ट करते समय या DB स्नैपशॉट निर्दिष्ट करते समय ARN या तो आप नाम या ARN का उपयोग कर सकते हैं।
  • storage_encrypted - (वैकल्पिक) निर्दिष्ट करता है कि DB क्लस्टर एन्क्रिप्ट किया गया है या नहीं। यदि निर्दिष्ट नहीं है तो डिफ़ॉल्ट false
  • replication_source_identifier - (वैकल्पिक) एक स्रोत DB क्लस्टर या DB उदाहरण का ARN यदि यह DB क्लस्टर एक पढ़ें प्रतिकृति के रूप में बनाया जाना है।
  • apply_immediately - (वैकल्पिक) निर्दिष्ट करता है कि क्या कोई क्लस्टर संशोधन तुरंत लागू किया जाता है, या अगले रखरखाव विंडो के दौरान। डिफ़ॉल्ट false अधिक जानकारी के लिए Amazon RDS प्रलेखन देखें।
  • db_subnet_group_name - (वैकल्पिक) एक DB सबनेट समूह इस DB उदाहरण के साथ संबद्ध करने के लिए। नोट: यह क्लस्टर में हर aws_rds_cluster_instance पर निर्दिष्ट db_subnet_group_name मेल खाना चाहिए।
  • db_cluster_parameter_group_name - (वैकल्पिक) क्लस्टर के साथ संबद्ध करने के लिए एक क्लस्टर पैरामीटर समूह।
  • kms_key_id - (वैकल्पिक) KMS एन्क्रिप्शन कुंजी के लिए ARN। जब kms_key_id निर्दिष्ट करने के लिए, kms_key_id को सही पर सेट करने की आवश्यकता है।
  • iam_roles - (वैकल्पिक) IAM भूमिकाओं के लिए ARDS की एक सूची RDS क्लस्टर के साथ संबद्ध करने के लिए।
  • iam_database_authentication_enabled - (वैकल्पिक) निर्दिष्ट करता है कि डेटाबेस खातों में AWS पहचान और पहुँच प्रबंधन (IAM) के मैपिंग सक्षम हैं या नहीं।
  • engine - (वैकल्पिक) इस DB क्लस्टर के लिए उपयोग किए जाने वाले डेटाबेस इंजन का नाम। aurora चूक। मान्य मान: aurora , aurora-mysql , aurora-postgresql
  • engine_version - (वैकल्पिक) डेटाबेस इंजन संस्करण।
  • source_region - (वैकल्पिक) एक एन्क्रिप्टेड प्रतिकृति DB क्लस्टर के लिए स्रोत क्षेत्र।
  • enabled_cloudwatch_logs_exports - (वैकल्पिक) क्लाउडवाच पर निर्यात करने के लिए लॉग प्रकारों की सूची। यदि छोड़ा गया है, तो कोई लॉग निर्यात नहीं किया जाएगा। निम्नलिखित लॉग प्रकार समर्थित हैं: audit , error , general , slowquery
  • tags - (वैकल्पिक) DB क्लस्टर को असाइन करने के लिए टैग की मैपिंग।

S3 आयात विकल्प

मुख्य मापदंडों और प्रभावों पर पूर्ण विवरण एपीआई डॉक्स में हैं: RestoreDBClusterFromS3 । आवश्यक है कि S3 बाल्टी RDS क्लस्टर के समान क्षेत्र में हो, जिसे आप बनाने का प्रयास कर रहे हैं। नमूना:

resource "aws_rds_cluster" "db" {
  engine = "aurora"

  s3_import {
    source_engine = "mysql"
    source_engine_version = "5.6"
    bucket_name = "mybucket"
    bucket_prefix = "backups"
    ingestion_role = "arn:aws:iam::1234567890:role/role-xtrabackup-rds-restore"
  }
}
  • bucket_name - (आवश्यक) वह बाल्टी नाम जहां आपका बैकअप संग्रहीत है
  • bucket_prefix - (वैकल्पिक) रिक्त हो सकता है, लेकिन आपके बैकअप के लिए पथ है
  • ingestion_role - (आवश्यक) भूमिका डेटा लोड करने के लिए लागू की गई।
  • source_engine - (आवश्यक) बैकअप के लिए स्रोत इंजन
  • source_engine_version - (आवश्यक) बैकअप बनाने के लिए प्रयुक्त स्रोत इंजन का संस्करण

यदि S3 ऑब्जेक्ट किसी तरह से बदलता है तो यह संसाधन को फिर से नहीं बनाएगा। इसका उपयोग केवल डेटाबेस को इनिशियलाइज़ करने के लिए किया जाता है। यह केवल वर्तमान में औरोरा इंजन के साथ काम करता है। वर्तमान में समर्थित इंजन और विकल्पों के लिए AWS देखें। अरोरा एस 3 माइग्रेशन डॉक्स देखें।

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

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

  • id - आरडीएस क्लस्टर पहचानकर्ता
  • cluster_identifier पहचानकर्ता - आरडीएस क्लस्टर पहचानकर्ता
  • cluster_resource_id - आरडीएस क्लस्टर संसाधन आईडी
  • cluster_members - आरडीएस उदाहरणों की सूची जो इस क्लस्टर का एक हिस्सा हैं
  • allocated_storage - आवंटित भंडारण की राशि
  • availability_zones - उदाहरण का उपलब्धता क्षेत्र
  • backup_retention_period - बैकअप अवधारण अवधि
  • preferred_backup_window - दैनिक समय सीमा जिसके दौरान बैकअप होता है
  • preferred_maintenance_window - रखरखाव खिड़की
  • endpoint - RDS उदाहरण का DNS पता
  • reader_endpoint - अरोरा क्लस्टर के लिए केवल पढ़ने के लिए समापन बिंदु, स्वचालित रूप से प्रतिकृतियों में लोड-संतुलित
  • engine - डेटाबेस इंजन
  • engine_version - डेटाबेस इंजन संस्करण
  • maintenance_window - उदाहरण रखरखाव विंडो
  • database_name - डेटाबेस का नाम
  • port - डेटाबेस पोर्ट
  • status - RDS उदाहरण स्थिति
  • master_username - डेटाबेस के लिए मास्टर उपयोगकर्ता नाम
  • storage_encrypted - निर्दिष्ट करता है कि DB क्लस्टर एन्क्रिप्ट किया गया है या नहीं
  • replication_source_identifier - स्रोत DB क्लस्टर या DB उदाहरण का ARN यदि यह DB क्लस्टर एक पढ़ें प्रतिकृति के रूप में बनाया गया है।
  • hosted_zone_id - समापन बिंदु का रूट53 होस्टेड ज़ोन आईडी

समय समाप्ति

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

  • create - (डिफ़ॉल्ट 120 minutes ) क्लस्टर निर्माण के लिए इस्तेमाल किया
  • update - (डिफ़ॉल्ट 120 minutes ) क्लस्टर संशोधनों के लिए उपयोग किया जाता है
  • delete - (डिफ़ॉल्ट 120 minutes ) क्लस्टर को नष्ट करने के लिए उपयोग किया जाता है। इसमें विनाश प्रक्रिया के दौरान कोई भी सफाई कार्य शामिल है।

आयात

आरडीएस क्लस्टर को cluster_identifier , जैसे का उपयोग करके आयात किया जा सकता है

$ terraform import aws_rds_cluster.aurora_cluster aurora-prod-cluster