Cloud/Ansible

Ansible) Ansible 환경 구성해보기 1편

Adım Kim 2022. 9. 20. 20:58
실습 환경 : AWS Console (2022/09), Visual Studio Code
실습 목적 : 실습환경 구성도를 통해 Ansible 환경을 구성해본다.

Ansible 실습환경구성도



Ansible 실습 참고 내용

  • Ansible은 Linux 환경에서 설치 가능하다.
  • 제어노드(Control Node)는  Managed Node와 연결 시 SSH를 통해서 연결하기 때문에 제어노드의 SSH key를 Managed Node에 전송한다.
  • AWS EC2 instance 환경에서는 keypair를 이용하여 연결함으로 제어노드에는 Manage Node의 kepair를 모두 가지고 있어야 한다.


Ansible 제어노드 구축


NAT 게이트웨이 생성


탄력적 주소 생성 후, 해당 EIP를 할당한 NAT 게이트웨이 생성

EC2 인스턴스 생성


위 구성도의 4개의 노드를 구현하기 위해 4개의 인스턴스를 생성한다.
인스턴스 생성은 별다른 설정 차이없이 아래 부분만 신경쓰면 된다.
 - 서브넷
    빨간 표시 (ControlNode, publicManageNode1)는 public-subnet-1a
    노란 표시 (publicManagedNode2)는 public-subnet-1c
    파란 표시 (privateManagedNode)는 private-subnet-1a
 - 보안 규칙
    ControlNode, privateManagedNode : ssh 관련 포트 허용
    publicManageNode1, publicManagedNode2 : ssh, web 관련 포트 허용

ControlNode


Visual Studio Code에 ControlNode 연결

 

 

sudo amazon-linux-extras install ansible2
위 명령어를 입력하여, Control Node에 Amazon Linux2 ansible을 설치

 

 

ansible --version
위 명령어를 입력하여, ansible 설치 상태와 버전을 확인

 

 

root user로 전환해서 /etc/ansible/ansible.cfg 파일을 수정한다.

 

 

host_key_checking = False 항목을 찾아 주석을 해제한다. (vi 명령모드에서 /host를 입력하면 찾기 수월하다)

 


 


Ansible 환경설정 파일 적용 순서 (ansible.cfg)

  • 지역 설정을 할 경우 (현재 사용자)
    • 1. ANSIBLE_CONFIG 환경 변수에 지정된 파일
    • 2. 현재 디렉토리에 있는 ansible.cfg vkdlf
    • 3. 사용자 홈 디렉토리에 있는 ansible.cfg 파일
  • 전역 설정을 할 경우 (모든 사용자)
    •  4. /etc/ansible/ansible.cfg 파일 (글로벌 전역 파일)

 

Ansible 환경 구성해보기 2편에서 계속...