Closed beaniejoy closed 1 year ago
ansible을 이용해 aws lightsail(ec2)로 ping 모듈로 연결확인을 시도
$ sudo yum install ansible
만약 No package ansible available
로 install이 되지 않는다면
$ sudo yum install epel-release
$ sudo yum repolist
실행 후 install 진행
# hosts 파일
[test]
(ec2_ip_address) ansible_user=ec2-user
$ ansible test -i hosts -m ping
Remote Directory
: SSH로 연결된 원격지 서버에서의 일종의 working directory 설정 Hostname
: SSH Server의 public ip addressUsername
: SSH Server의 사용자(AWS는 대게 ec2-user)Use password authentication, or use a different key
체크Path to key
: 여기에 연결할 ec2 server의 private key file 경로 설정(절대 경로로)Test Connection
수행 (Success
가 나와야 성공)ansible-playbook command 실행시 아래와 같은 warning message 출력
(사실 실행하는데 치명적인 결함은 아니지만 경고 메시지 자체가 불쾌해서,,,)
[WARNING]: Platform linux on host xxxxxx s using the discovered Python
interpreter at /usr/bin/python, but future installation of another Python
interpreter could change this. See https://docs.ansible.com/ansible/2.9/referen
ce_appendices/interpreter_discovery.html for more information.
/etc/ansible/ansible.cfg
: ansible 설정파일
[defaults]
...
# Remove WARNING Message
interpreter_python = /usr/bin/python
...
/usr/bin/python
기본 python interpreter로 설정
(관련 내용 링크)
// ~/ansible/inventory/hosts
[ec2]
xx.xx.xx.xx ansible_user=ec2-user ansible_ssh_private_key_file=[path]
ansible inventory hosts 파일에 설정된 ec2 서버에 대한 private key 파일을 각 host 별로 적용하는 방식 선택
지금은 서버가 하나지만 여러 서버를 관리해야한다면 hosts 파일에서 각 host 별로 private key 파일을 관리하는 것이 좋다고 개인적으로 생각
(ansible ssh_private_key_file 설정 관련 링크)
template 모듈과 copy 모듈은 비슷하지만 다른점은, template는 파일 안에 변수 등이 있으면 그걸 랜더링해서 보여준다.
(이 특징 때문에 Jinja2 템플릿 사용 필요)
(jenkins server는 클라우드 서버 비용 문제로 local virtual box에서 사용)