~~NOCACHE~~
## 9.自動化設定-cloud-init
Cloud-Initは、ホスト名、ネットワークインターフェース、承認キーなどの仮想マシンの初期設定を自動化するためのツールです。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/pdf/configuring_and_managing_cloud-init_for_rhel_8/Red_Hat_Enterprise_Linux-8-Configuring_and_Managing_cloud-init_for_RHEL_8-ja-JP.pdf
https://cloudinit.readthedocs.io/en/latest/topics/modules.html#modules
https://qiita.com/yamada-hakase/items/b42aed68e5623ed74024
インフラ構築時の注意点としては、AMI化したインスタンスからリストアする際に、cloud-initによって、設定が初期化されないようにしたい。
### cloud-initの設定方法
#変更
vi /etc/cloud/cloud.cfg
### cloud-initの設定詳細
下記のmodulesでそれぞれ指定されている子プロセスをコメントアウトすることで無効化する。
・%%cloud_init_modules:%%
・%%cloud_config_modules:%%
・%%cloud_final_modules:%%
[[InfrastructureConstruction:RHEL8:Survey-CloudInit|インフラ構築/RHEL8/91.cloud-init調査]]の結果を元に記載
奥が深すぎるので、学習したら随時更新する。
cloud_init_modules:
# - set_hostname
# - update_hostname
# - update_etc_hosts
# - users-groups
# - ssh
cloud_config_modules:
# - locale
# - set-passwords
# - package-update-upgrade-install
# - timezone
preserve_hostname: true
### 初期値
#初期値
users:
- default
disable_root: 1
ssh_pwauth: 0
mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2']
resize_rootfs_tmp: /dev
ssh_deletekeys: 1
ssh_genkeytypes: ~
syslog_fix_perms: ~
disable_vmware_customization: false
cloud_init_modules:
- disk_setup
- migrator
- bootcmd
- write-files
- growpart
- resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- rsyslog
- users-groups
- ssh
cloud_config_modules:
- mounts
- locale
- set-passwords
- rh_subscription
- yum-add-repo
- package-update-upgrade-install
- timezone
- puppet
- chef
- salt-minion
- mcollective
- disable-ec2-metadata
- runcmd
cloud_final_modules:
- rightscale_userdata
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
system_info:
default_user:
name: ec2-user
lock_passwd: true
gecos: Cloud User
groups: [adm, systemd-journal]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /bin/bash
distro: rhel
paths:
cloud_dir: /var/lib/cloud
templates_dir: /etc/cloud/templates
ssh_svcname: sshd
# vim:syntax=yaml
{{tag>AWS RHEL 実践的}}