Ansible에서 Terraform 모듈 실행
소개
Infrastructure as Code(이하 IaC), 편리하네요. 이 편리함에 한 번 익숙해 버리면, GUI로 찢어지는 것이 귀찮아집니다.
IaC 도구, 여러분 무엇을 사용합니까? Ansible, Puppet, Chef, Terraform, CloudFormation 등 여러가지군요.
이번에는 클라우드 리소스 조작이 뛰어난 Terraform과 OS의 구성 관리가 뛰어난 Ansible을 조합하여 클라우드 리소스 지불에서 EC2의 구성 변경까지의 일련의 처리를 Ansible에서 단일화해 보겠습니다.
이 기사는 아래 개인 블로그 기사를 Qiita 용으로 편집 한 것입니다.
h tps : // / g ぁ. wpx. jp/아r치ゔぇs/312
구현
Ansible 명령 한 번에 클라우드 리소스 배포, EC2 구성 변경을 수행합니다.
처리의 흐름으로서는, Ansible로 Terraform 실행해, VPC, EC2, ELB를 작성합니다. 다음으로, Ansible로 공통 처리, nginx의 인스톨을 실시합니다.
모듈 구성은 이런 느낌입니다.
Ansible에는 Terraform 코드를 실행할 수있는 Terraform 모듈이 있으므로 여기를 사용합니다.
여기에 하나의 문제가 있고, Terraform에서 EC2를 지불 한 후, 그 EC2에 대해 Ansible로 공통 처리, nginx 설치합니다. 주소를 모르는 문제가 있습니다.
거기서 나오는 것이 DynamicInventory 라는 Ansible의 기능입니다. 이를 사용하여 인벤토리 파일을 동적으로 변경할 수 있습니다.
처리의 흐름으로서는,
Ansible 명령 한 번에 클라우드 리소스 배포, EC2 구성 변경을 수행합니다.
처리의 흐름으로서는, Ansible로 Terraform 실행해, VPC, EC2, ELB를 작성합니다. 다음으로, Ansible로 공통 처리, nginx의 인스톨을 실시합니다.
모듈 구성은 이런 느낌입니다.
Ansible에는 Terraform 코드를 실행할 수있는 Terraform 모듈이 있으므로 여기를 사용합니다.
여기에 하나의 문제가 있고, Terraform에서 EC2를 지불 한 후, 그 EC2에 대해 Ansible로 공통 처리, nginx 설치합니다. 주소를 모르는 문제가 있습니다.
거기서 나오는 것이 DynamicInventory 라는 Ansible의 기능입니다. 이를 사용하여 인벤토리 파일을 동적으로 변경할 수 있습니다.
처리의 흐름으로서는,
같은 흐름입니다.
구체적인 구현에 대해서는, 이하의 리포지터리를 봐 주세요.
htps : // 기주 b. 코 m / 타 g 후 / 안시 b ぇ - 테라 후 rm
결론
어떻습니까? Ansible로 단일화하면 커맨드 일발로 여러가지 할 수 있으므로 매우 편합니다.
같은 츠바키의 IaC 툴들, 드디어, 「어느 쪽을 사용할까」라고 고민하는 일이 있을까 생각합니다만, 구분하는 것이 아니라 조합하는 것으로 보다 나아질 수도 있다고 생각했습니다.
원한다면 시도해보십시오.
Reference
이 문제에 관하여(Ansible에서 Terraform 모듈 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tagfa/items/948ada6f8b0022baf616
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Ansible에서 Terraform 모듈 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tagfa/items/948ada6f8b0022baf616텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)