á¡á¬ážáá¯á¶ážáááºá¹ááá¬áá«! áá®áááºáá¬áááœáẠOTUS á០áááºáááºážá¡áá
áºááᯠááœáá·áºááŸá
áºáá²á·ááẠ-
Mitoc Group á០áá»áœááºá¯ááºááá¯á·áá¡ááœá²á·ááẠááŒá®ážáá¬ážáá±á¬á¡ááœá²á·á¡á
ááºážáá»á¬ážááᯠáá
áºáá»á
áºáááºá¡ááœááºááŒá±á¬ááºážááŒá®áž áááºážááá¯á·ááá
áºáá»á
áºáááºááŒá±áá¬ááᯠAWS cloud ááá¯á· á¡á±á¬ááºááŒááºá
áœá¬ áá
áºáá»á
áºáááºá¡ááœááºááŒá±á¬ááºážááŒá®áž áááºáá±á¬ááºááẠááá¯á·ááá¯áẠááŒá±á¬ááºážááœáŸá±á·áááºá¡ááœáẠXNUMX ááŸá
áºáá»á±á¬áºááŒá¬á¡á±á¬áẠááá±á¬ááááºážáá¯ááºáá±á¬ááºáá²á·áááºá áá
áºáááºážááá¯ááá±á¬áº AWS á០áá»áœááºá¯ááºááá¯á·ááá°áááºáá»ááºážáá»á¬ážááᯠááá¯ážáá¬ážáááº- "áá»áœááºá¯ááºááá¯á·ááá±á¬ááºáááºáá»á¬ážááẠAWS ááŒáá·áº áááºážááá¯á·ááá¯ááºáááá ááŒááºáááºáááºážáá
áºáá±áá«áááºá" áá±á¬ááºáááºáá»á¬ážááá¯ááºá
á¬áž á
ááºááŒááºáá»á¬ážááᯠááŒááºáááºáááºážáá
áºááŒá®áž ááá¯ážááŸááºážá¡á±á¬ááºááŒá¯áá¯ááºáááºááŸá¬ á¡áá¯á¶ážáááŸááá±á¬ á¡á¬ážáá¯ááºááŸá¯ááŒá
áºááŒá®áž AWS ááẠáááºáá°áááœááºáá°áá±á¬ ááŒá±ááŸááºážáááºážáá»á¬ážááŒáá·áº ááŸá¯ááºááœá±ážáá±á¬ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáá¬ááœáẠáá±á¬ááºážááœááºáá±á¬á¡áá¯ááºááŒá
áºáááºá
AWS áááºážáááºáá¯áẠ(
AWS Landing Zone ááá¯áá¬áá¬áá²á
ááá¬ážáááºááááºážáááºážááŒá áºáá áºáá¯ááŸá¡áá»ááºá¡áááºáá»á¬ážá¡á
AWS Landing Zone ááẠáá¯á¶ážá áœá²áá°áá»á¬ážá¡á¬áž AWS á¡áá±á¬ááºážáá¯á¶ážá¡áá±á·á¡áá»áá·áºáá»á¬ážááá¯á¡ááŒá±áá¶á á¡áá±á¬áá·áºáá»á¬ážá áœá¬ááŒáá·áº áá¯á¶ááŒá¯á¶áá±á¬ AWS áááºáááºážáá»ááºááᯠáá»ááºááŒááºá áœá¬áááºááŸááºáá±ážááá¯ááºááá·áº ááŒá±ááŸááºážáá»ááºáá áºáá¯ááŒá áºáááºá ááœá±ážáá»ááºá áá¬áá»á¬ážá áœá¬ááŒáá·áºá á¡áá±á¬áá·áºá¡áá»á¬ážá¡ááŒá¬ážáááºáááºážáá»ááºáá áºáá¯áááºáá±á¬ááºááŒááºážááẠá¡áá»áááºáá¯ááºááá¯ááºááŒá®ážá á¡áá±á¬áá·áºá¡áá»á¬ážá¡ááŒá¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá¯á¶á á¶áááºááŸááºááŒááºážááœáẠáá«áááºááá¯ááºááŒá®áž AWS áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáá²á áœá¬áá¬ážáááºááẠááá¯á¡ááºáá«áááºá
AWS Landing Zone ááẠááá°áá®áá±á¬ áá¯á¶ážá áœá²áá°áá»á¬ážáᶠáá±ážááá¯á·áá±á¬ á¡áá¬ážáá° áá®ááá¯ááºážáá¯á¶á á¶áá»á¬ážá ááŸá¯ááºááœá±ážááŸá¯ááŸáá·áº áá®ááœááºááŸá¯ááᯠáááááá¬áᬠáá»áŸá±á¬á·áá»áá±ážáá«áááºá á¡ááŒá¬ážáá áºáááºááœááºá áá»áœááºá¯ááºááá¯á·áá¡ááœá²á·ááẠáááºážááá¯á·ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáááºá¡ááœáẠáá±á¬ááºáááºá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠCloudFormation á¡á áááºá¡ááá¯ááºážá¡áá»áá¯á·ááᯠTerraform á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááŒá ẠááŒááºáááºááŒááºáááºááá«áááºá
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠTerraform ááœáẠAWS Landing Zone ááŒá±ááŸááºážáá»ááºááᯠá¡áááºááŒá±á¬áá·áºááááºáá±á¬ááºáááááºážáᯠááááááá¯ááºááá¯áá±ážáá²á·áááºá áá«ááᯠáá«ááá¯á·áá¯ááºááá¯ááºááŒá®áž áá±á¬ááºáááºááœá±áá²á· ááŒá¿áá¬ááœá±ááᯠááŒá±ááŸááºážáá±ážááŸá¬áá¬ážá Spoiler- áá¯á¶ážááŒááºááŒá®ážáá¬ážááŒá áºááŸá¬áá«á ð
AWS Landing Zone ááᯠáááºá¡áá»áááºááŸá¬ á¡áá¯á¶ážáááŒá¯ááá·áºáá²á
á¡áááºá áááºááẠáá¯á¶ááŸáẠcloud áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº AWS á¡áá±á¬áá·áºáá áºáᯠááá¯á·ááá¯áẠááŸá áºáá¯á¡ááœááºážááœáẠcloud á¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº áááºáá¶áá±áá«áá á€á¡á á®á¡áá¶áá»á¬ážááẠááœááºáá²ááœá¬ážááá¯ááºáá«áááºá á€á¡áá»ááºááŸáá·áº ááááºááá¯ááºáá° áááºáá°áááᯠáááºáááºáááºááŸá¯ááá¯ááºáá«ááẠ:)
á¡áá¯ááºáá ááẠáá¬ááœá±á ááºážá á¬ážááá·áºáá²á
áá»áœááºá¯ááºááá¯á·ááŸáá·áº áá¯ááºááá¯ááºáá²á·ááá·áº ááŒá®ážáá¬ážáá±á¬á¡ááœá²á·á¡á ááºážá¡áá»á¬ážá¡ááŒá¬ážááœáẠcloud áá»á°áá¬á¡áá»áá¯á·ááŸáááŒá®ážáá¬ážááŒá áºáááºá áá¯áá¹ááá®áá»á¬ážááẠááŒááºáá¬ážáá±á¬á¡ááŒááºááŸáá·áº áá»áŸá±á¬áºááá·áºáá»ááºáá»á¬ážáááŸááá² cloud áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡á±á¬ááºááŒááºá áœá¬á¡áá±á¬ááºá¡áááºáá±á¬áºááẠáá¯ááºážáááºáá±ááŒááááºá áááºááá»á°áá¬ááᯠáááºááŸááºáááºááŸáá·áº AWS áááºáá²á·ááá¯á· ááá¯ááºáááºáááºááᯠáá¬ážáááºááẠá¡áá»áááºáá°áá«á
áá»á°áá¬áá áºáᯠáááºááŸááºááá·áºá¡áá« á¡á±á¬ááºááŒááºáá±á¬ AWS Landing Zone áá¯á¶ážá áœá²áá°áá»á¬ážááẠá¡á±á¬ááºáá«ááá¯á·ááᯠáááºááŒáœá áœá¬ á¡á¬áá¯á¶á áá¯ááºáááº-
- Automation ááẠááœá±ážáá»ááºá áá¬áá áºáá¯ááá¯ááºáá«á Cloud áá¬áá á¡ááá¯á¡áá»á±á¬ááºá áá áºááᯠáŠážá á¬ážáá±ážáááºá
- á¡ááœá²á·áá»á¬ážááẠcloud á¡áááºážá¡ááŒá áºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá¡ááœáẠáá°áá®áá±á¬áááááá¬á¡á á¯á¶ááŒáá·áº áá°áá®áá±á¬á ááºááŒááºáá»á¬ážááᯠáááááºáááºážá¡áá¯á¶ážááŒá¯ááŒáááºá Terraform ááá¯áá¯á¶ážáᬠááá¯áá±á¬ááºážáá«áááºá
- á¡áá»áá¯ážááŸááá¯á¶áž cloud á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠááŒááºáááºáá¯á¶ážááá¯ááºáá±á¬ áá¯ááºáááºážá ááºáá»á¬ážááᯠáááºáá®ážááá¯ááºááŒá®áž áááºážááá¯á·ááᯠááŒááºáá¯á¶ážááá¯ááºáá±á¬ áá¯ááºá¡á á¬áž ááŒááºáá¯á¶ážááá¯ááºáá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááŒá Ạáá±ážáá±á¬ááºááá¯ááºá áœááºážááŸááááºá áá¬áá¬áá²á·áááá¯áá¬ááá¯áŠážá á¬ážáá±ážáááºá
AWS Landing Zone á¡ááœáẠTerraform Module ááᯠááááºáááºááŒááºážá
áá¡áá±á¬áºááŒá¬ á¡áá¯ááºááŒáá¯ážá
á¬ážááŒá®ážáá±á¬ááºá áááºážááᯠáááºááŒááᬠáá»á±áááºáááºá
á
áááºáááºá ááá¯ážááŸááºážá
áœá¬ááœáá·áºáá«á main.tf
ááá·áºáá¯ááºááá¯á·
module "landing_zone" {
source = "TerraHubCorp/landing-zone/aws"
version = "0.0.6"
root_path = "${path.module}"
account_id = "${var.account_id}"
region = "${var.region}"
landing_zone_components = "${var.landing_zone_components}"
}
ááŸááºáá»ááº- ááœáá·áºáááºáá±áá»á¬áá«á
á±á variables.tf
ááŸáá·áº áááºááá¯á¡ááºááá»áŸá¡áá¬á¡á¬ážáá¯á¶áž outputs.tf
.
áá¬ážáááºáááá¯ááá¯ááœááºáá°á
á±áááºá áá»áœááºá¯ááºááá¯á·ááœáẠáá¯á¶áá±áááºááá¯ážáá»á¬ážááᯠááá·áºááœááºážáá¬ážáá«áááºá terraform.tfvars
:
account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
[...]
}
ááá¯ááá¯áááºááŸá¬ ဠmodule ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá« terraform
áááºááá¯á¡ááºáááá·áºááẠ-
- áááºááá¯ážáá»á¬ážááᯠááŒá±á¬ááºážáá²áá«á
account_id
Оregion
AWS á¡ááœá²á·á¡á ááºážááŸá áá±áá¬áá»á¬ážááŸáá·áº ááá¯ááºáá®áá±á¬ ááá·áºááá¯ááºááá¯ááºá - áááºááá¯ážáá»á¬ážááᯠááŒá±á¬ááºážáá²áá«á
landing_zone_components
áááºá AWS Landing Zone á¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á ááŸáá·áº ááá¯ááºáá®áá±á¬á - ááŒááºááŒá¯
s3://terraform-aws-landing-zone/mycompany
áááºáááááºááá¯á·ááẠS3 ááŸáá·áº áá±á¬á·á¡ááŸá±á· S3ááá¯ááºááœá±ááᯠáááºááŸá¬ ááááºážááá²á.tfvars
(ááá¯á·ááá¯áẠááá¯ááºáá»á¬ážáá®ááá¯á· áááááááºážááŒá±á¬ááºáž.tfvars
ááá·áºáá±áááœááºážááá¯ááŸá±á¬ááºááŸá¯ááœááº)á
ဠmodule ááœáẠááŒáá·áºáá»ááºááá¯ááºáá±á¬ á¡á
áááºá¡ááá¯ááºáž áááºááááºážá áá¬áá»á® ááá¯á·ááá¯áẠáá±á¬ááºáá±á«ááºážáá»á¬ážá
áœá¬ ááŸáááá¯ááºáá±á¬áºáááºáž áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºááẠááá¯á·ááá¯áẠá¡áá¯á¶ážááŒá¯áááá·áºáááºááá¯ááºáá«á runtime ááœááºá ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ááŒá±áá¯á¶ááá
áºá
áááºáá
áºááá¯ááºážááá¯ááºáá±á¬á¡á
áááºá¡ááá¯ááºážáá»á¬áž landing_zone_components
áá»á
áºáá»á°ááŸá¯áá¶ááááá·áºáááºá
áá±á¬ááºáá»ááº
áá±á¬ááºáááºáá»á¬ážá¡á¬áž cloud áá¬ááá¡ááá¯á¡áá»á±á¬ááºá áá áºááŒáá·áº áááºáá±á¬ááºáá¬ááœáẠáá°áá®ááẠáá»áœááºá¯ááºááá¯á·áááŒáá¯ážáááºážá¡á¬ážáá¯ááºááŸá¯á á¡áá®ážá¡ááœáá·áºáá»á¬ážááᯠáá»áŸáá±áááá·áºá¡ááœáẠáá»áœááºá¯ááºááá¯á· áááºážááŒá±á¬ááºáá¯ááºáá°áááá«áááºá AWS Landing Zone á¡ááœáẠTerraform module ááẠAWS á¡áá±á¬ááºážáá¯á¶ážá¡áá±á·á¡áá»áá·áºáá»á¬ážááᯠá¡ááŒá±áá¶á á¡áá±á¬áá·áºáá»á¬ážá áœá¬ááŒáá·áº áá¯á¶ááŒá¯á¶áá±á¬ AWS áááºáááºážáá»ááºááᯠáá»ááºááŒááºá áœá¬ áááºááŸááºáá±ážááá¯ááºáá±á¬ á¡ááœá²á·á¡á ááºážáá»á¬ážááᯠáá°áá®áá±ážááá·áº áá±á¬ááºáááºááŒá±ááŸááºážáá»ááºáá áºáá¯ááŒá áºáááºá AWS ááẠá¡ááœááºáá»ááºááŒááºáá±á¬ á¡ááŸáááºá¡áá¯ááºááŒáá·áº ááŒá®ážááœá¬ážáá¬áááºááᯠáá»áœááºá¯ááºááá¯á· áá±á¬ááºážá áœá¬ááááŸááá¬ážááŒá®ážá á¡ááŒá±áá¶áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááœáŸááºážááŒá¯á¶áᬠá¡ááŒá¬ážáá±á¬ AWS áá¯ááºáá¯ááºááŸá¯ááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áºáááºáž áá±á«ááºážá ááºáá¬ážááá·áº terraform ááŒá±ááŸááºážáá»ááºáá áºáá¯ááᯠáá»ááºááŒááºá áœá¬ áá±á¬áºáá±á¬ááºááœá¬ážááẠáááááŒá¯áá«áááºá
áá«áá«áá²á áá»áœááºá¯ááºááá¯á·ááẠááá·áºááŸááºáá»ááºáá»á¬ážááᯠá
á±á¬áá·áºáá»áŸá±á¬áºáá±ááŒá®áž ááá·áºá¡á¬áž ááááºááŒá¬ážá¡ááºáá«áááºá
source: www.habr.com