Terraform 0.11

aws_db_instance




terraform

aws_db_instance

एक आरडीएस उदाहरण संसाधन प्रदान करता है। डीबी उदाहरण बादल में एक अलग डेटाबेस वातावरण है। एक DB उदाहरण में कई उपयोगकर्ता-निर्मित डेटाबेस हो सकते हैं।

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

इंजन के प्रमुख संस्करण को अपग्रेड करते समय, allow_major_version_upgrade को true सेट किया जाना चाहिए।

आरडीएस इंस्टेंस क्लास के प्रकार

अमेज़ॅन आरडीएस तीन प्रकार के उदाहरण वर्गों का समर्थन करता है: मानक, मेमोरी ऑप्टिमाइज़्ड और बर्स्टेबल प्रदर्शन। अधिक जानकारी के लिए कृपया डीबी इंस्टेंस क्लास के प्रकारों के बारे में AWS RDS प्रलेखन पढ़ें

उदाहरण उपयोग

resource "aws_db_instance" "default" {
  allocated_storage    = 10
  storage_type         = "gp2"
  engine               = "mysql"
  engine_version       = "5.7"
  instance_class       = "db.t2.micro"
  name                 = "mydb"
  username             = "foo"
  password             = "foobarbaz"
  parameter_group_name = "default.mysql5.7"
}

