~~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 実践的}}