인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

highjune님의 프로필 이미지

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

Ansible 모듈 사용

ansible 원리

작성

·

26

·

수정됨

0

ansible copy 같은 모듈 명령어를 사용할 때요

대상으로 하는 서버들에서 방화벽과 같은 그런것들을 미리 열어줘야 하고 그런 것들은 없을까요?

물론 미리 ping 을 통해서 확인할 수는 있겠지만요!

ansible 의 동작 원리가 궁금합니다.

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

Ansible은 에이전트가 필요 없는 방식으로 작동하는 IT 자동화 엔진으로, 원격 서버에 SSH를 통해 접속하여 태스크를 실행합니다. 이에 따라 Ansible이 원격 서버에서 작업을 수행하려면 SSH 연결이 가능해야 하며, 방화벽 설정이 맞춰져 있어야 합니다. 구체적으로는 Ansible 컨트롤 호스트에서 대상 서버로의 22번 포트가 열려 있어야 하며, 해당 서버의 사용자 계정이 적절한 권한을 가지고 있어야 합니다.

만약 실행할 모듈 혹은 태스크가 특정 네트워크 포트에 의존하거나 파일 생성/수정 같은 작업을 수행해야 한다면, 해당 포트 혹은 경로에 대한 접근 권한이 필요합니다. 예를 들어, Ansible의 copy 모듈을 사용하여 파일을 전송할 때도 파일이 전송될 경로에 대한 쓰기 권한이 필요합니다.

Ansible의 동작 방식은 다음과 같이 요약될 수 있습니다:

  1. SSH: 기본적으로 SSH를 통해 원격 서버에 접속합니다. 이를 위해서는 SSH 키와 사용자 계정이 필요합니다.
  2. 모듈 실행: Ansible 명령어는 파이썬으로 작성된 모듈을 통해 실행되며, 이 모듈은 대상 서버에서 필요한 작업을 수행합니다.
  3. 상태 관리: Ansible은 ‘상태 선언적’ 방식을 사용하여, 코드로 원하는 상태를 정의하고 이를 실행하여 서버의 상태를 조작합니다.

더 자세한 Ansible의 원리에 대해서는 다음의 게시물을 참고하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

highjune님의 프로필 이미지

작성한 질문수

질문하기