Ansible Vault ๋ณ์ํ์ผ์์ ํจ์ค์๋ ๋ถ๋ถ ์ํธํ ์ฒ๋ฆฌ๊ฐ ํ์ ์ํธํ -> CPU๋ฅผ ๋ง์ด ์ฌ์ฉ -> ํ์ํ ๋ถ๋ถ๋ง ์ํธํ -> ์ฌ์ฌ์ฉ ๊ธฐ๋ฒ ์ฌ์ฉ ํ์ผ, ์ผ๋ถ ํ ์คํธ๋ฅผ ์ํธํ ํ์ผ ์์ค ํ๋ ์ด๋ถ ์ ์ฒด ์ธ๋ฒคํ ๋ฆฌ ๋ณ์ ํ์ผ include/import ์์ ํ์ผ ํ ์คํธ ์์ค ๋ณ์์ ๊ฐ Valut Password ๊ด๋ฆฌ ๋ ธ๋ ์ ์ -> ํค ์ ์ธ์ฆ AES ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ (๋์นญํค) ํค๋ ๋๋ง ๊ฐ์ง๊ณ ์์ผ๋ฉด ๋จ ์ปจํธ๋กค ๋ ธ๋์ ํ๋ ์ด๋ถ์์ ์ฐธ์กฐํ๋ ํ์ผ๋ค์ด ์กด์ฌ -> ๋ด ์ปดํจํฐ์ ์ ์ฅ ์ค์ ์คํ ์์๋ ํ์ด์ ์คํ -> ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ์์ ํ๊ธฐ -> ํ๋ ์ด๋ถ ์คํ ๋คํธ์ํฌ๋ ๋ฐ์ํ์ง ์๊ณ ๋ด ์ปดํจํฐ์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ๋์นญํค๋ฅผ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉ ์๋ ๋น๊ต ๋์นญํค๋ ๊ณต๊ฐํค๋ณด๋ค ์๋ฑํ ๋น ๋ฅด๋ค -> ๋ฐ๋๋ก ๊ณต๊ฐํค๋ ๋์นญํค์ ๋นํด ์๋ฑํ ์ฑ๋ฅ์ด ๋๋ ค์ง -> ์ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ๋๋ฌธ์ -> ์ํธํ ๋ณตํธํ ํ๋ ํค๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋น
ํ ํ๋ฆฟ ์ฃผ์ /etc/ansible/ansible.cfg์์ ์๋ ๋ด์ฉ์ ๋ณต์ฌ ansible.cfg templates/port.cnf.j2 comment ๊ฐ ์ฃผ์์ ๋ง๋ค์ด์ค > ๊ฒฝ๊ณ ์ ๋ชฉ์ ์ํฐํํธ ์ฌ์ฌ์ฉ Artefact, Artifact: ์ธ๊ณต๋ฌผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํด์ ์์ฑํ ๋ฐ์ดํฐ ์ฌ๋์ด ์ง์ ์์ฑํ ์ฝ๋ ํ์ผ์ ์ฉ๋๋ณ๋ก ๊ตฌ๋ถ์ ํด์ ์ฌ์ฌ์ฉํ๊ธฐ ์ํจ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ ๋ถ์ผ ๋ณ์ ํ์ผ ์์ ํ์ผ ํ๋ ์ด/ํ๋ ์ด๋ถ ํ์ผ ์ญํ (Role) ๋ณ์ ํ์ผ vars_files ํ๋ ์ด์ ํค์๋ include_vars ๋ชจ๋ ๋ช๊ฐ์ง ์ต์ dir ๋ณ์ํ์ผ์ ๋ชจ์๋์ dir file ํน์ ํ์ผ๋ช free_from ๊ฐ๋ฅ ์์ ํ์์ ํ์ผ์ ์์น ์ง์ ๊ฐ๋จํ ์ค์ต var.yaml ์ธ๋ฒคํ ๋ฆฌ ๋ณ์ ์ธ๋ฒคํ ๋ฆฌ ๋ด๋ถ ํ์ผ์ ๋ณ์ ์ค์ ํธ์คํธ ๋ณ์ ๊ทธ๋ฃน ๋ณ์ ์ธ๋ฒคํ ๋ฆฌ
apt ubuntu์์ centos์ yum ๋์ ์ฌ์ฉํ๋ ํจํค์ง ๊ด๋ฆฌ์ yum๊ณผ์ ์ฐจ์ด์ httpd ํจํค์ง --> apache2 mariadb --> mysql apt ๋ช ๋ น ์ต์ list - ํจํค์ง ๋ชฉ๋ก ์ถ๋ ฅ search - ํจํค์ง ์ฐพ๊ธฐ show - ํจํค์ง ์์ธ์ ๋ณด ์ถ๋ ฅ install - ํจํค์ง ์ค์น remove - ํจํค์ง ์ ๊ฑฐ autoremove - ์ฌ์ฉํ์ง ์๋ ํจํค์ง ์๋์ผ๋ก ์ญ์ update - ํจํค์ง ์ค์น ๊ฐ๋ฅ ๋ชฉ๋ก ์ ๋ฐ์ดํธ upgrade - ํจํค์ง ์ ๊ทธ๋ ์ด๋ ๋คํธ์ํฌ ๊ด๋ฆฌ Netplan ๋๊ตฌ /etc/netplan/\*.yaml ๋ณ๊ฒฝ์ฌํญ ์ ์ฉ ๊ธฐํ ๋ณด์ RHEL: SELinux Debian: AppArmor ๋ฐฉํ๋ฒฝ RHEL: FirewallD Debian: UFW Kernel(Netfilter) <-- iptables ๋์ ์ฌ์ฉ [ansib
ansible๋ก bastion ๊ตฌ์ฑํ๊ณ private ์ธ์คํด์ค๋ก ์ ํํ๊ธฐ ์ฐธ๊ณ ํ๊ธฐ private ์๋ธ๋ท ์์ฑ ssh ํ์ฉ ํค๋ฑ๋ก์ผ๋ก controller์์ ์์ฑํ id_rsa.pub ๊ฐ์ ธ์ค๊ธฐ bastion์ ์ํ public ์ธ์คํด์ค ์์ฑ private ์ธ์คํด์ค ์์ฑ !/.ssh/config ์์ ๋ฐ ssh ์ ํ ํธ์คํธ ํ์ธ ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ ์ ํํธ์คํธ๋ฅผ ์ํ ec2.ini ์ค์ id ๋ช ๋ น์ด ์คํ์ผ๋ก ํ ์คํธ Ad-hoc ๋ช ๋ น์ผ๋ก ์๋ํ๋ ์ค ๊ตฌ์ฑ php74 ์ค์น๋ฅผ ์ํ remi ์ ์ฅ์ ์ค์น ๊ด๋ฆฌ๋ ธ๋์์ ํ์ธ php74 ์ค์น ์ํ repo ํ์ฑํ ํจํค์ง ์ค์น ํ์ํ ํจํค์ง |ํจํค์ง๋ช |์ค๋ช | |---|---| |httpd|apa
Ansible ์ฉ์ด ์ ์ด๋ ธ๋ Control Node, Controller, Ansible Engine ์ค์๋ธ์ด ์ค์น๋๋ ์์คํ ์ปจํธ๋กค๋ฌ ์กฐ๊ฑด: Uinx ๊ณ์ด๋ง ๊ฐ๋ฅ ์๋์ฐ ์์คํ ์ด ์ ์ด๋ ธ๋๊ฐ ๋ ์ ์์ -> ์? ์ค์๋ธ์ ssh์ฌ์ฉ ๊ธฐ๋ณธ์ ์ผ๋ก ํต์ ๋ฐฉ์, ์๋์ฐ๋ ssh๋ฅผ ์ฌ์ฉํ์ง ์์ ํ์ด์ฌ์ด ์ค์น๋์ด ์์ด์ผ ํจ (์ค์๋ธ์ด ํ์ด์ฌ์ผ๋ก ๋ง๋ค์ด์ ธ ์์ด์) ๊ด๋ฆฌ๋ ธ๋ Managed Node, Target Node/Host ... BM, VM, Instance, Network Device ์กฐ๊ฑด : ์๋์ฐ, ๋ฆฌ๋ ์ค ์๊ด ์์ SSH๊ฐ ๊ฐ๋ฅํ ๋ชจ๋ ์์คํ Python ์ค์น(๋ชจ๋ ์์คํ ์ด ์ค์น ๋์ด์์ except for Windows) Windows : WinRM(Windows Remote Management) ์ค์๋ธ์ ํ์ฅํ๋ก๊ทธ๋จ ์ธ๋ฒคํ ๋ฆฌ ๊ด๋ฆฌ ๋ ธ๋์ ๋ชฉ๋ก์ ๊ฐ์ง๊ณ ์๋ ํ์ผ(?) ~.ini ์ ์ ์ธ๋ฒคํ ๋ฆฌ : ๊ด๋ฆฌ ๋ ธ๋์ ๋ชฉ๋ก
vscode ์ค์น ์คํ ๋ช ๋ น์ด SSH ํจ์ค์๋ ๊ธฐ๋ฐ์ ์ธ์ฆ A๋ B์ ๊ณต๊ฐํค /etc/ssh/sshhost.pub /etc/ssh/sshhost RSA - default DSA ECDSA (B ์์คํ ์ ์ต์ด ์ ์์) A์ ์์คํ ์ ์ฌ์ฉ์์๊ฒ B์ ๊ณต๊ฐํค(์ง๋ฌธ) ๋ง๋์ง ํ์ธ? YES A์ ~/.ssh/known_hosts ํ์ผ์ B์ ๊ณต๊ฐํค ๋ฑ๋ก B์ IP/Domain B์ ๊ณต๊ฐํค ID/PWD ์ง์(์ธ์ฆ) ํค ๊ธฐ๋ฐ์ ์ธ์ฆ A์์ (์ธ์ฆ์ฉ)ํค ์์ ์์ฑ ssh-keygen ~/.ssh/id_rsa: ๊ฐ์ธํค ~/.ssh/id_rsa.pub: ๊ณต๊ฐํค B์ A์ ๊ณต๊ฐํค ๋ฑ๋ก B ์์คํ ์ ~/.ssh/authorized_keys : ํด๋ผ์ด์ธํธ์ ๊ณต๊ฐํค ๋ฑ๋ก EC2(ํด๋ผ์ฐ๋ ์ธ์คํด์ค