ã2026幎çãTerraformã®å§ãæ¹ â ã€ã³ãã©ãã³ãŒãã§ç®¡çããç¬¬äžæ©
Terraformã£ãŠããèããã©ãçµå±ãªã«ãã§ããã®ïŒ
ãµãŒããŒããããã¯ãŒã¯ãšãã£ãã€ã³ãã©ããã³ãŒãïŒããã¹ããã¡ã€ã«ïŒã§å®çŸ©ããŠèªåæ§ç¯ã§ããããŒã«ã ããæäœæ¥ã§AWSãGCPã®ç®¡çç»é¢ããããããã代ããã«ãèšå®ãã¡ã€ã«ãæžããŠãããäœã£ãŠïŒããšã³ãã³ãäžçºã§ç°å¢ãåºæ¥äžãããã ã
ãžããïŒã§ããªãã§ããããã³ãŒãã«ããå¿ èŠãããã®ïŒç»é¢ã§äœã£ãã»ããæ¥œãããªãïŒ
æåã¯ç»é¢ã®ã»ããæ¥œã«æãããã©ãåãç°å¢ãäœåºŠãäœããããšãããããŒã ã§å ±æããããšãã«ã³ãŒããåšåãçºæ®ãããã ãGitã§å€æŽå±¥æŽãæ®ããããã誰ããã€äœãå€ãããããå šéšè¿œããããã«ãªãããã€ã³ãã©ã®ã¬ã·ããã¿ããªã§ç®¡çã§ããã€ã¡ãŒãžã ãã
ãªãã»ã©ïŒãããå§ããã«ã¯ãŸãäœãããã°ããã®ïŒ
ãŸãTerraformãã€ã³ã¹ããŒã«ããããå ¬åŒãµã€ããããã€ããªãããŠã³ããŒãããŠãããããMacãªãbrew install terraformãWindowsãªãchocolateyãwingetã§ãå ¥ãããã€ã³ã¹ããŒã«ãããã¿ãŒããã«ã§ terraform -version ãšæã£ãŠãããŒãžã§ã³ã衚瀺ãããã°OKã ãã
ã§ããïŒæ¬¡ã¯äœãæžãã°ããã®ïŒ
æ¡åŒµåã .tf ã®ãã¡ã€ã«ãäœãããæå°æ§æã ãšããŸãproviderãããã¯ã§ã©ã®ã¯ã©ãŠãã䜿ãã宣èšããŠã次ã«resourceãããã¯ã§äœããããã®ãæžããããšãã°AWSã®S3ãã±ããã1ã€äœããªããprovider "aws" ãšresource "aws_s3_bucket" "my_bucket" ã®2ãããã¯ã ãã§æžããã ã
æã£ãããã·ã³ãã«ãªãã ãïŒæžãããããã¯ã©ãŠãã«åæ ãããã®ïŒ
ãããªãåæ ã¯ããªãããTerraformã«ã¯3ã¹ãããã®ã¯ãŒã¯ãããŒããããã ããŸã terraform init ã§ãã©ã°ã€ã³ãæºåãæ¬¡ã« terraform plan ã§ãäœãäœãããããã®ãã¬ãã¥ãŒã確èªãæåŸã« terraform apply ã§å®éã«äœæãplanã§å·®åã確èªããŠããapplyããããããã£ãããã¹ãé²ãããã ãã
planã§ç¢ºèªã§ããã®å®å¿ã ãïŒã§ãééããŠäœã£ã¡ãã£ããã©ãããã®ïŒ
terraform destroy ã§äœã£ããªãœãŒã¹ããŸãšããŠåé€ã§ããããããã«ãTerraformã¯stateãã¡ã€ã«ãšãããä»ã©ããªãªãœãŒã¹ãååšããããã®å°åž³ãæã£ãŠããŠãã³ãŒããšå®éã®ã€ã³ãã©ã®å·®åãåžžã«ææ¡ããŠãããã ãã ããã³ãŒããä¿®æ£ããŠapplyããã°ã倿Žåã ãåæ ããŠããããã
䟿å©ïŒåŠç¿ã®ããŒãããããšããŠã¯ã©ãé²ããã®ããããããªã®ïŒ
ãŸãã¯AWSãGCPã®ç¡ææ ã§S3ãã±ãããVPCãäœããšããããå§ãããšããããæ¬¡ã«variableãoutputã§å€ãå€åºãããæ¹æ³ãèŠããŠããã®ããšmoduleã§èšå®ãåå©çšã§ããããã«ãããå ¬åŒã®ãã¥ãŒããªã¢ã«ãGet Startedãã·ãªãŒãºãã¹ããããã€ã¹ãããã§ããã§ããŠããããããŸãããããªããã®ãããããã ãã
æå€§ã®åŒ·ã¿ã¯ãã«ãã¯ã©ãŠã察å¿ã ããAWSã»GCPã»Azureã»Cloudflareãªã©æ°åã®ãããã€ãã«å¯Ÿå¿ããŠããŠã1ã€ã®èšèªïŒHCLïŒã§çµ±äžçã«æžãããå®ã¯2023幎ã«ã©ã€ã»ã³ã¹ãBSLã«å€ãã£ãŠãããããOpenTofuãšãããã©ãŒã¯ãçãŸãããã ã2026幎çŸåšã¯äž¡æ¹æŽ»çºã«éçºãããŠãããããäŒæ¥ã®ã©ã€ã»ã³ã¹ããªã·ãŒã«ãã£ãŠäœ¿ãåããæµãã«ãªã£ãŠãããã
OpenTofuã£ãŠããã®ããããã ãïŒstateãã¡ã€ã«ã®ç®¡çã§æ°ãã€ããããšã£ãŠããã®ïŒ
ããã¯ããã©ã³ã§ãããããã€ã³ãã ããstateãã¡ã€ã«ã«ã¯ãªãœãŒã¹ã®IDãIPã¢ãã¬ã¹ã ããããªããããŒã¿ããŒã¹ã®ãã¹ã¯ãŒããªã©æ©å¯æ å ±ãå¹³æã§å ¥ãããšããããã ãã ããããŒã«ã«ã«çœ®ãã£ã±ãªãã¯çµ¶å¯ŸNGãS3ãTerraform Cloudãªã©ã®ãªã¢ãŒãããã¯ãšã³ãã«ä¿åããŠãæå·åãšã¢ã¯ã»ã¹å¶åŸ¡ããããã®ãéåã ããããã«state lockãæå¹ã«ããªããšãããŒã ã§åæã«applyããŠç¶æ ãå£ãããªã¹ã¯ãããããèŠæ³šæã ãã