
AWS시리즈의 목적은 클라우드와 DevOps를 이해하는 것 입니다.
이번 게시글에서는 DevOps의 자동화와 테라폼 실습을 진행하겠습니다.
애플리케이션을 빌드하고 유연하게 배포하고, 이를 모니터링할 수 있는 플랫폼
이러한 플랫폼 위에서 개발자들이 스스로 배포, 운영을 하도록 하는 것이 목표
DevOps를 현실적으로 반영 가능하게 하기 위한 가이드 == SRE
자동으로 작업하기에 속도 품질 비용면에서 효율적이다.
IaC 도구로는 TerraForm이 있으며 후술
최대한 사람의 손길이 덜 가도록 동작하게 만드는 것이 가능
이는 소규모팀으로 서비스를 운영할 수 있을 것이고 효율적인 면에서도 좋을 것이다.
어떻게 자동화 할 것인가?
어떤 행동을 취하는 조건을 어떻게 만들 것인가?
이제 클라우드 인프라 자동화, 관리 도구인 TerraForm을 활용해 실습해보고 자동화를 맛보도록 하겠습니다.

출처 하시코프
먼저 AWS 와 테라폼을 통신하기 위해 액세스키가 필요하다.
클라우드 액세스키가 유출되면 금전적인 피해를 볼 수 있다고 해서 IAM 계정을 따로 만들어 사용하였음
main.tf에 액세스키를 작성하여 AWS와 테라폼이 통신 되도록 함
절차대로 terraform init - terraform plan - terraform apply 실행
인스턴스가 잘 생성된 모습
야옹이 세상
terraform apply 중에 오류가 발생하였다.

Error: Error launching source instance: Unsupported:
You requested instance type (t2.micro) is not supported in your
requested Availability Zone (ap-northeast-2b).
Please retry your request by not specifying
an Availability Zone or choosing ap-northeast-2a, ap-northeast-2c.
일단 에러메시지를 해석해보자
요청한 인스턴스 유형(t2.micro)은 ap-northwest-2b에서 지원되지 않습니다.
가용성 영역을 지정하지 않고 다시 시도하거나 ap-northeast-2a, ap-northeast-2c를 선택하세요.
t2.micro가 ap-northeast-2b에는 지원이 되지 않았고 내가 가용영역을 제대로 설정하지 않았기에 자동으로 테라폼이 b를 선택하면서 문제가 생긴 것이다.
즉 이 문제는 ap-northeast-2b에 지원되는 인스턴스로 수정하거나
가용영역을 ap-northeast-2a, ap-northeast-2c로 수정하면 해결 될 것이다.
이 사진을 보면 t3.micro의 가용영역이 ap-northeast-2a, ap-northeast-2c, ap-northeast-2d, ap-northeast-2b인 것으로 확인할 수 있다.
인스턴스 타입을 t3.micro으로 수정하니 잘 실행 되었다.
가용영역을 따로 수정하는 방법도 잘 수행되는 것을 확인 하였다.