तर्क संदर्भ

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

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

  • आबंटित_स्टोरीज - (आवश्यक नहीं जब तक कि snapshot_identifier या replicate_source_db प्रदान नहीं किया जाता है) gibibytes में आवंटित संग्रहण।
  • allow_major_version_upgrade - (वैकल्पिक) बताता है कि प्रमुख संस्करण उन्नयन की अनुमति है। इस पैरामीटर को बदलने से परिणाम नहीं निकलता है और परिवर्तन को जल्द से जल्द लागू किया जाता है।
  • apply_immediately - (वैकल्पिक) निर्दिष्ट करता है कि क्या कोई डेटाबेस संशोधनों को तुरंत लागू किया जाता है, या अगले रखरखाव विंडो के दौरान। डिफ़ॉल्ट false अधिक जानकारी के लिए Amazon RDS प्रलेखन देखें। अधिक जानकारी के लिए।
  • auto_minor_version_upgrade - (वैकल्पिक) इंगित करता है कि रखरखाव विंडो के दौरान मामूली इंजन उन्नयन स्वचालित रूप से DB उदाहरण के लिए लागू किया जाएगा। सत्य की अवहेलना।
  • availability_zone - (वैकल्पिक) आरडीएस उदाहरण के लिए AZ।
  • backup_retention_period - (वैकल्पिक) के लिए बैकअप बनाए रखने के लिए दिन। एक पढ़ें प्रतिकृति के लिए एक स्रोत होने के लिए 1 या अधिक होना चाहिए।
  • backup_window - (वैकल्पिक) दैनिक समय सीमा (UTC में) जिसके दौरान स्वचालित बैकअप बनाए जाते हैं यदि वे सक्षम हैं। उदाहरण: "09: 46-10: 16"। रखरखाव_विंडो के साथ ओवरलैप नहीं होना चाहिए।
  • character_set_name - (वैकल्पिक) Oracle उदाहरणों में DB एन्कोडिंग के लिए उपयोग करने के लिए वर्ण सेट नाम। इसे बदला नहीं जा सकता। अधिक जानकारी के लिए अमेज़न आरडीएस में समर्थित ओरेकल कैरेक्टर सेट देखें।
  • copy_tags_to_snapshot - (वैकल्पिक, बूलियन) हटाए जाने पर, सभी उदाहरण tags को अंतिम स्नैपशॉट पर कॉपी करें (यदि final_snapshot_identifier निर्दिष्ट है)। डिफ़ॉल्ट false
  • db_subnet_group_name - (वैकल्पिक) DB सबनेट समूह का नाम। DB सबनेट समूह से जुड़े VPC में DB उदाहरण बनाया जाएगा। यदि अनिर्दिष्ट है, तो default VPC में, या EC2 क्लासिक में, यदि उपलब्ध हो, बनाया जाएगा। रीड प्रतिकृतियों के साथ काम करते समय, इसे केवल तभी निर्दिष्ट करने की आवश्यकता होती है जब स्रोत डेटाबेस किसी अन्य AWS क्षेत्र में एक उदाहरण निर्दिष्ट करता है। DBSubnetGroupName API क्रिया में AddDBInstanceReadReplica को एडिटोनल रीड प्रतिकृति कंटेंट के लिए देखें।
  • enabled_cloudwatch_logs_exports - (वैकल्पिक) क्लाउडवाच लॉग में निर्यात करने के लिए सक्षम लॉग प्रकार की नाम सूची। यदि छोड़ा गया है, तो किसी भी लॉग को क्लाउडवॉच लॉग में निर्यात नहीं किया जाएगा। या तो निम्न समर्थित है: audit , error , general , slowquery
  • engine - (आवश्यक है जब तक कि एक snapshot_identifier या replicate_source_db प्रदान नहीं किया जाता है) डेटाबेस इंजन का उपयोग करने के लिए। समर्थित मानों के लिए, API कार्रवाई CreateDBInstance में इंजन पैरामीटर देखें। ध्यान दें कि अमेज़ॅन अरोरा उदाहरण के लिए इंजन को डीबी क्लस्टर के इंजन से मेल खाना चाहिए। उपलब्ध ऑरोरा MySQL इंजन के बीच अंतर की जानकारी के लिए अमेज़न आरडीएस उपयोगकर्ता गाइड में ऑरोरा MySQL 1 और ऑरोरा MySQL 2 के बीच तुलना देखें।
  • engine_version - (वैकल्पिक) इंजन संस्करण का उपयोग करने के लिए। यदि auto_minor_version_upgrade सक्षम है, तो आप 5.7 ( 5.7.10 ) जैसे संस्करण का उपसर्ग प्रदान कर सकते हैं और यह विशेषता स्वचालित रूप से पैच संस्करण में अंतरों को अनदेखा कर देगी (जैसे 5.7.17 )। समर्थित मानों के लिए, API क्रिया CreateDBInstance में EngineVersion पैरामीटर देखें। ध्यान दें कि अमेज़ॅन अरोरा उदाहरण के लिए इंजन संस्करण को DB क्लस्टर के इंजन संस्करण से मेल खाना चाहिए।
  • final_snapshot_identifier - (वैकल्पिक) इस DB उदाहरण को हटाए जाने पर आपके अंतिम DB स्नैपशॉट का नाम। यदि छोड़ दिया जाता है, तो कोई अंतिम स्नैपशॉट नहीं बनाया जाएगा।
  • iam_database_authentication_enabled - (वैकल्पिक) निर्दिष्ट करता है कि डेटाबेस खातों में AWS पहचान और पहुँच प्रबंधन (IAM) के मैपिंग सक्षम हैं या नहीं।
  • identifier - (वैकल्पिक, नए संसाधन) आरडीएस उदाहरण का नाम, यदि छोड़ दिया जाता है, तो Terraform एक यादृच्छिक, अद्वितीय पहचानकर्ता असाइन करेगा।
  • identifier_prefix - (वैकल्पिक, नए संसाधन) निर्दिष्ट उपसर्ग के साथ एक अद्वितीय पहचानकर्ता बनाता है। पहचानकर्ता के साथ संघर्ष।
  • instance_class - (आवश्यक) RDS उदाहरण का उदाहरण प्रकार।
  • iops - (वैकल्पिक) प्रावधानित IOPS की राशि। यह सेट करने से तात्पर्य "io1" के स्टोरेज_टाइप से है।
  • kms_key_id - (वैकल्पिक) KMS एन्क्रिप्शन कुंजी के लिए ARN। यदि एक एन्क्रिप्टेड प्रतिकृति बनाने के लिए, इसे KMS ARN गंतव्य पर सेट करें।
  • license_model - (वैकल्पिक, लेकिन कुछ DB इंजन के लिए आवश्यक है, यानी Oracle SE1) इस DB उदाहरण के लिए लाइसेंस मॉडल जानकारी।
  • रखरखाव_विंडो - (वैकल्पिक) में रखरखाव करने के लिए विंडो। सिंटैक्स: "ddd: hh24: mi-ddd: hh24: mi"। जैसे: "सोम: 00: 00-सोम: 03: 00"। अधिक जानकारी के लिए RDS रखरखाव विंडो डॉक्स देखें।
  • monitoring_interval - (वैकल्पिक) डीबी उदाहरण के लिए एन्हांस्ड मॉनिटरिंग मेट्रिक्स एकत्र किए जाने पर अंकों के बीच सेकंड में अंतराल। एन्हांस्ड मॉनिटरिंग मेट्रिक्स एकत्रित करने को अक्षम करने के लिए, निर्दिष्ट करें 0. डिफ़ॉल्ट 0. मान्य मान है: 0, 1, 5, 10, 15, 30, 60।
  • monitoring_role_arn - (वैकल्पिक) IAM भूमिका के लिए ARN जो RDS को CloudWatch लॉग में बढ़ाया निगरानी मैट्रिक्स भेजने की अनुमति देता है। आप AWS प्रलेखन पर अधिक जानकारी पा सकते हैं कि RAM इंस्टेंसेस के लिए एन्हांस्ड मॉनिटरिंग की अनुमति देने के लिए IAM अनुमतियों की क्या आवश्यकता है।
  • multi_az - (वैकल्पिक) निर्दिष्ट करता है कि आरडीएस उदाहरण मल्टी-एज़ेड है
  • name - (वैकल्पिक) DB उदाहरण के लिए डेटाबेस का नाम जब बनाया जाता है। यदि यह पैरामीटर निर्दिष्ट नहीं है, तो DB डेटाबेस में कोई डेटाबेस नहीं बनाया गया है। ध्यान दें कि यह Oracle या SQL सर्वर इंजन के लिए लागू नहीं होता है। उन इंजनों के लिए लागू होने वाले अधिक विवरणों के लिए AWS प्रलेखन देखें।
  • option_group_name - (वैकल्पिक) सहयोगी के लिए DB विकल्प समूह का नाम।
  • parameter_group_name - (वैकल्पिक) सहयोगी के लिए DB पैरामीटर समूह का नाम।
  • password - (आवश्यक है जब तक कि एक snapshot_identifier या replicate_source_db प्रदान नहीं किया जाता है) मास्टर डीबी उपयोगकर्ता के लिए पासवर्ड। ध्यान दें कि यह लॉग में दिखाई दे सकता है, और इसे राज्य फ़ाइल में संग्रहीत किया जाएगा।
  • port - (वैकल्पिक) वह पोर्ट जिस पर DB कनेक्शन स्वीकार करता है।
  • publicly_accessible - (वैकल्पिक) बूल को नियंत्रित करना अगर उदाहरण सार्वजनिक रूप से सुलभ है। डिफ़ॉल्ट false
  • replicate_source_db - (वैकल्पिक) निर्दिष्ट करता है कि यह संसाधन एक प्रतिकृति डेटाबेस है, और इस मान को स्रोत डेटाबेस के रूप में उपयोग करने के लिए। यह दोहराने के लिए किसी अन्य अमेज़ॅन आरडीएस डेटाबेस के identifier से संबंधित है। ध्यान दें कि यदि आप एक एन्क्रिप्टेड डेटाबेस का क्रॉस-रीजन kms_key_id बना रहे हैं तो आपको एक kms_key_id भी निर्दिष्ट करना kms_key_id प्रतिकृति का उपयोग करने के बारे में अधिक जानकारी के लिए PostgreSQL और MySQL पढ़ें प्रतिकृति के साथ DB इंस्टेंस प्रतिकृति और कार्य देखें।
  • security_group_names - (वैकल्पिक / पदावनत) संबद्ध करने के लिए DB सुरक्षा समूहों की सूची। केवल EC2-Classic प्लेटफ़ॉर्म पर DB इंस्टेंस के लिए उपयोग किया जाता है।
  • skip_final_snapshot - (वैकल्पिक) यह निर्धारित करता है कि DB आवृत्ति को हटाने से पहले एक अंतिम DB स्नैपशॉट बनाया गया है या नहीं। यदि सत्य निर्दिष्ट है, तो कोई DBSnapshot नहीं बनाया गया है। यदि गलत निर्दिष्ट किया गया है, तो final_snapshot_identifier डिलीट होने से पहले एक DB स्नैपशॉट बनाया जाता है, जो कि final_snapshot_identifier के मान का उपयोग करता है। डिफ़ॉल्ट false
  • snapshot_identifier - (वैकल्पिक) एक स्नैपशॉट से इस डेटाबेस को बनाने या न करने के लिए निर्दिष्ट करता है। यह स्नैपशॉट आईडी से संबंधित है जिसे आप RDS कंसोल में पाएंगे, उदाहरण के लिए: rds: production-2015-06-26-06-05।
  • storage_encrypted - (वैकल्पिक) निर्दिष्ट करता है कि DB उदाहरण एन्क्रिप्टेड है या नहीं। ध्यान दें कि यदि आप एक क्रॉस-रीजन रीड प्रतिकृति बना रहे हैं, तो इस फ़ील्ड को अनदेखा किया जाता है और आपको इसके बजाय एक मान्य ARN के साथ kms_key_id घोषित करना चाहिए। यदि निर्दिष्ट नहीं है तो डिफ़ॉल्ट false
  • storage_type - (वैकल्पिक) "मानक" (चुंबकीय), "gp2" (सामान्य उद्देश्य SSD), या "io1" (प्रावधान किए गए IOPS SSD) में से एक। यदि iops निर्दिष्ट है तो डिफ़ॉल्ट "io1" है, यदि नहीं तो "मानक"। ध्यान दें कि यह व्यवहार AWS वेब कंसोल से भिन्न है, जहां डिफ़ॉल्ट "gp2" है।
  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।
  • timezone - (वैकल्पिक) DB उदाहरण का समय क्षेत्र। timezone वर्तमान में केवल Microsoft SQL सर्वर द्वारा समर्थित है। timezone केवल सृजन पर निर्धारित किया जा सकता है। अधिक जानकारी के लिए MSSQL उपयोगकर्ता गाइड देखें।
  • username - (आवश्यक है जब तक कि एक snapshot_identifier या replicate_source_db प्रदान नहीं किया जाता है) मास्टर DB उपयोगकर्ता के लिए उपयोगकर्ता नाम।
  • vpc_security_group_ids - (वैकल्पिक) संबद्ध करने के लिए VPC सुरक्षा समूहों की सूची।
  • s3_import - (वैकल्पिक) S3 में एक पेरकोना Xtrabackup से पुनर्स्थापित करें। Amazon RDS MySQL DB इंस्टेंस में डेटा आयात करना देखें

