HCL仿§ãäžžæèšããã«Terraform Associate (004) ã®å匷ãããæ¹æ³
HashiCorpã®Terraform Associate 004ã®æºåãããéã«æ¬åœã«åœ¹ç«ã€ããšããããŠå æ¬çãªåŠç¿ã¬ã€ãã®ã©ã®éšåãå®å šã«èªã¿é£ã°ãããã
å ¬åŒã®Terraform Associate 004ã®åºé¡ç¯å²ããã£ãšèŠãããšããããªãã8ã€ã®ãã¡ã€ã³ãããã€ãã®å²åããããŠé·ãã³ãã³ããšèšèªæ©èœã®ãªã¹ããç®ã«ããããšã§ãããããã®äžã培åºçãªåŠç¿ããŒããéããšããå æ¬çãããåšå§çãã«æãããå§ããŸãã詊éšã¯60åéã§57åã®å€è¢éžæåŒã§ãåæ Œã«ã¯çŽ70%ã®æ£ççãå¿ èŠã§ãããã¹ãŠãæèšããããšã¯ã§ããŸãããããã®å¿ èŠããããŸããã
æ¬åœã«åœ¹ç«ã€ã®ã¯ä»¥äžã®ç¹ã§ãã
ã©ãã«ç¹æ°ããããã©ãã«æéããããã
åºé¡ç¯å²ã¯ãCore Workflow (20%)ãHCL Configuration (20%)ãState Management (15%)ãããã³Modules (15%) ã«éãã眮ããŠããŸããããã4ã€ã®ãã¡ã€ã³ã§è©Šéšã®70%ãå ããŸããæ®ãã®30%ã¯ãIaCã®æŠå¿µãTerraformã®ç®çãã¡ã³ããã³ã¹ãšã©ã€ããµã€ã¯ã«ãHCP Terraformã®æ©èœããã®ä»ã®éå€ãªé ç®ãšãã5ã€ã®å°ããªé åã«åãããŠããŸãã
ã»ãšãã©ã®åéšè ã®æºåã«èŠãããé察称æ§ã¯ã圌ãããã¹ãŠã®ãã¡ã€ã³ã«ã»ãŒåãæéãè²»ãããŠããããšã§ããIaCã®æŠå¿µãšãTerraformã®ç®çãã®ã»ã¯ã·ã§ã³ãåãããŠã詊éšã®çŽ10%ã«éããŸãããæºåæéã®4åã®1ãããã«è²»ããã®ã¯ãæéã®èª€ã£ãé åã§ãããã®è©Šéšãåããã»ãšãã©ã®äººã¯ãIaCãäœã§ãããããããŠãªãæäœæ¥ã§CLIã³ãã³ããå®è¡ããã®ããããã®ãããã§ã«ç¥ã£ãŠããŸãããããã®ã»ã¯ã·ã§ã³ã¯è»œãèªã¿ãããã€ãã®ããªãã¢çãªè³ªåãè§£ããŠèªåœãèªèããŠããããšã確èªããããæ¬¡ã«é²ã¿ãŸãããã
ç§ãå®éã«æè³ããã§ãããåéïŒ
- Core Workflowã ã©ã€ããµã€ã¯ã«ã³ãã³ãã
initãå éšã§å®éã«äœãããŠããã®ããplanã®åºåã®èªã¿æ¹ããããŠ-replaceã-refresh-onlyãéåžžã®applyã®éãããããã¯ãäžããããç®æšã«å¯ŸããŠæ£ããã³ãã³ããéžæããã·ããªãªåé¡ã§åºé¡ãããŸãã - HCL - 倿°ãåŒãæ¡ä»¶ã æãå¯åºŠã®é«ããã¡ã€ã³ã§ããèªæžãããå®è·µãå ±ãããŸãã
for_eachãšcountã«ã€ããŠ10åèªãã§ãã詊éšã§åããŠããããããŒã倿Žããããã©ããªããïŒããšåããããšãã«æžæããããããŸããã - Stateã ããã¯ãšã³ããããã¯ã
movedãããã¯ã«ãããªãã¡ã¯ã¿ãªã³ã°ããããŠstate mvãšæ°ãã宣èšåãªãã¡ã¯ã¿ãªã³ã°ãããã¯ã®ã©ã¡ãã䜿ãã¹ããã詊éšã§ã¯ãåããŒã«ãã©ã®åé¡ã解決ããããç¥ã£ãŠããããåãããããã§ãã - Modulesã å
¥åæ€èšŒãåºåå
¬éããœãŒã¹ã¢ãã¬ã¹ãããŒãžã§ã³å¶çŽã®æ§æã
~> 1.2ãš>= 1.0, < 2.0ã®åºå¥ã¯åºé¡ç¯å²å ã§ãã
ããã4ã€ã®ãã¡ã€ã³ã«æºåæéã®70%ãæå ¥ããã°ããã§ã«èšç®äžã¯åã£ãŠããŸãã
004ã§å®éã«æ°ãããã®ïŒãããŠåé¡ã§ã®åºé¡æ¹æ³ïŒ
004ã®æ¹èšã§ã¯ãããã€ãã®æ©èœã远å ãŸãã¯æ£åŒåãããŸããããããã¯è©Šéšã§äžåè¡¡ã«å€ãåºé¡ãããŸããïŒãããHashiCorpãæ°ããæ¹èšçãçºè¡ããçç±ã§ããããŸãïŒãåé¡ã¯ææ§ã§ã¯ãªãæ£ç¢ºã§ããç¥ã£ãŠããã¹ãããã€ãã®ãã¿ãŒã³ïŒ
movedãããã¯ãšremovedãããã¯ã¯ãstate mvãšstate rmã®ä»£æ¿ãšããŠãã¹ããããŸãã詊éšã§ã¯ãããããäœããããã ãã§ãªããCI/CDã§ã©ã®ã€ãã£ãªã ãæ£ããããåãããŸããimportãããã¯ã¯ãå€ãåœä»€åã®terraform importã³ãã³ããšæ¯èŒããŠãã¹ããããŸããã¯ãŒã¯ãããŒãçè§£ããŠãã ããïŒãããã¯ãèšè¿°ããplanãå®è¡ããäžèŽãããªãœãŒã¹èšå®ãèšè¿°ããã¯ãªãŒã³ã«ãªããŸã§å床planãå®è¡ããŸãã- ã«ã¹ã¿ã æ¡ä»¶ã¯ã倿°
validationãã©ã€ããµã€ã¯ã«preconditionãã©ã€ããµã€ã¯ã«postconditionã®3ã€ã®çš®é¡ã§åºé¡ãããŸããæå®ããããã§ãã¯ã«å¯ŸããŠæ£ãããã®ãéžã¶å¿ èŠãããåé¡ãäºæ³ãããŸãã - Ephemeral values + write-only argumentsã¯ã詊éšã§ã¯æŠå¿µçãªãã®ã§ããæ§æãäœãèŠãã«æžãå¿ èŠã¯ãããŸããããããã解決ããåé¡ïŒã¹ããŒãã«æ°žç¶åãã¹ãã§ã¯ãªãæ©å¯ããŒã¿ïŒãèªèããå¿ èŠããããŸãã
- HCP Terraform projects vs. workspaces - projectsã¯æ°ããã³ã³ããã§ãããã®é¢ä¿æ§ã«ã€ããŠ1ã2ååºé¡ãããŸãã
terraform test-.tftest.hclãã¹ããã¬ãŒã ã¯ãŒã¯ã衚é¢çãªç¥èã®ã¿ã§OKã§ãã
ããããééãã¯ããæ°ããããšããã©ãã«ãä»ããŠãããããšãã£ãŠæ°ãããã®ã ãã«çŠç¹ãåœãŠãããšã§ããæ°ãããã®ã¯åé¡ããŒã«å šäœã®ãããã10%çšåºŠã§ããæ®ãã®90%ã¯ã倿ŽãããŠããªã003ã®åºæ¬äºé ã§ããç®æ°ãããã®ã远ããããŠåºæ¬ãé£ã°ããªãã§ãã ããã
é·ãåŠç¿ã¬ã€ãã圹ç«ã€ãšããšã害ã«ãªããšã
培åºçãªåŠç¿ããŒãïŒç§ãã¡ã/cert/terraform-004ã§ç®¡çããŠãããããªãã®ïŒã¯ãçŽ æŽãããåèè³æã§ãããäž»èŠãªææãšããŠã¯äžåãã§ããçœ ã¯ãæåããæåŸãŸã§èªãã§çç£æ§ãæããªãããå®éã«ã¯ã»ãšãã©äœãèšæ¶ã«æ®ããªãããšã§ããé·ãã¬ã€ãã广çã«äœ¿ãæ¹æ³ã¯ä»¥äžã®éãã§ãïŒ
- 1åç®ã®ç®éãïŒ45ã60åïŒïŒ èŠåºãã衚ãã詊éšã®ãã³ããã®åŒã³åºãç®æã®ã¿ãèªã¿ãŸããå 容ã§ã¯ãªããã«ããŒãããŠããããšã®å šäœåãææ¡ããŸãã
- 2åç®ã®ç®éãïŒ è©³ããåŠç¿ãããåã«ãäœãæºåããã«æš¡æ¬è©ŠéšãåããŸããééã£ãçãã®ã»ãšãã©ã¯ã2ã€ã3ã€ã®ãµããã¡ã€ã³ã«éäžããã§ãããããããããªãã®æ¬åœã®åŠç¿ãªã¹ãã§ãã
- 3åç®ã®ç®éãïŒ ãã®2ã€ã3ã€ã®ã»ã¯ã·ã§ã³ãæ·±ãèªã¿ãŸããæ®ãã®éšåã¯ããã®åŸã®ç·Žç¿åé¡ã§é¢é£ããééã£ãçãã«ééãããšãã«ã®ã¿èªã¿ãŸãã
ããã¯ãéåžžã®ããã¹ãŠãèªãã§ãããã¹ããããã¯ãŒã¯ãããŒããããã¹ãããç¥ããªãããšãåŠã³ãããã ããå匷ããç¹°ãè¿ãããšãã圢ã«é転ãããŸããç§ãç¥ã£ãŠããã»ãšãã©ã®ã·ãã¢ãšã³ãžãã¢ããã³ããŒè©Šéšã®æºåãããæ¹æ³ã§ãã
ç·Žç¿åé¡ïŒãã®äœ¿ãæ¹
æš¡æ¬è©Šéšã¯èªæžæéããã䟡å€ããããŸãããããã¯ééã£ãçãã«åãçµãã å Žåã«éããŸãã广çãªãã¿ãŒã³ïŒ
- æéãèšã£ãŠ25åã®ç·Žç¿åé¡ãè§£ããŸãã
- 解説ãäžåèŠãã«æ¡ç¹ããŸãã
- ééããååé¡ã«ã€ããŠã解説ãèªãåã«ããªãééããã®ããæžãåºããŸããå°éçšèªïŒãªãœãŒã¹ã©ã€ããµã€ã¯ã«ã®ãšããžã±ãŒã¹ïŒ
for_eachã®ã»ãã³ãã£ã¯ã¹ãèªã¿ééããïŒ - 解説ãèªã¿ãŸããæžããçç±ãšäžèŽããŠããã°ã次ã«é²ã¿ãŸããäžèŽããªãå Žåãæ¬åœã®ç¥èã®ã®ã£ãããèŠã€ããããšã«ãªããŸã - ææ¥å確èªããããã«ãã©ã°ãç«ãŠãŠãããŸãããã
CertLabPro Terraform 004ã®åé¡éïŒãã¡ãã§é²èЧïŒã¯ããã®ã«ãŒãã®ããã«ãã¹ãŠã®åé¡ã«è§£èª¬ãä»ããŠããŸãã詊éšèªäœã¯è§£èª¬ãæäŸããŸããããæºåæ®µéã§ããããåŸãããšãã§ããŸãã
çŸå®çãªæéé å
äžçŽã¬ãã«ã®Terraformçµéšãæã€çŸåœ¹ãšã³ãžãã¢ã«ãšã£ãŠãçŸå®çãªæéé åã¯æ¬¡ã®ãšããã§ãïŒ
apply/plan/destroyããã³modulesã«ãã§ã«æ £ããŠããå ŽåïŒ 1ã2é±éã«ããã£ãŠ15ã20æéã- æ§æã«ã¯è©³ããããå®éã«æ¬çªç°å¢ã§Terraformããããã€ããçµéšããªãå ŽåïŒ 3ã4é±éã«ããã£ãŠ30ã40æéã
- IaCãå šãåããŠåŠã¶å ŽåïŒ 6ã8é±éã«ããã£ãŠ60ã80æéãCLF-C02ãŸãã¯AZ-900ãå ã«åéšããŠãã¯ã©ãŠããã©ãããã©ãŒã ã®ç¥èã身ã«ã€ããããšãæ€èšããŠãã ãã - 詊éšã§ã¯ãäœæããããšã®ãªããªãœãŒã¹ã§ãçè§£ããŠããããšãåæãšãããŸãã
æãäžè¬çãªéå°æè³ã¯ãHCLæ§æã®äžžæèšã§ã - åŠç¿ããŒããããã¹ãŠã®ã³ãŒããããã¯ãæäœæ¥ã§ã³ããŒããããšãåŠç¿äžã«HCLãèšè¿°ããã®ã¯è¯ãã§ããã詊éšã¯dynamicãããã¯ãäœãèŠãã«æãåºããããããªãã®ã§ã¯ãããŸããããããã¯ã瀺ããŠããããäœãããããå°ããŸããèšè¿°ã®æµæ¢ãã§ã¯ãªããèªè§£ã®æµæ¢ããããã«ããã¯ãšãªããŸãã
ãŸãšã
Terraform Associate 004ã¯å ¬æ£ã§ãç¯å²ãæç¢ºã§ãå®çšçãªçè§£ã«åã£ãŠããŸããå æ¬çãªåŠç¿ããŒãã¯åèè³æãšããŠæ±ããæš¡æ¬è©Šéšã¯å®éã®ãã¬ãŒãã³ã°ããŒã¿ãšããŠæ±ããæºåæéã¯äž»èŠãª4ã€ã®ãã¡ã€ã³ã«å²ãåœãŠãäºç®ãšããŠæ±ããŸãããã
ããŒã±ãã£ã³ã°ã«é¢ããç« ã¯é£ã°ããŸããããç¯çŽããæéããå®éã®Terraformèšå®ãå®éã«è§Šãããšã«è²»ãããŠãã ããã
仿¥ããå§ãããªããåé¡éãæã«å ¥ããäœãæºåããã«25åã®ãããã¯ãè§£ããå®éã«ééãããšããããåŠç¿ãªã¹ããäœæããŸãããã