회사의 성장에 따라 관리하는 인프라의 규모도 함께 성장합니다. 이에 따라 테라폼의 코드는 점점 거대해지고 복잡해집니다. 어떻게 하면 테라폼 코드를 유연하게 확장시켜 나가며 관리할 수 있을지에 대한 노하우를 공유합니다.
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.Scalable Terraform Code Managementഛ оמೠ పۄಬ ٘ ҙܻ߅ ߽ (Byungjin Park) · ۽٘ (Claud) · Site Reliability Engineer @ ӔಕHashiTalks: KoreaApril 28, 2022
View Slide
speakerߊ ࣗѐByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.߅߽ / @posquit0 / ۽٘ (Claud)(അ) Site Reliability Engineer @ Ӕಕ() Director of Infrastructure Division @ ࢎܻই() Software Architect @ ১פযझ () Co-founder & Software Engineer @ ۖHashiCorp Ambassador / AWS Community Builder Ҵઁ೧ఊഥ DEFCON CTF ࠄࢶ 6ഥ ೞद ೠҴ ࢎਊ ݽ ೠҴ য়ࣗझ GitHub 15,000ѐ ࢚ झఋܳ ߉ ۽ં
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.intro
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.Objectiveintro“ઑ ழݶࢲ ҙܻೞח పۄಬ ٘о ࠂ೧Ҋ যਃ.”“ޖट పۄಬ ݽٕਸ ٜ݅Ҋ যڌѱ ҙܻ೧ঠೡ х উ৬ਃ.”“ب ೞա పۄಬ ਕझಕझী ইঠ ೞח ܻࣗझ ҃҅ח য٣өੌөਃ?”“ࠂغח పۄಬ ٘о ցޖ ݆ইҊ যਃ.”ਤ৬ э Ҋਸ ೞҊ ݶ ઁо ҕਬ ܻ٘ח ղਊ ೧Ѿ଼ਸ ח җী ب ؼ Ѫۄ ࢤпפ.ޛۿ ب زੌೠ Ҋਸ ҅ࣘ ೞҊ যਃ. ࠄ ߊ ղਊ ইצ ઁо పۄಬ ٘ܳ ೞח ࣁੑפ. 😄
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.Subjectintroపۄಬ بҳ৬ ӝࠄ ޙߨী ೧ ೧ೞҊ .ࠄ ߊ ղਊਸ ೧ೞӝ ਤ೧ࢲח ӝࠄੋ పۄಬ بҳ৬ ޙߨী ೠ ೧ܳ ਃ۽ פ.
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.Agendaintroഛ оמೠ పۄಬ ٘ ҙܻܳ ਤೠ ਗపۄಬ ߡ ҙܻపۄಬ ۄ٘MISCపۄಬ ݽٕਸ ࢎਊೞۄ৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄݽٕ ߡਸ ҙܻೞۄف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄ٘৬ ؘఠܳ ܻ࠙ೞۄೞա ਕझಕझী ݽٚ Ѫਸ ݃ۄਕझಕझ р ઓࢿਸ ҙܻೞۄݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ೞ ݃ۄ
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ഛ оמೠ ٘…?
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ഛ оמೠ ٘…?੍যঠ ೞח ٘ ন ࣻ೧ঠ ೞח ٘ ন
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ഛ оמೠ ٘…?੍যঠ ೞח ٘ ন ࣻ೧ঠ ೞח ٘ ন ਬࠁࣻоةࢿ
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊೞۄ
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕ ޖੋо?ৈ۞ పۄಬ ܻࣗझܳ ೞա ֤ܻ Ӓܛਵ۽ ҙܻೞӝ ਤ೧ ࢎਊೞա ٣۩షܻ ղী .tf .tf.json ੌ۽ ҳࢿػ ۩࣌ݽٕ (Module)
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕ ޖੋо?పۄಬ CLI о plan / apply पઁ۽ ࣻ೯ೞѱ غח স ٣۩షܻ పۄಬ ٘ ݽܖ ݽٕ (Root Module)ରੌ٘ ݽٕ (Child Module)ܲ ݽٕ పۄಬ ٘ ղীࢲ ഐ(ଵઑ)ೞӝ ਤೠ ݾਵ۽ ࢿػ పۄಬ ٘ ݽಞ࢚ খਵ۽ әೞח ݽٚ ݽٕ ରੌ٘ ݽٕਸ ೧ਃ.ഐ
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕܲ ݽٕ పۄಬ ٘ ղীࢲ ഐ(ଵઑ)ೞӝ ਤೠ ݾਵ۽ ࢿػ పۄಬ ٘ ݽపۄಬ ޙߨীࢲ module ࠶۾ਸ ా೧ ഐೞѱ غח పۄಬ ٘పۄಬ ݽٕ ޙߨਸ ਊೞݶ ৈ۞ ܻࣗझܳ ೠ ߣী औѱ ҙܻೡ ࣻ যਃ.ࢤࢿ
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊ೧ঠ ೞח ਬ: ܖ (Nested Loop)aws_iam_useraws_iam_user_group_membership aws_iam_user_policy_attachment0..1 1 1 0..NAWS ࢎਊ৬ ҙ۲ػ ܻࣗझٜ ઙܨ৬ ܻࣗझ р ҙ҅ܳ ঈ೧ঠ ೧ਃపۄಬਵ۽ AWS ࢎਊܳ ҙܻೠҊ о೧ࠅѱਃ
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊ೧ঠ ೞח ਬ: ܖ (Nested Loop)aws_iam_user ܻࣗझী ೧ࢲ݅ ܳ for_eachա countܳ ా೧ ߈ࠂਵ۽ ҙܻೞب۾ ೞח Ѫ एਕਃaws_iam_useraws_iam_user_group_membershipaws_iam_user_policy_attachment0..1110..N
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊ೧ঠ ೞח ਬ: ܖ (Nested Loop)aws_iam_user ܻࣗझ৬ 1:1 ҙ҅ܳ оח ܻࣗझب ߹ ޙઁо غ ঋભaws_iam_useraws_iam_user_group_membershipaws_iam_user_policy_attachment0..1110..N
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊ೧ঠ ೞח ਬ: ܖ (Nested Loop)aws_iam_useraws_iam_user_group_membershipaws_iam_user_policy_attachment0..1110..Naws_iam_user ܻࣗझ৬ 1:N ҙ҅ܳ оח ܻࣗझо ݶ Ҏ ইפ.https://www.daveperrett.com/articles/2021/08/19/nested-for-each-with-terraform/🤪🤪
modulex Nపۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊ೧ঠ ೞח ਬ: ܖ (Nested Loop)aws_iam_useraws_iam_user_group_membershipaws_iam_user_policy_attachment0..1110..N݃ ಣചܳ غਸ ࣻ णפ… 😇🥳ݽٕਸ ࢎਊೞѱ غݶ ࠂೠ ё(ܻࣗझ )ਸ ױࣽೞѱ ҙܻೡ ࣻ Ҋ,
పۄಬ ݽٕਸ ࢎਊೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ݽٕਸ ࢎਊ೧ঠ ೞח ਬ: ङച (Encapsulation)ёೱ ۽Ӓ۔ ೨ब ѐ֛ ೞաё ب৬ ة݀ࢿਸ ֫ӝ ਤ೧ ё ݽٕചܳ ೱೞח Ѫё ݽٕചо ੜ ܖযݶ ݽٕ ױਤ ࢎਊ ݒ ਊङച (Encapsulation)secrets-manager-secretaws_secretsmanager_secretaws_secretsmanager_secret_policyaws_secretsmanager_secret_rotationaws_secretsmanager_secret_versionaws_secretsmanager_secret_versionaws_secretsmanager_secret_versionрಞೠ ਬࠁࣻ!!
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄ
৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ۨझܻೞदীࢲ ҕधਵ۽ ೞח పۄಬ ۽߄؊ ߂ ݽٕ ࣗҕѐػ పۄಬ ݽٕਸ औѱ ই ഝਊೡ ࣻ పۄಬ ۨझܻ (Terraform Registry) https://registry.terraform.io/browse/modules
৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.৻ࠗী ҕѐػ పۄಬ ݽٕо ݆ ੋӝܳ ՑҊ ח AWS పۄಬ ݽٕਸ ҙܻೞח GitHub ઑHashiCorp Ambassador ೠ ݺੋ Anton Babenkoо ܻ٘GitHub: terraform-aws-modules https://github.com/terraform-aws-modules/DevOps ޙ ӝস Cloud Posseীࢲ ઁҕೞח పۄಬ ݽٕGitHub: Cloud Posse https://github.com/cloudposse/ߊо ৈ۞ పۄಬ ݽٕਸ য়ࣗझ۽ ҙܻೞҊ ח GitHub ઑ 😄GitHub: Tedilabs https://github.com/tedilabs/GitHub ۨನషܻী ⭐ח ൨ ؾפ. 🤣
৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ޙઁ৻ࠗ పۄಬ ݽٕਸ ߄۽ ࢎਊೞѱ ؼ ҃, ٘ ాઁӂ ઑ ղী হয ৈ۞ ޙઁܳ ѻਸ ࣻ णפ.ݽٕী बпೠ ࠁউ ޙઁਸ ই Ҋঠ ೠݶ?AWS ۽߄؊ नӏ ߡীࢲ ୶оػ ӝמਸ ਊೞҊ रؘ, ݽٕ ղী ୶࢚ച غয Ѥٜ ࣻо হݶ?ܻࣗझীࢲח ਗ೧ח ӝמؘ, ݽٕীࢲ ೧ ӝמী ೠ ੋఠಕझܳ ઁҕ೧ ঋҊ ݶ?
৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.೧Ѿ଼పۄಬ ݽٕਸ ࢿೞѢա, ৻ࠗ ݽٕ ࠂઁࠄਸ ࢎਊೞৈ ٘ ాઁӂਸ ઑীࢲ оҊ যঠ פ.ઑ ղীࢲ పۄಬ ݽٕਸ ࢸ҅ೞҊ ࢿೞৈ ҙܻDIY (Do It Your Self)৻ࠗ ݽٕਸ ࢎਊೞҊ ೠݶ ઑ ղࠗী ࠂઁ റ ࢎਊUse After Fork
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ݽٕ ߡਸ ҙܻೞۄ
ݽٕ ߡਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.۽ஸ ݽٕపۄಬ ݽٕਸ ۽ஸ ੌ ҃۽ܳ ా೧ ࢎਊೠݶ ಞܻೞ݅ ݽٕ ߡਸ ࢶఖೡ ࣻ হणפ.
ݽٕ ߡਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ޙઁৈ۞ ਕझಕझীࢲ ࢎਊੋ ۽ஸ ݽٕী ੜޅػ ࣻਸ ೠݶ যڌѱ ؼөਃ? 🤔service-upload-devs3-bucketservice-payment-devlog-aws-cloudtrailservice-payment-prodservice-upload-prodWorkspacesLocal Module
ݽٕ ߡਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ਗѺ ݽٕGit, పۄಬ ۨझܻ, పۄಬ ۄ٘ ١ ਗѺ ݽٕਸ ࢎਊೠݶ ౠ ߡ ݽٕਸ ࢎਊೞب۾ ೡ ࣻ णפ.
ݽٕ ߡਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ਗѺ ݽٕп ਕझಕझীࢲ ਗѺ ݽٕ ౠ ߡਸ ࢎਊೠݶ ݽٕਸ ߸҃ೞ؊ۄب ೱਸ ߉ ঋب۾ ೡ ࣻ णפ.service-upload-devs3-bucket v0.0.2service-payment-devlog-aws-cloudtrailservice-payment-prodservice-upload-prodWorkspacesRemote Modules3-bucket v0.0.3s3-bucket v0.0.1
ݽٕ ߡਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ߡ ઁড ઑѤ (Version Constraint)ܳ ੜ ਊೞݶ ࠛਃೠ ߡ ч সؘ ࠼بࣻܳ ੌ ࣻ णפ!ݽٕ ࠶۾ ղ version ߡ ઁড ઑѤ धਸ ਗפ.1.2.0= 1.2.0>= 1.2.0~> 1.2.0~> 1.0>= 1.2.0, < 2.0.01.2.0 ߡ1.2.0 ߡ1.2.0 ߡ ࢚ ୭न ߡ1.2.0 ߡ ࢚ 2.0.0 ߡ ݅ ୭न ߡ1.2.x ߡ ୭न ߡ1.x ߡ ୭न ߡhttps://www.terraform.io/language/expressions/version-constraints
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄ
ف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.যڃ ݽٕਸ ٜ݅ Ѫੋо?ݽٕਸ ࢎਊೞӝী খࢲ, যځೠ ݽٕٜਸ ٜ݅য ਊೡ ੜ Ҋ೧ঠ פ.DevOps A DevOps Bܻ ઑ ળҗ ஶ߮࣌ ਊػ S3 ߡఉ ݽٕਸ ٜ݅!খਵ۽ S3 ߡఉ ਃೞݶ ݽٕਸ оҊ زੌೠ ળҗ ஶ߮࣌ਸ ਊೡ ࣻ ਸѢঠ.Ҷ S3 ߡఉ ݽٚ ২࣌ਸ ࢸೡ ࣻ ب۾ ਬبܳ ਃ হա?աী ৻ாझо ߊࢤ೮ਸ ٸ ೞӝ য۰ਕݶ যڌѱ ೧?ݽٕ ӝઓ ܻࣗझ ӝמਸ ઁೠदఃݶ উػҊ ࢤп೧. ӝઓ ܻࣗझ ݽਸ ਬোೞѱ ࢎਊೡ ࣻ ب۾ ب৬ঠ!ࢶ S3 ߡఉҗ ҙ۲ػ ܻࣗझٜ ҙ҅ܳ ঈ೧ࢲ ੜ ୶࢚ചػ ೞա ё۽ അೡ ࣻ ب۾ ݽٕਸ ݅٘חѱ যٸ?
ف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.যڃ ݽٕਸ ٜ݅ Ѫੋо?ח ࠁా ف о ഋక పۄಬ ݽٕਸ ઑ ղীࢲ ҙܻೞৈ ഝਊೞҊ णפ.झఖ (Stack)ݽٕ (Module)పۄಬ ݽٕ (Terraform Module)ӝઓ ܻࣗझٜਸ ਬೠ ё ױਤ۽ द ୶࢚ചೠ ܻࣗझ ݽઑ ࠁܳ Ҋ ঋب۾ ೠযځೠ ઑীࢲٚ ਊبী ޖҙೞѱ ࢎਊೞӝ औب۾ ೞח Ѫ ݾݽٕ (Module)ઑ ӝࣿ ળҗ ஶ߮࣌ ਊغয ઁೠػ ੋఠಕझ݅ ઁҕೞח పۄಬ ݽٕझఖ ܻࣗझ৬ ݽٕ ݽਵ۽ ҳࢿࢎਊ ਊب৬ ২࣌ਸ ઁೠೞৈ ࢎਊࢿਸ ೱ࢚दఃҊ ӝࣿ ળਸ ъઁ ਊೞח Ѫ ݾझఖ (Stack)
ف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.द: ecr-repositoryecr-repositoryaws_ecr_repositoryaws_ecr_repository_policyaws_ecr_lifecycle_policyecr-repositoryAWS Resources Module Stackۨನషܻ ଼ ࢸ ਬ ۄࢎ ଼ ࢸ ਬۨನషܻ ଼ ࢸ ઁೠ ࢸ ೲਊ (IAM Policy Deny ଼ਵ۽ ӂೠ ઁೠ) ۄࢎ ଼ ࢸ ࠛо (ܻ ࢸػ ۄࢎ ଼)
ف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.द: micro-backendecr-repository micro-backendModule Stackߔূ٘ ݃۽ࢲ࠺झ ੋۄ ܻࣗझܳ ୶࢚ചೠ झఖࢲ࠺झ ܴ, ജ҃, DB ࢎਊৈࠗ ߂ ࢸ, Redis ࢎਊৈࠗ ߂ ࢸ ١ ୭ࣗೠ ২࣌݅ ੋఠಕझ۽ ֢eks-irsakms-keysecrets-manager-secretelasticache-redisrds-mysqlkafka-topic
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.٘৬ ؘఠܳ ܻ࠙ೞۄ
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ؘఠо ೞ٘٬ػ ؘ٘ఠ৬ ٘о э ҙܻغח ҃, ؘఠ ୶оܳ ਤ೧ ೦࢚ ӝઓ ࠶۾ਸ ࠂࢎ ࠢৈ֍ӝೞѱ ؾפ.٘ ࢎਊࢿ ԧ!٘ ࢎਊࢿ ԧ!
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.٘ীࢲ ؘఠ ܻ࠙ೞӝ: for_each ഝਊ٘ীࢲ ؘఠܳ ܻ࠙ೞӝ ਤ೧ࢲח ࢶ زੌೠ ёী ೞৈ for_eachա countܳ ా೧ ҙܻೡ ࣻ ب۾ ࣻ ਃפ.
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.٘ীࢲ ؘఠ ܻ࠙ೞӝ: variable ഝਊపۄಬ variableਸ ਊೞৈ ؘఠח ৻ࠗ۽ࠗఠ ੑ߉ਸ ࣻ ب۾ ҳࢿೡ ࣻ णפ.
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.variable ۽ ࠙ೠо?ਕझಕझীࢲ ҙܻೞח ܻࣗझо ݆ইࣻ۾ variableਸ ాೠ ؘఠ ੑী ೠ҅ܳ ו՞פ.അप ӡযח variable
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.YAML۽ ؘఠ ੑೞӝݽٚ ѐߊٜীѱ ࣼೞҊ оةࢿ જ YAML۽ ؘఠܳ ҙܻ೧ࠅ ࣻח হਸөਃ?
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.YAML۽ ؘఠ ੑೞӝઁ AWS Secrets Manager द݁ ־ҳա YAML ੌ ߸҃ਵ۽ ҙܻೡ ࣻ ѱ غणפ.
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.try ೣࣻ…?try ೣࣻо lookup ࠁ оةࢿ જҊ ؊ নೠ ਬૉாझী ਊ оמפ.ࢤࣗೠؘ?try-catch ੋо? ӡ ੋ ׳ оמࣽࢲ۽ ੋ അध(argument expression)ਸ ೧ࢳ য়ܨо ߊࢤೞ ঋח ߣ૩ ੋ чਸ ߈ജtry(arg 1, arg 2, …, arg N)map ؘఠীࢲ ౠ keyী ೧ೞח valueܳ ߈ജ೧ keyо হਸ ҃ ӝࠄ ч(default) ߈ജlookup (map, key, default)ࠁా lookupਸ ݆ ॳ؍ؘ!try(map.key, default)
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ղ ӣী ೞա ؊పۄಬ templatefile ೣࣻܳ ਊೞৈ YAML ੌ ղ మ݁ ӝמਸ ഝਊೡ ࣻ णפ.String Interpolation оמೞפ..!! 🫣
٘৬ ؘఠܳ ܻ࠙ೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.೧ೖূ٬IaC / GitOps ਸ ೣԋ ־ܾ ࣻ णפ.ѐߊ DevOps / SRESecret Managerী द݁ ೞա ୶о೧ ࣻ ѷࣗ?config.yaml ੌী ೦ݾ ࣻೞৈ PR ৢܻदয়Secret Managerী द݁ ઁ ਃ হਵפ ઁѢ೧दয়config.yaml ੌী ೦ݾ ઁѢೞৈ PR ৢܻदয়ઁ పۄಬ ٘ܳ ݽܰ؊ۄب ੋۄ ܻࣗझ ҙܻী औѱ ଵৈೡ ࣻ Ҋ,
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ೞա ਕझಕझী ݽٚ Ѫਸ ݃ۄ
ೞա ਕझಕझী ݽٚ Ѫਸ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.৬ ҙ۲ೞৈ Ҋ र ղਊ ցޖ ݆ইী ܲ ӝഥ۽ ೧ ղਊਸ ܖب۾ ೞѷणפ.ਸ ӝ೧ࣁਃ…! 👋👋👋
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ਕझಕझ р ઓࢿਸ ҙܻೞۄ
ਕझಕझ р ઓࢿਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ਕझಕझ ৻ࠗ ؘఠ ഝਊਕझಕझ ৻ࠗ ؘఠܳ ഝਊೞӝ ਤೠ ߑߨਵ۽ పۄಬ ؘఠ ࣗझܳ ઁҕפ.۽߄؊ীࢲ ઁҕೞח ؘఠ ઑഥ ݾ ܻࣗझ (GET / LIST) data ࠶۾ਸ ా೧ ؘఠ ࣗझ (Data Source)పۄಬ ۽߄؊ܳ ా೧ ઁҕೞח ؘఠࣗझ৻ࠗ పۄಬ ਕझಕझ ࢚క ؘఠ ઑഥ ݾterraform_remote_state ؘఠ ࣗझhttps://www.terraform.io/language/data-sourceshttps://registry.terraform.io/providers/hashicorp/terraform/latest/docs/data-sources/remote_state
ਕझಕझ р ઓࢿਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ݺदਵ۽ ਕझಕझ ઓࢿ ੑೞӝYAML ࢸੌ remote_states ೦ݾਸ ೞח Ѫਵ۽ ਃೠ ઓ ਕझಕझܳ ੑೡ ࣻ णפ.
ਕझಕझ р ઓࢿਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ਕझಕझ р ઓ ҙ҅ ҙܻп ਕझಕझо যځೠ ઓبܳ оҊ ח ҙܻೡ ਃо णפ.network-vpc domain-certnetwork-lbdomain-zoneৈ۞ ਕझಕझ۽ ܻ࠙ೞৈ ҙܻೞݶ ো п ਕझಕझ р ઓࢿ ߊࢤೞѱ ؾפ.
ਕझಕझ р ઓࢿਸ ҙܻೞۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ࣽജ ଵઑ য়ܨਕझಕझ р ҙ҅ীࢲ ࣽജ ଵઑо ߊࢤೞݶ ҙܻо ࠂ೧Ҋ, ࢚ ޅೠ गܳ ݅զ ࣻ ਵפ ઑब೧ঠ פ.network-vpc domain-certnetwork-lbdomain-zoneࣽജ(Cycle) ߊࢤ
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ೞ ݃ۄ
ݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.झझ۽ীѱ ޙ೧ࠁӝݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ח ब ֍য ل ਃо णפ. 😅زੌೠ সী ೧ ӝઓ ࢿػ పۄಬ ٘о חо?࢜܂ѱ పۄಬ ٘ܳ ࢿೡ݅ఀ दр ৈਬо חо?୶റী زੌೠ স ߊࢤ೮ਸ ٸ ࣗਃ दрਸ ױ୷दெחо?IaC (Audit, Code Review, Documentation ١) ೧ ٘ী ೧ ਬബೠо? ܲ ߑߨਵ۽ ٜ݅য زੌ ܻࣗझо ݶ ݽف పۄಬਵ۽ ݃Ӓۨ࣌ਸ ೯ೡ ࣻ חо?
ݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ҙܻ ܻࣗझ ࠙ܨղо పۄಬ ٘۽ ࢿೞӝ दೞݶ, زܐب زੌೞѱ সਸ ೧ঠ ೠח Ѫਸ ݈ইঠ פ. 👯👯۽߄؊ ࠙ܨ ܻࣗझ పۄಬ ҙܻ ৈࠗAWS VPC VPC OAWS VPC Subnet OAWS VPC NACL XAWS Route53 HostedZone OAWS Route53 HostedZone Record X, NS / TXT ۨ٘݅ ҙܻGitHub Organization Team OGitHub Repository Secret X ղী పۄಬਵ۽ ҙܻೞח ܻࣗझ ઙܨী ೠ ܳ ݅٘ח Ѫ ਃפ.
ݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ೞ ݃ۄByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ҙܻ ழߡܻ ஏdriftctl ৬ э بҳܳ ਊೞݶ పۄಬ ҙܻ ܻࣗझী ೠ ୶ਸ औѱ ೡ ࣻ णפ.పۄಬ ࢚క ؘఠ৬ पઁ ੋۄ ܻࣗझܳ ࠺Үೞৈ IaC ழߡܻ ஏపۄಬ ҙܻ ܻࣗझ ৻ࠗ ߸҃ࢎ೦ ୶AWS / Azure / GCP / GitHub ۽߄؊ ਗdriftctl https://github.com/snyk/driftctl ܻࣗझ IaC (పۄಬ ٘)۽ ҙܻغҊ ח ܻࣗझ ࠺IaC ழߡܻ
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.misc
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ߡ ҙܻmiscо ഝߊೞѱ ҙܻغҊ ח పۄಬ ߡ ҙܻtfenvࠁ নೠ ӝמਸ ઁҕtfswitch https://github.com/warrensbox/terraform-switcherо ݆ ࢎਊغח పۄಬ ߡ ҙܻrbenvী хਸ ߉ই ѐߊtfenv https://github.com/tfutils/tfenvৈ۞ పۄಬ ਕझಕझܳ ҙܻೠݶ పۄಬ ߡ ҙܻח ࣻੑפ.п పۄಬ ٘ ٣۩షܻী .terraform-version
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.పۄಬ ۄ٘mischttps://app.terraform.ioTerraform Cloudۄࡁ ۽߄؊ / ݽٕ ࣗ ޖܐ ઁҕ࢚క ࣗ ޖܐ ઁҕ (Lock ӝמ ઁҕ)ਗ 5ݺө ޖܐపۄಬ ۄ٘ীࢲ ҙܻೞח ীীࢲ పۄಬ ٘ ਗѺ प೯Remote प೯ ݽ٘ࢎਊ ەীࢲ పۄಬ ٘ प೯ (࢚కࣗ݅ పۄಬ ۄ٘ ਊ)Local प೯ ݽ٘ ੋਗ పۄಬ ٘ܳ ҙܻೠݶ పۄಬ ۄ٘ܳ ࢎਊೞৈ ޖܐ۽ নೠ ӝמਸ ഝਊೡ ࣻ णפ.
summaryByungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.1. పۄಬ ݽٕਸ ࢎਊೞۄ2. ৻ࠗ ݽٕਸ ࢎਊೞ ݃ۄ3. ݽٕ ߡਸ ҙܻೞۄ4. ف ઙܨ పۄಬ ݽٕਸ ҙܻೞۄ5. ٘৬ ؘఠܳ ܻ࠙ೞۄ6. ೞա ਕझಕझী ݽٚ Ѫਸ ݃ۄ7. ਕझಕझ р ઓࢿਸ ҙܻೞۄ8. ݽٚ Ѫਸ పۄಬਵ۽ ҙܻೞ۰ೞ ݃ۄపۄಬ ߡ ҙܻܳ ࢎਊೞపۄಬ ۄ٘ જ݄݃ਵ۽…
ࣻಣੋ ࣗా — ә X / যܴ / न܉৬ ج / ైݺೠ ࠁ ҕਬਯҗ ଼ — מز সޖ ࣻ೯ / ਯ ౸ױૌѩѱ ࢿ — աࠁ ڪযդ زܐ / ਕ / ૌѢࢎਊ ब ࢎҊ — ࢎਊ о ୭ࢶ / ࢎਊ৬ ࢲ োѾrecruitingੋۄ ীࢲ ೣԋ ೡ زܐܳ ইਃ! 👋Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.ࣁೠ ղਊ daangn.team ਸ ߑޙ೧ࣁਃ! :)SRE (Site Reliability Engineer)Ӕಕ ੋۄ ҳ୷ ߂ Data EngineerӔಕ ؘఠ ۖಬ ҳ୷ ߂ ܻח ۧѱ ੌ೧ਃഌఖ ߂ ࠂਬ۽ ോо / ਬো ృӔ ߂ ఖӔޖ / धࢎ ߂ নೠ рध ઁҕझగ٬ ؘझ & ೲݢ۞ ઁҕ / بࢲ ҳݒ ߂ Үਭ࠺ ਗ֎… ա৬ ೣԋ పۄಬ ٘ ӫ ঋѷࣗ..? 👨🦳
Byungjin Park · ⌂ posquit0.com · posquit0Copyright © 2022 All Rights Reserved.End of DocumentVisit my AMA (https://github.com/posquit0/ama) for any question!