S3 आयात विकल्प

मुख्य मापदंडों और प्रभावों पर पूर्ण विवरण एपीआई डॉक्स में हैं: RestoreDBInstanceFromS3 । नमूना

resource "aws_db_instance" "db" {
  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 - (आवश्यक, फरवरी 2018 तक केवल 'mysql' समर्थित) बैकअप के लिए स्रोत इंजन
  • source_engine_version - (आवश्यक, फरवरी 2018 तक केवल '5.6' समर्थित) बैकअप बनाने के लिए प्रयुक्त स्रोत इंजन का संस्करण

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

समय समाप्ति

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

  • create - (डिफ़ॉल्ट 40 minutes ) स्नैपशॉट्स से इंस्टेंस बनाने, प्रतिकृतियां और पुनर्स्थापित करने के लिए उपयोग किया जाता है।
  • update - (डिफ़ॉल्ट 80 minutes ) डेटाबेस संशोधनों के लिए उपयोग किया जाता है।
  • delete - (डिफ़ॉल्ट 40 minutes ) डेटाबेस को नष्ट करने के लिए उपयोग किया जाता है। इसमें स्नैपशॉट लेने के लिए आवश्यक समय शामिल है।

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

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

  • address - RDS उदाहरण का पता।
  • arn - आरडीएस उदाहरण के एआरएन।
  • allocated_storage - आवंटित भंडारण की राशि।
  • availability_zone - उदाहरण का उपलब्धता क्षेत्र।
  • backup_retention_period - बैकअप अवधारण अवधि।
  • backup_window - बैकअप विंडो।
  • ca_cert_identifier - DB उदाहरण के लिए CA प्रमाणपत्र के पहचानकर्ता को निर्दिष्ट करता है।
  • endpoint - कनेक्शन एंडपॉइंट।
  • engine - डेटाबेस इंजन।
  • engine_version - डेटाबेस इंजन संस्करण।
  • hosted_zone_id - डीबी उदाहरण की कैनोनिकल होस्ट की गई ज़ोन आईडी (एक रूट 53 उपनाम रिकॉर्ड में उपयोग की जाने वाली)।
  • id - आरडीएस उदाहरण आईडी।
  • instance_class - RDS उदाहरण वर्ग।
  • maintenance_window - उदाहरण रखरखाव विंडो।
  • multi_az - यदि आरडीएस उदाहरण मल्टी multi_az सक्षम है।
  • name - डेटाबेस का नाम।
  • port - डेटाबेस पोर्ट।
  • resource_id - इस उदाहरण का RDS संसाधन ID।
  • status - RDS उदाहरण स्थिति।
  • storage_encrypted - निर्दिष्ट करता है कि DB उदाहरण एन्क्रिप्टेड है या नहीं।
  • username - डेटाबेस के लिए मास्टर उपयोगकर्ता नाम।

Oracle उदाहरणों पर निम्न अतिरिक्त निर्यात किया जाता है:

  • character_set_name - Oracle उदाहरण पर प्रयुक्त वर्ण सेट।

आयात

DB उदाहरणों को identifier का उपयोग करके आयात किया जा सकता है, जैसे

$ terraform import aws_db_instance.default mydb-rds-instance