Terraform Associate (004) ã«åæ ŒããŸãã - ç¥ã£ãŠããããã£ãããš
åæ Œç¿æ¥ã®æ£çŽãªã¡ã¢ïŒã©ã®ãããªåé¡ãåºé¡ãããããæéã®äœ¿ãæ¹ãè©°ã蟌ã¿å匷ããã®ã«æå³ããªãã£ãããšã軜èŠããŠããŸã£ãããšã
æšæ¥Terraform Associate 004ãåéšããäžçºã§åæ ŒããŸãããããã¯ãäœãå匷ãã¹ããããšããæçš¿ã§ã¯ãããŸãã - ãã®ãããªæçš¿ã¯ãããããããç§ãã¡èªèº«ã®ãã®ãå«ããŠã§ããããã¯ããã¹ãŠããŸã é®®æãªãã¡ã«ãåå€ã«èªãã§ããã°ããã£ããšæãæçš¿ã§ãã
èæ¯ãšããŠïŒç§ã¯çŽ3幎éãAWSäžã§TerraformãæžããŠããŸãããäž»ã«ã¢ããªã±ãŒã·ã§ã³ã€ã³ãã©ã¹ãã©ã¯ã㣠- VPCãECSãRDSãALBãªã©ãäžè¬çãªãã®ã§ã - HCP Terraformã«å¯ŸããŠäœ¿ãããšããããŸãããS3 + DynamoDBã«å¯ŸããŠäœ¿ãããšã®æ¹ãå€ãã§ããããã¶ãåã«003ãäžéåç«¯ãªæ°æã¡ã§åéšãã004ã¯ç°¡åãªåŸ©ç¿ã§æžãã ãããšèããŠããŸãããã»ãšãã©ãã®éãã§ããããããã€ãè£è¶³ããããŸãã
äžèŠã ã£ãè©°ã蟌ã¿å匷
詊éšã®2æ¥åãç§ã¯ããã€ãã®ãããã¯ã«ã€ããŠæ·±ãæãäžããŸãããããããã¯è©Šéšã§ã¯ã»ãšãã©åºé¡ãããŸããã§ããã
- Sentinel ãš OPA ã®æ§æã Sentinel ã®ã«ãŒã«ãèŠãã ãã§èªèã§ããå¿ èŠããããšèªåã«èšãèãããŠããŸãããããªã·ãŒã»ã¢ãºã»ã³ãŒãã«è§Šãã質åã¯æ£ç¢ºã«1åã ããããããã¯æŠå¿µçãªãã®ã§ãã - ãçµç¹ã®ããªã·ãŒã匷å¶ããæ©èœã¯ã©ããïŒã - ãSentinelããšããèšèãååšããããšãç¥ã£ãŠããã°çããããŸããã
- ãããã€ããŒãã©ã°ã€ã³ã®ãããã³ã«ããŒãžã§ã³ã é¢é£æ§ãŒãã§ããã
- ãã¹ãŠã®
terraform stateãµãã³ãã³ããæèšããããšã 詊éšã§ã¯ãstate listãstate mvãstate rmã«ã€ããŠã·ããªãªåœ¢åŒã§åãããŸããããããã®ã³ãã³ããå¹³æãªè±èªã§äœãããã®ãçè§£ããŠããã°ããã©ã°ã现ããèŠããå¿ èŠã¯ãããŸããã - HCP Terraform ã®æéäœç³»ã 詊éšã«ã¯åºãŸããã§ããã詊éšã§ã¯HCPãæŠå¿µçã«æ±ããŸãã
ããæºåæéãããçŽãããªããfor_each vs. count ã®ç·Žç¿ããã£ãšå¢ããã§ãããã
é©ããããš
äºæ³å€ã ã£ãããšãããã€ããããŸãã
æ°ãã004ã®é
ç®ã¯æ£ç¢ºã«åãããŸãã ç§ã¯ãmoved ãããã¯ã¯äœããããïŒããšãã£ããµããµããã質åãäºæ³ããŠããŸããããããå®éã«ã¯ãããªãœãŒã¹ã®ååã倿Žããäžæãªããã®ç¶æ
ãç¶æãããå Žåãæå°éã®æå¹ãªå€æŽã¯ã©ããïŒããšãã£ãå
·äœçãªã·ããªãªãåºé¡ãããè§£çã®éžæè¢ã«ã¯ state mv ã®åŒã³åºããš moved ãããã¯ã®äž¡æ¹ãå«ãŸããŠããŸãããäž¡æ¹ãååšããããšãç¥ã£ãŠããã ãã§ãªããã¯ãŒã¯ãããŒã«åã£ãã€ãã£ãªã ãéžã¶å¿
èŠããããŸããã
import ããã㯠vs. terraform import ã«é¢ããè€æ°ã®è³ªåã ç§ã¯ããããæ æ°ã«ãåçã ãšèããŠããŸããã詊éšã¯ãããããéãããšãæãåºãããŠãããŸãã - ãããã¯ã¯å®£èšçã§ plan ãšçµ±åãããŸããCLI ã³ãã³ãã¯åœä»€çã§ãããã«ç¶æ
ã«å¯äœçšããããããŸããã©ã®æ¹æ³ãã¬ãã¥ãŒå¯èœãª CI/CD ã¯ãŒã¯ãããŒã«é©ããŠãããããåã質åã2åãããŸããã
HCL ã®è³ªåã¯ãç·Žç¿åé¡ã瀺åããããã坿¥ã§ãã å€ãã®ç·Žç¿åé¡ã§ã¯ããã£ãããã4è¡ã®ã³ãŒãã¹ãããããæç€ºãããŸããå®éã®è©Šéšã§ã¯ãå°ãªããšãäžåºŠãresource ã®äžã« dynamic ããã¹ãããããã® for_each ãå€åŽã®ã«ãŠã³ããé§åããŠãã15è¡ã®ãããã¯ãäžããããäœæããããªãœãŒã¹ã®æ°ãäºæž¬ããããã«æ±ããããŸãããç§ã¯2床èªã¿çŽãå¿
èŠããããŸããã1åããã60ç§ãšããæéå¶éã®äžã§HCLãæ³šææ·±ãèªããšããèªç¥è² è·ãéå°è©äŸ¡ããªãã§ãã ããã
terraform test ã«é¢ãã2ã€ã®è³ªåã ç·Žç¿åé¡ã§ã¯ã»ãšãã©è§ŠããããŠããªãã£ãããããã®ã»ã¯ã·ã§ã³ã¯ã»ãšãã©ã¹ããããããšããã§ããã質åã¯æŠå¿µçãªãã®ã§ãã - .tftest.hcl ãååšããããšãrun ãããã¯ã«ã¯ã¢ãµãŒã·ã§ã³ãå«ãŸããããšããŠããããã¹ãã®ããã«ãããã€ããŒãã¢ãã¯ã§ããããšãããã¥ã¡ã³ãããŒãžããã£ãšèªãã°ååã§ãã
æé管çã§å±ãã倱æãããšããã ã£ã
60åã§57åã¯ã1åããã1å匷ã§ããç§ã¯ã³ãŒããæ³šææ·±ãèªããããæè¡çãªå 容ã®è©Šéšã§ã¯æéãããããŸãã52åã§æåã®åçãçµãã5åã忀èšã®ããã«ãã©ã°ãç«ãŠãŸããããã©ã°ãç«ãŠã質åã®ãã¡2ã€ã¯ã衚çŸãæ·±èªã¿ããããŠããã®ã§ãæ¹ããŠèªã¿çŽããŠäž¡æ¹ã®åçã倿ŽããŸãã - 1ã€ã¯æ£è§£ã§ãããããã1ã€ã¯ ééã£ã åçã«å€æŽããŠããŸã£ããšæããŸãïŒåŸããç¥ãè¡ã¯ãããŸããïŒã
ããŸããã£ãããšïŒè³ªåã®æ¬æã2å以äžèªã¿çŽããŠããèªåã«æ°ã¥ããããæãå¯èœæ§ã®é«ãçããéžã³ããã©ã°ãç«ãŠãŠæ¬¡ã«é²ã¿ãŸããã1ã€ã®è³ªåã«4åãè²»ãããªãã§ãã ããã1åçµã£ãŠãåãããªããã°ãããã«3åçµã£ãŠãããããåãããªãã§ãããã
æéã®ããã質å
æéãé£ã£ãç¹å®ã®ã«ããŽãªã¯ãããã®ç¶æ
ãã¡ã€ã«ã®åºåãäžããããå Žåãterraform plan ã¯äœã衚瀺ãããïŒããšãããã®ã§ããããããã¯ãç¶æ
ã®å·®åãé ã®äžã§ãã©ãããæéãããããŸãã2ã€ã®è³ªåã§ã¯ãã·ãã¥ã¬ãŒãããã®ã諊ããéžæè¢ãèŠãŠãæãå£ããŠããå¯èœæ§ã®ãããã®ãéžã³ãŸããïŒ1ã€ã¯ã¿ã°ã®æ¬ èœããã1ã€ã¯å±æ§ã®å€æŽïŒãã©ã¡ããæ£è§£ã§ãããæéãçããšãã¯ãæ·±ãã·ãã¥ã¬ãŒã·ã§ã³ããããã¿ãŒã³èªèã§ãã
æºåãããçŽããšããããå®éã«æšå¥šããããš
ä»ç¥ã£ãŠããããšãèžãŸãããšãå調æŽãããåŠç¿é åã¯ä»¥äžã®éãã§ãã
- 40% ç·Žç¿åé¡ã å®éã«æéãèšã£ãŠè§£ããééã£ãè§£çãšçå£ã«åãåãããšã
- 25% HCL ã®äŸããã£ããèªãããšã ããã€ãæžãããšãéèŠã§ãããè©Šéšæ¥ã«å¿ èŠãªã®ã¯æžãèœåã§ã¯ãªããèªãèœåã§ãã
- 15% ã¹ããŒãã®ã»ãã³ãã£ã¯ã¹ã ã¹ããŒããã¡ã€ã«ã«äœãå«ãŸããŠãããããªãããã¯ãéèŠãã
moved/removed/importãããã¯ãããããäœã解決ãããã - 10% æ°ãã004ã®æ©èœ ãåå¥ã« - 倿°æ€èšŒãpreconditionsãephemeral valuesãwrite-only argumentsãHCPãããžã§ã¯ãã
terraform testã - 10% ãã®ä»ãã¹ãŠ - IaCã®æŠå¿µãTerraformã®ç®çãHCPã®æŠèŠã
æå³çã«åã£ãé åã§ããããã®ä»ãã¹ãŠãã®é ç®ã¯ãTerraformãæ°ã¶æä»¥äžäœ¿ã£ãŠããã°ãã»ãšãã©ãã§ã«ç¥ã£ãŠããããšã§ãããã
æå€ã«éèŠã ã£ãããš
terraform fmtãååšããäœãããããç¥ã£ãŠããããšã 2ååºé¡ãããŸããã誀ã£ãéžæè¢ã®1ã€ã¯ãfmtãã¹ããŒãã倿Žãããšãããã®ã§ããã- ãããã€ããŒã®ããŒãžã§ã³å¶çŽã®æ§æã
~> 1.2ãš~> 1.2.0ã®éãïŒåŸè ã¯ãããã¬ãã«ã§æ²èгçã§ããããã峿 ŒïŒãããã¯æ£è§£ããŸãããã詊éšã§ã¯åãããªããšèªåã«èšãèãããŠããŸããã terraform init -upgradeãšterraform init -reconfigureã®éãã ããã¯ãšã³ããããã¯ã倿ŽããåŸãã©ã¡ãã䜿çšãã¹ããåãããŸãããçãã¯-reconfigureã§ãã-jsonãªãã·ã§ã³ä»ãã®terraform outputã ã¹ã¯ãªããã£ã³ã°ã·ããªãªã§ãã©ã®ã³ãã³ããæ©æ¢°å¯èªãªåºåå€ãçæãããåãããŸããã䜿ã£ãããšãããã°åãã«è¶³ããªãããšã§ããã䜿ã£ãããšããªããšèŠèœãšããã¡ã§ãã
詊éšåŸ
PSIã¯æåŸã«ååŠç»é¢ã衚瀺ããŸãïŒç§ã¯ç·è²ã®ãã§ãã¯ããŒã¯ã衚瀺ãããå®å¿ããŸããïŒããã¡ã€ã³ããšã®è©³çްãªã¹ã³ã¢å èš³ã¯æ°æ¥åŸã«ã¡ãŒã«ã§å±ããŸãããããžã¯æ¿èªãããšCredlyã¢ã«ãŠã³ãã«è¡šç€ºãããŸããHashiCorpã®èªå®ã¯2幎éæå¹ãªã®ã§ãã«ã¬ã³ããŒã«ãªãã€ã³ããŒãèšå®ããŠãããŸãããã
ãã³ããŒè©Šéšã§éå°è©äŸ¡ããŠããã®ã¯ã60åéã®éäžãããã«æ¶èããããšããããšã§ããã詊éšã®åŸã«äŒè°ãå ¥ããªãã§ãã ãããç§ã¯å®¶ã«åž°ã£ãŠ1æéå£ããã£ãšèŠãŠããŸããã
åéšæ¥ãè¿ãå Žåã¯ãCertLabPro 004ãã³ã¯ããå·ããåé¡ãããã¯ã詊ããŠã¿ãŠãã ãããç·Žç¿ã§é«åŸç¹ãåºãããšãç®æšã«ããã®ã§ã¯ãªãããŸã ä¿®æ£ããæéããããã¡ã«èªåã®èŠæãªã«ããŽãªãèŠã€ããããšãç®æšã«ããŠãã ããã