{"id":11734,"date":"2024-05-25T08:17:00","date_gmt":"2024-05-25T00:17:00","guid":{"rendered":"https:\/\/www.orczhou.com\/?p=11734"},"modified":"2024-09-14T14:12:59","modified_gmt":"2024-09-14T06:12:59","slug":"oci-terraform-create-compute-database-instance","status":"publish","type":"post","link":"https:\/\/www.orczhou.com\/index.php\/2024\/05\/oci-terraform-create-compute-database-instance\/","title":{"rendered":"\u5728OCI\u4e0a\uff0c\u4f7f\u7528Terraform\u521b\u5efaCompute\/Database"},"content":{"rendered":"\n\n\n\n<p>\u5728\u5f00\u59cb\u521b\u5efaCompute\/Database\u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5148\u5b8c\u6210\u8ba4\u8bc1\uff0c\u518d\u5c06\u9700\u8981\u7684\u57fa\u7840\u8d44\u6e90\u51c6\u5907\u597d\u3002\u57fa\u7840\u8d44\u6e90\u5305\u62ecVCN\/Subnet\u7b49\u76f8\u5173\u7684\u7f51\u7edc\u57fa\u7840\u7ec4\u4ef6\u3002\u672c\u6587\u5c06\u901a\u8fc7\u7b80\u5355\u7684\u793a\u4f8b\u5c55\u793a\u8fd9\u4e9b\u57fa\u7840\u7ec4\u4ef6\u7684\u521b\u5efa\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u533a\u57df\/Compartment\/AD<\/h3>\n\n\n\n<p>\u548c\u6240\u6709\u7684Provider\u4e00\u6837\uff0c\u6211\u4eec\u4f1a\u5728Oracle Cloud\u7684provider\u57fa\u7840\u914d\u7f6e\u4e2d\u914d\u7f6e\u597dregion\u3002\u5728\u8d44\u6e90\u521b\u5efa\u7684\u65f6\u5019\uff0c\u6838\u5fc3\u8d44\u6e90\u90fd\u9700\u8981\u914d\u7f6e<code>compartment_id<\/code>\uff0c\u53ef\u4ee5\u7b80\u5355\u7406\u89e3\u4e3a\uff0c\u8be5\u8d44\u6e90\u5c5e\u4e8e\u54ea\u4e2a\u903b\u8f91\u7ec4\uff08<a href=\"https:\/\/www.orczhou.com\/index.php\/2024\/05\/oci-terraform-vcn-creation\/#Compartment\">\u5173\u4e8eCompartment<\/a>\uff09\u3002\u4f8b\u5982\uff0c\u4e00\u4e2a\u5178\u578b\u7684\u3001\u7b80\u5355\u7684VCN\u7684\u521b\u5efa\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">provider \"oci\" {\n  region           = var.region\n}\n\n# \u521b\u5efa\u4e00\u4e2a\u65b0\u7684compartment\uff0c\u4ed6\u7684parent compartment\u662ftenancy_id\nresource \"oci_identity_compartment\" \"oic\" {\n    #Required\n    compartment_id = var.tenancy_id\n    description = \"for database benchmark\"\n    name = var.naming\n}\n\nresource \"oci_core_vcn\" \"ocv\" {\n    #Required\n    compartment_id = oci_identity_compartment.oic.id\n    cidr_block = \"172.17.0.0\/16\"\n    display_name = var.naming\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u521b\u5efa\u4e00\u4e2a\u5177\u5907\u201c\u516c\u7f51\u201d\u80fd\u529b\u7684\u5b50\u7f51<\/h3>\n\n\n\n<p>\u8fd9\u91cc\u8bf4\u7684\u201c\u516c\u7f51\u201d\u80fd\u529b\uff0c\u5305\u62ec\u4e86\u4e24\u4e2a\u65b9\u9762\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e00\u4e2a\u662f\u53ef\u4ee5\u88ab\u516c\u7f51\u8bbf\u95ee\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5ssh\u767b\u5f55\u5e76\u7ba1\u7406<\/li>\n\n\n\n<li>\u4e00\u4e2a\u662f\u53ef\u4ee5\u8bbf\u95ee\u516c\u7f51\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u901a\u8fc7wget\/git\/yum\u7b49\u5de5\u5177\u5b89\u88c5\u8f6f\u4ef6<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>\u8fd9\u91cc\u914d\u7f6e\u8981\u6c42\u6bd4\u8f83\u4e25\u8c28\uff0c\u4e0eAWS\u6709\u4e00\u4e9b\u7c7b\u4f3c\u3002\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u521b\u5efa\u4e00\u4e2aVCN\uff08oci_core_vcn\uff09\uff0c\u521b\u5efa\u4e00\u4e2a\u5bf9\u5e94\u7684\u5b50\u7f51\uff08oci_core_subnet\uff09\n<ul class=\"wp-block-list\">\n<li>\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u521b\u5efa\u4e86VCN\u4e4b\u540e\uff0cOCI Terraform\u4f1a\u9ed8\u8ba4\u7684\u521b\u5efa\u4e00\u7ec4\uff1a\u9ed8\u8ba4\u7684\u5b89\u5168\u7ec4\uff08default_security_list_id\uff09\u3001\u9ed8\u8ba4\u7684\u8def\u7531\u8868\uff08default_route_table_id\uff09\u3001\u9ed8\u8ba4\u7684dhcp\uff08default_dhcp_options_id\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">resource \"oci_core_vcn\" \"ocv\" {\n    #Required\n    compartment_id = oci_identity_compartment.oic.id\n    cidr_block = \"172.17.0.0\/16\"\n    display_name = var.naming\n    dns_label    = var.naming\n}\n\n# Creates a subnet\nresource \"oci_core_subnet\" \"subnet_primary\" {\n  availability_domain = data.oci_identity_availability_domain.oad.name\n  cidr_block          = \"172.17.1.0\/24\"\n  display_name        = \"domain_primary\"\n  dns_label           = \"tfsubnet\"\n  security_list_ids   = [oci_core_vcn.ocv.default_security_list_id]\n  compartment_id      = oci_identity_compartment.oic.id\n  vcn_id              = oci_core_vcn.ocv.id\n  route_table_id      = oci_core_vcn.ocv.default_route_table_id\n  dhcp_options_id     = oci_core_vcn.ocv.default_dhcp_options_id\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u521b\u5efa\u4e00\u4e2a\u5177\u5907\u4e92\u8054\u7f51\u8bbf\u95ee\u89c4\u5219\u7684\u7f51\u5173<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">resource \"oci_core_internet_gateway\" \"internet_gateway\" {\n  compartment_id = oci_identity_compartment.oic.id\n  display_name   = \"InternetGateway\"\n  vcn_id         = oci_core_vcn.ocv.id\n}\n\nresource \"oci_core_default_route_table\" \"route_table_for_internet\" {\n  manage_default_resource_id = oci_core_vcn.ocv.default_route_table_id\n  display_name               = \"RouteTableForInternet\"\n\n  route_rules {\n    destination       = \"0.0.0.0\/0\"\n    destination_type  = \"CIDR_BLOCK\"\n    network_entity_id = oci_core_internet_gateway.internet_gateway.id\n  }\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6700\u540e\uff0c\u6dfb\u52a0\u5408\u9002\u7684\u7aef\u53e3\u8bbf\u95ee\u89c4\u5219\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">resource \"oci_core_security_list\" \"osl\" {\n  compartment_id = oci_identity_compartment.oic.id\n  vcn_id         = oci_core_vcn.ocv.id\n  display_name   = \"${var.naming}SecurityList\"\n\n  ingress_security_rules {\n    protocol  = \"6\" \/\/ tcp\n    source    = \"0.0.0.0\/0\"\n    stateless = false\n\n    tcp_options {\n    #   source_port_range {\n    #     min = 100\n    #     max = 100\n    #   }\n\n    #  \/\/ These values correspond to the destination port range.\n      min = 22\n      max = 22\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Availability Domains<\/h3>\n\n\n\n<p>\u548cCompartment\u4e00\u6837\uff0c\u8fd9\u662f\u53e6\u4e00\u4e2aOracle Cloud\u4e0a\u5fc5\u987b\u5f97\uff0c\u4f46\u662f\u4f3c\u4e4e\u5fc5\u8981\u6027\u5e76\u4e0d\u5f3a\u7684\u6982\u5ff5\u3002\u5728Oracle Cloud\u4e0a\uff0c\u6574\u4f53\u7684\u8d44\u6e90\u4f4d\u7f6e\u4ece\u5927\u5230\u5c0f\uff1a<code>region -&gt; Availability Domains -&gt; Fault Domain<\/code>\u3002\u5176\u4e2d\uff0c<code>Fault Domain<\/code>\u53ef\u4ee5\u7406\u89e3\u4e3a\u5176\u4ed6\u4e91\u7684<code>zone<\/code>\u7684\u6982\u5ff5\uff0c\u4ee3\u8868\u4e86\u4e00\u4e2aIDC\u673a\u623f\uff08\u53ef\u80fd\u662f\u76f8\u90bb\u7684\u591a\u4e2abuilding\uff09\uff0c\u901a\u5e38\uff0c3\u4e2a<code>Fault Domain<\/code>\u6784\u6210\u4e00\u4e2a<code>Availability Domains<\/code>\u3002\u5728\u4e00\u4e2aRegion\u901a\u5e38\u53ea\u6709\u4e00\u4e2a<code>Availability Domains<\/code>\uff0c\u4e5f\u6709\u90e8\u5206Region\u67092~3\u4e2a<code>Availability Domains<\/code>\u3002<\/p>\n\n\n\n<p>\u5728Terraform\u4e2d\uff0c\u5982\u679c\u786e\u5b9a\u4e86Region\uff0c\u6211\u4eec\u9700\u8981\u4f7f\u7528<code>data.oci_identity_availability_domain<\/code>\u83b7\u53d6\u5bf9\u5e94<code>availability_domain<\/code>\u7684\u4fe1\u606f\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">data \"oci_identity_availability_domain\" \"oad\" {\n    #Required\n    compartment_id = oci_identity_compartment.oic.id\n    ad_number = 1\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u521b\u5efa\u8ba1\u7b97\u8d44\u6e90\uff08Compute\uff09<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u9009\u62e9\u5408\u9002\u7684image<\/h4>\n\n\n\n<p>\u8fd9\u91cc\u53c2\u8003\u4e86<a href=\"https:\/\/github.com\/oracle\/terraform-provider-oci\/blob\/master\/examples\/networking\/public_ip\/public_ip.tf\">example public_ip.tf@GitHub<\/a>\uff0c\u4f7f\u7528\u4e86\u8f83\u4e3a\u201c\u76f4\u63a5\u201d\u7684\u65b9\u5f0f\uff08\u7f3a\u4e4f\u6269\u5c55\u6027\uff09\u83b7\u53d6\u9700\u8981\u955c\u50cf\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">variable \"instance_image_ocid\" {\n  type = map(string)\n\n  default = {\n    # See https:\/\/docs.oracle.com\/en-us\/iaas\/images\/image\/abf452f1-bf22-4837-b47b-79945ed26bee\/\n    # CentOS-7\n    ap-tokyo-1  = \"ocid1.image.oc1.ap-tokyo-1.aaaaaaaa4hzluwszvbv3m3m27pvly5qm6ldnjgibjxrexuhe4ky5ncijjsra\"\n  }\n}<\/code><\/pre>\n\n\n\n<p>\u8fd9\u91cc\u7684ocid\u5219\u662f\u6839\u636e <a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/images\/\">Images@Oracle Cloud Infrastructure Documentation<\/a> \u5217\u51fa\u7684\u6240\u6709\u955c\u50cf\u9009\u62e9\u800c\u6765\u3002\u66f4\u5177\u6269\u5c55\u6027\u7684\u505a\u6cd5\u5e94\u8be5\u662f\u901a\u8fc7<code>terraform data<\/code>\u5bf9\u8c61\u53bb\u83b7\u53d6\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u8ba1\u7b97\u5b9e\u4f8b\u7684\u914d\u7f6e<\/h4>\n\n\n\n<p>\u5728OCI\u4e2d\uff0c\u8ba1\u7b97\u5b9e\u4f8b\u7684\u914d\u7f6e\uff0c\u76f8\u5bf9\u6765\u8bf4\u662f\u6bd4\u8f83\u7b80\u5355\u7684\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"># Creates an instance (without assigning a public IP to the primary private IP on the VNIC)\nresource \"oci_core_instance\" \"oi\" {\n  availability_domain = data.oci_identity_availability_domain.oad.name\n  compartment_id      = oci_identity_compartment.oic.id\n  display_name        = var.naming\n  fault_domain        = var.zone_primary\n  shape               = var.vm_instance_type\n  shape_config {\n    memory_in_gbs = 2\n    ocpus = 1\n  }\n\n  source_details {\n    source_type = \"image\"\n    source_id   = var.instance_image_ocid[var.region]\n    boot_volume_size_in_gbs = 50\n  }\n\n  create_vnic_details {\n    assign_public_ip = true\n    display_name     = \"Vnic${var.naming}\"\n    subnet_id        = oci_core_subnet.subnet_primary.id\n    hostname_label   = var.naming\n  }\n  metadata = {\n    ssh_authorized_keys = var.publickey\n  }\n  preserve_boot_volume = false\n}<\/code><\/pre>\n\n\n\n<p>\u4e0a\u9762\u901a\u8fc7\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>source_details<\/code>\u63cf\u8ff0\u4e86\u4f7f\u7528\u7684\u955c\u50cf\u4ee5\u53ca\u542f\u52a8\u76d8\u7684\u5927\u5c0f<\/li>\n\n\n\n<li><code>create_vnic_details<\/code>\u63cf\u8ff0\u4e86VNIC\u7684\u4e3b\u8981\u914d\u7f6e\uff0c\u5305\u62ec\u6240\u5c5e\u5b50\u7f51\u3001\u662f\u5426\u6709\u7ed1\u5b9a\u516c\u7f51IP\u7b49<\/li>\n\n\n\n<li><code>metadata<\/code>\u5219\u63cf\u8ff0\u4e86ssh\u7684\u516c\u94a5\u4fe1\u606f\uff0c\u5b9e\u73b0\u79d8\u94a5\u5bf9\u767b\u5f55<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u521b\u5efa\u6570\u636e\u5e93\u5b9e\u4f8b<\/h3>\n\n\n\n<p>\u5728OCI\u4e0a\u521b\u5efaMySQL\u5b9e\u4f8b\u6bd4\u8f83\u7b80\u5355\uff0c\u9009\u9879\u4e5f\u4e0d\u591a\uff0c\u5b9e\u9645\u5728\u901a\u8fc7Terraform\u914d\u7f6e\u4e5f\u6bd4\u8f83\u7b80\u5355\u548c\u987a\u5229\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">resource \"oci_mysql_mysql_db_system\" \"om\" {\n\n  display_name = var.naming\n  compartment_id = oci_identity_compartment.oic.id\n\n  availability_domain = data.oci_identity_availability_domain.oad.name\n  fault_domain = var.zone_primary\n  is_highly_available = true\n\n  admin_password = var.db_pass\n  admin_username = var.db_user\n\n  shape_name = var.rds_instance_type\n  data_storage_size_in_gb = 100\n\n  subnet_id = oci_core_subnet.subnet_primary.id\n\n  ## this appear as optional in documentation\n  ## but it is a must to add it\n\n  deletion_policy {\n    #Optional\n    # automatic_backup_retention = false\n    final_backup = \"SKIP_FINAL_BACKUP\"\n    is_delete_protected = false\n  }\n}<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u95ee\u9898<\/h3>\n\n\n\n<h2 class=\"wp-block-heading\">400-InvalidParameter<\/h2>\n\n\n\n<p>\u53c2\u6570\u503c\u9519\u8bef\u6709\u5f88\u591a\uff0c\u6839\u636e\u62a5\u9519\u8fd9\u91cc\u662fautomaticBackupRetention\u76f8\u5173\u7684\u53c2\u6570\u503c\u9519\u8bef\uff0c\u5bf9\u5e94\u5728Terraform\u4e2d\u662fdeletion_policy\u4e2d\u7684automatic_backup_retention\u914d\u7f6e\u9879\uff0c\u8be5\u9009\u9879\u5e76\u4e0d\u662f\u5fc5\u987b\u7684\uff0c\u6682\u65f6\u5220\u9664\u89e3\u51b3\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">\u2577\n\u2502 Error: 400-InvalidParameter, Request contains an invalid value for 'com.oracle.oci.mysql.model.CreateDbSystemDetails$Builder[\"deletionPolicy\"]-&gt;com.oracle.oci.mysql.model.CreateDeletionPolicyDetails$Builder[\"automaticBackupRetention\"]'\n\u2502 Suggestion: Please update the parameter(s) in the Terraform config as per error message Request contains an invalid value for 'com.oracle.oci.mysql.model.CreateDbSystemDetails$Builder[\"deletionPolicy\"]-&gt;com.oracle.oci.mysql.model.CreateDeletionPolicyDetails$Builder[\"automaticBackupRetention\"]'\n\u2502 Documentation: https:\/\/registry.terraform.io\/providers\/oracle\/oci\/latest\/docs\/resources\/mysql_mysql_db_system\n\u2502 API Reference:\n\u2502 Request Target: POST https:\/\/mysql.ap-tokyo-1.ocp.oraclecloud.com\/20190415\/dbSystems\n\u2502 Provider version: 5.42.0, released on 2024-05-19.\n\u2502 Service: Mysql Db System\n\u2502 Operation Name: CreateDbSystem\n\u2502 OPC request ID: ...\n\u2502\n\u2502\n\u2502   with oci_mysql_mysql_db_system.om,\n\u2502   on rds.mysql.tf line 6, in resource \"oci_mysql_mysql_db_system\" \"om\":\n\u2502    6: resource \"oci_mysql_mysql_db_system\" \"om\" {\n\u2502<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u53c2\u8003\u94fe\u63a5<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/General\/Concepts\/regions.htm\">Regions and Availability Domains@Oracle Cloud Infrastructure Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/registry.terraform.io\/providers\/oracle\/oci\/latest\/docs\/data-sources\/identity_availability_domain\">Data Source: oci_identity_availability_domain@OCI Terraform<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/developer-tutorials\/tutorials\/tf-vcn\/01-summary.htm\">Terraform: Create a Virtual Cloud Network@Oracle Cloud Infrastructure Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/developer-tutorials\/tutorials\/tf-compute\/01-summary.htm\">Terraform: Create a Compute Instance@Oracle Cloud Infrastructure Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/oracle\/terraform-provider-oci\/blob\/master\/examples\/networking\/public_ip\/public_ip.tf\">example public_ip.tf@GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/registry.terraform.io\/providers\/oracle\/oci\/latest\/docs\/resources\/mysql_mysql_db_system#automatic_backup_retention\">oci_mysql_mysql_db_system@Terraform Docs<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u5f00\u59cb\u521b\u5efaCompute\/Database\u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5148\u5b8c\u6210\u8ba4\u8bc1\uff0c\u518d\u5c06\u9700\u8981\u7684\u57fa\u7840\u8d44\u6e90\u51c6\u5907\u597d\u3002\u57fa\u7840\u8d44\u6e90\u5305\u62ecVCN\/Subnet\u7b49\u76f8\u5173\u7684\u7f51\u7edc\u57fa\u7840\u7ec4\u4ef6\u3002\u672c\u6587\u5c06\u901a\u8fc7\u7b80\u5355\u7684\u793a\u4f8b\u5c55\u793a\u8fd9\u4e9b\u57fa\u7840\u7ec4\u4ef6\u7684\u521b\u5efa\u3002 \u533a\u57df\/Compartment\/AD \u548c\u6240\u6709\u7684Provider\u4e00\u6837\uff0c\u6211\u4eec\u4f1a\u5728Oracle Cloud\u7684provider\u57fa\u7840\u914d\u7f6e\u4e2d\u914d\u7f6e\u597dregion\u3002\u5728\u8d44\u6e90\u521b\u5efa\u7684\u65f6\u5019\uff0c\u6838\u5fc3\u8d44\u6e90\u90fd\u9700\u8981\u914d\u7f6ecompartment_id\uff0c\u53ef\u4ee5\u7b80\u5355\u7406\u89e3\u4e3a\uff0c\u8be5\u8d44\u6e90\u5c5e\u4e8e\u54ea\u4e2a\u903b\u8f91\u7ec4\uff08\u5173\u4e8eCompartment\uff09\u3002\u4f8b\u5982\uff0c\u4e00\u4e2a\u5178\u578b\u7684\u3001\u7b80\u5355\u7684VCN\u7684\u521b\u5efa\u4ee3\u7801\u5982\u4e0b\uff1a \u521b\u5efa\u4e00\u4e2a\u5177\u5907\u201c\u516c\u7f51\u201d\u80fd\u529b\u7684\u5b50\u7f51 \u8fd9\u91cc\u8bf4\u7684\u201c\u516c\u7f51\u201d\u80fd\u529b\uff0c\u5305\u62ec\u4e86\u4e24\u4e2a\u65b9\u9762\uff1a \u8fd9\u91cc\u914d\u7f6e\u8981\u6c42\u6bd4\u8f83\u4e25\u8c28\uff0c\u4e0eAWS\u6709\u4e00\u4e9b\u7c7b\u4f3c\u3002\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u6b65\u9aa4\uff1a Availability Domains \u548cCompartment\u4e00\u6837\uff0c\u8fd9\u662f\u53e6\u4e00\u4e2aOracle Cloud\u4e0a\u5fc5\u987b\u5f97\uff0c\u4f46\u662f\u4f3c\u4e4e\u5fc5\u8981\u6027\u5e76\u4e0d\u5f3a\u7684\u6982\u5ff5\u3002\u5728Oracle Cloud\u4e0a\uff0c\u6574\u4f53\u7684\u8d44\u6e90\u4f4d\u7f6e\u4ece\u5927\u5230\u5c0f\uff1aregion -&gt; Availability Domains -&gt; Fault Domain\u3002\u5176\u4e2d\uff0cFault Domain\u53ef\u4ee5\u7406\u89e3\u4e3a\u5176\u4ed6\u4e91\u7684zone\u7684\u6982\u5ff5\uff0c\u4ee3\u8868\u4e86\u4e00\u4e2aIDC\u673a\u623f\uff08\u53ef\u80fd\u662f\u76f8\u90bb\u7684\u591a\u4e2abuilding\uff09\uff0c\u901a\u5e38\uff0c3\u4e2aFault Domain\u6784\u6210\u4e00\u4e2aAvailability Domains\u3002\u5728\u4e00\u4e2aRegion\u901a\u5e38\u53ea\u6709\u4e00\u4e2aAvailability Domains\uff0c\u4e5f\u6709\u90e8\u5206Region\u67092~3\u4e2aAvailability Domains\u3002 \u5728Terraform\u4e2d\uff0c\u5982\u679c\u786e\u5b9a\u4e86Region\uff0c\u6211\u4eec\u9700\u8981\u4f7f\u7528data.oci_identity_availability_domain\u83b7\u53d6\u5bf9\u5e94availability_domain\u7684\u4fe1\u606f\uff1a \u521b\u5efa\u8ba1\u7b97\u8d44\u6e90\uff08Compute\uff09 \u9009\u62e9\u5408\u9002\u7684image \u8fd9\u91cc\u53c2\u8003\u4e86example public_ip.tf@GitHub\uff0c\u4f7f\u7528\u4e86\u8f83\u4e3a\u201c\u76f4\u63a5\u201d\u7684\u65b9\u5f0f\uff08\u7f3a\u4e4f\u6269\u5c55\u6027\uff09\u83b7\u53d6\u9700\u8981\u955c\u50cf\uff1a \u8fd9\u91cc\u7684ocid\u5219\u662f\u6839\u636e Images@Oracle Cloud Infrastructure Documentation \u5217\u51fa\u7684\u6240\u6709\u955c\u50cf\u9009\u62e9\u800c\u6765\u3002\u66f4\u5177\u6269\u5c55\u6027\u7684\u505a\u6cd5\u5e94\u8be5\u662f\u901a\u8fc7terraform data\u5bf9\u8c61\u53bb\u83b7\u53d6\u3002 \u8ba1\u7b97\u5b9e\u4f8b\u7684\u914d\u7f6e \u5728OCI\u4e2d\uff0c\u8ba1\u7b97\u5b9e\u4f8b\u7684\u914d\u7f6e\uff0c\u76f8\u5bf9\u6765\u8bf4\u662f\u6bd4\u8f83\u7b80\u5355\u7684\uff1a \u4e0a\u9762\u901a\u8fc7\uff1a \u521b\u5efa\u6570\u636e\u5e93\u5b9e\u4f8b \u5728OCI\u4e0a\u521b\u5efaMySQL\u5b9e\u4f8b\u6bd4\u8f83\u7b80\u5355\uff0c\u9009\u9879\u4e5f\u4e0d\u591a\uff0c\u5b9e\u9645\u5728\u901a\u8fc7Terraform\u914d\u7f6e\u4e5f\u6bd4\u8f83\u7b80\u5355\u548c\u987a\u5229\uff1a \u95ee\u9898 400-InvalidParameter \u53c2\u6570\u503c\u9519\u8bef\u6709\u5f88\u591a\uff0c\u6839\u636e\u62a5\u9519\u8fd9\u91cc\u662fautomaticBackupRetention\u76f8\u5173\u7684\u53c2\u6570\u503c\u9519\u8bef\uff0c\u5bf9\u5e94\u5728Terraform\u4e2d\u662fdeletion_policy\u4e2d\u7684automatic_backup_retention\u914d\u7f6e\u9879\uff0c\u8be5\u9009\u9879\u5e76\u4e0d\u662f\u5fc5\u987b\u7684\uff0c\u6682\u65f6\u5220\u9664\u89e3\u51b3\u3002 \u53c2\u8003\u94fe\u63a5<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","inline_featured_image":false,"_tocer_settings":[],"footnotes":""},"categories":[6,13],"tags":[],"class_list":["post-11734","post","type-post","status-publish","format-standard","hentry","category-mysql","category-oracle"],"_links":{"self":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/11734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/comments?post=11734"}],"version-history":[{"count":18,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/11734\/revisions"}],"predecessor-version":[{"id":14356,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/11734\/revisions\/14356"}],"wp:attachment":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/media?parent=11734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/categories?post=11734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/tags?post=11734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}