Ўсім прывітанне! У снежні OTUS запускае новы курс
На працягу больш за пяці гадоў існавання наша каманда ў Mitoc Group нястомна працавала над тым, каб дапамагаць буйным арганізацыям паспяхова праводзіць лічбавую трансфармацыю і будаваць ці пераносіць свой лічбавы след у воблака AWS. Іншымі словамі, цытуючы нашых сяброў з AWS: "Нашы кліенты зноўку адкрываюць сябе з AWS". Гэта бясконцыя намаганні па перавынаходстве і спрашчэнні механік ад імя саміх кліентаў, і AWS выдатна спраўляецца з рашэннем складаных праблем з дапамогай простых у засваенні рашэнняў.
AWS Landing Zone (
Што такое AWS Landing Zone?
Як абвяшчае інфармацыя з афіцыйнай крыніцы:
AWS Landing Zone - гэта рашэнне, якое дапамагае кліентам хутчэй наладжваць бяспечнае асяроддзе AWS з некалькімі ўліковымі запісамі, грунтуючыся на лепшых практыках AWS. Пры вялікай колькасці варыянтаў, настройка асяроддзя з некалькімі ўліковымі запісамі можа заняць значны час, а таксама ўключаць у сябе настройку мноства акаўнтаў і сэрвісаў, і патрабаваць глыбокага разумення працы сэрвісаў AWS.
Рашэнне AWS Landing Zone значна знізіла складанасць і ўзгодненасць аналагічных адзін аднаму шаблонаў праектавання, якія прадастаўляюцца розным кліентам. З іншага боку, нашай камандзе прыйшлося пераналадзіць некаторыя кампаненты CloudFormation у якасці кампанентаў Terraform, каб выкарыстоўваць іх далей для аўтаматызацыі.
Таму мы задаліся пытаннем, чаму б не пабудаваць усё рашэнне AWS Landing Zone у Terraform? Ці можам мы гэта зрабіць і ці вырашыць гэта праблемы нашых кліентаў? Спойлер: вырашыць і ўжо вырашае! 🙂
Калі не варта выкарыстоўваць AWS Landing Zone?
Калі вы маеце справу са звычайнымі хмарнымі сэрвісамі і хмарнымі рэсурсамі ў рамках аднаго або двух уліковых запісаў AWS, гэтыя меры могуць апынуцца залішнімі. Усе, хто да гэтага пункта не адносяцца, могуць працягваць чытанне 🙂
Што трэба ўлічыць перад пачаткам працы?
У многіх буйных арганізацый, з якімі мы працавалі, ужо ёсць нейкая стратэгія выкарыстання хмарных тэхналогій. Кампаніі змагаюцца за паспяховае ўкараненне хмарных сэрвісаў, не маючы дакладнага бачання і сфармуляваных чаканняў. Калі ласка, выдаткуйце час на тое, каб вызначыцца са сваёй стратэгіяй і зразумець як AWS у яе ўпісваецца.
Вызначаючыся са стратэгіяй, паспяховыя кліенты AWS Landing Zone актыўна акцэнтуюць увагу на наступным:
- Проста аўтаматызацыя - гэта не варыянт. Пераважная натыўная хмарная аўтаматызацыя.
- Каманды паслядоўна выкарыстоўваюць адны і тыя ж механікі з тым жа наборам інструментаў для падрыхтоўкі хмарных рэсурсаў. Лепш выкарыстоўваць Terraform.
- Самыя прадуктыўныя карыстачы хмарных сэрвісаў маюць магчымасць ствараць перавыкарыстоўваемыя працэсы і падаваць іх у якасці перавыкарыстоўваных сэрвісаў замест перавыкарыстоўванага кода. Пераважна выкарыстанне бессервернай архітэктуры.
Прадстаўляем модуль Terraform для AWS Landing Zone
Пасля некалькіх месяцаў напружанай працы я з задавальненнем уяўляю вам
Каб пачаць працу, проста уключыце 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"
[...]
}
Гэта азначае, што пры выкарыстанні гэтага модуля terraform
вам спатрэбіцца:
- Змяніць значэння
account_id
иregion
на вашыя ўласныя, якія адпавядаюць дадзеным у AWS Organization; - Змяніць значэння
landing_zone_components
на тыя, якія адпавядаюць вашаму варыянту выкарыстання AWS Landing Zone; - Змяніць
s3://terraform-aws-landing-zone/mycompany
на ваш блок S3 і прэфікс ключа S3, дзе вы будзеце захоўваць файлы.tfvars
(або абсалютны шлях да файлаў.tfvars
у вашым лакальным сховішчы).
Гэты модуль можа мець дзясяткі, сотні ці тысячы разгортваюцца кампанентаў, але не ўсе з іх павінны быць і будуць разгорнутыя. Падчас выканання, кампаненты, якія не з'яўляюцца часткай карты зменных landing_zone_components
будуць праігнараваны.
Заключэнне
Мы вельмі рады і ганарымся тым, што дзелімся пладамі нашых намаганняў, якія дапамагаюць кліентам ствараць натыўную хмарную аўтаматызацыю. Модуль Terraform для AWS Landing Zone - гэта яшчэ адно рашэнне, якое дапамагае арганізацыям хутчэй наладзіць бяспечнае асяроддзе AWS з некалькімі ўліковымі запісамі, засноўваючыся на лепшых практыках AWS. Мы добра ведаем, што AWS развіваецца шалёна хутка, і мы імкнемся таксама хутка развіваць рашэнне terraform, якое ахоплівае ўсе асновы, а таксама інтэгруецца з іншымі працоўнымі рашэннямі AWS.
На гэтым усё. Чакаем вашыя каментары і запрашаем на
Крыніца: habr.com