Home | 문태준 | 시스템어드민 메일링 | Sys Admin 세미나
Skip to end of metadata
Go to start of metadata

https://cloudinit.readthedocs.io/

Cloud-init is the defacto multi-distribution package that handles early initialization of a cloud instance.

 

format : https://cloudinit.readthedocs.io/en/latest/topics/format.html

설정가능한 것 : https://cloudinit.readthedocs.io/en/latest/topics/modules.html

 

terraform 의 cloud-init : ec2의 user 이용하여 cloud-init 실행 가능함.

https://www.terraform.io/docs/providers/aws/r/instance.html#user_data

https://www.terraform.io/docs/providers/template/d/cloudinit_config.html

 

cloud-init을 이용하면 hostname 같은 것을 OS 시작하면서 설정을 할 수 있어서 장점이 있다.

그런데 cloud-init 설정파일에 runcmd에 설정을 한 경우 template_cloudinit_config 에서 다른 shellscript 가 있으면 다른 shellscript 를 모두 실행한 후 runcmd를 실행한다.

원래 이렇게 작동을 하는것인지 cloud-init에서 순서가 어떻게 되는지는 정확히는 모르겠다. 그래서 runcmd 에는 다른 스크립트에 의존하는 부분을 넣으면 안된다.

 

terraform에서 여러개의 스크립트를 지정하는 경우 filename 에 지정한 순서대로 스크립트가 실행이 된다.

위에서 설정한 스크립트는 Ubuntu 16.04의 경우 /var/lib/cloud/instance/scripts 에서 볼 수 있다.

Labels
  • No labels