서론 지난번에는 Ansible과 gitAction을 통해 EC2에 자동 배포하는 인프라를 구축했었다. [gitAction] Ansible + gitAction을 이용한 EC2 자동배포 서론 이전에 Ansible playbook을 실행하면 각 서버에 배포 할 수 있게끔 처리를 해 두었다. 이제, git에 push가 실행되었을 때 해당 playbook을 실행할 수 있게 처리해 두면 진짜 자동배포가 완료된다! 변 jjong-factory.tistory.com 문제는, 마지막에도 언급 했듯이 잠시 테스트 용으로 만든거라 SSH 인증쪽을 전부 뚫어 놨다는 것.. 세상에는 나쁜 사람들이 많기 때문에 구멍난 곳을 서둘러 막아줘야 한다..! 그러기 위해서 먼저, 보안그룹을 설정할 수 있는 IAM 계정을 하나 만들어야 ..
ansible
서론 이전에 Ansible playbook을 실행하면 각 서버에 배포 할 수 있게끔 처리를 해 두었다. 이제, git에 push가 실행되었을 때 해당 playbook을 실행할 수 있게 처리해 두면 진짜 자동배포가 완료된다! 변수값 세팅 git Action에서 EC2 서버에 접근 할 수 있어야 하기 때문에, repo->Setting->Secrets and variables에 SSH_KEY값, HOST값, USER 값을 추가해 준다. deploy Action 작성 repo->gitActions->New workflow를 눌러 준 뒤, set up a workflow yourself를 눌러준다. name: deploy on: workflow_dispatch: push: branches: - [master-br..
서론 저번에 Ansible role을 일단 만들어 두었는데, 이를 이용하여 github을 여러 서버에 배포하는 playbook을 만들어 보자. 만든 role의 tree 구조는 다음과 같다. . ├── README.md ├── defaults │ └── main.yml ├── files ├── handlers │ └── main.yml ├── meta │ └── main.yml ├── tasks │ └── main.yml ├── templates ├── tests │ ├── inventory │ └── test.yml └── vars └── main.yml 변수 세팅 정적 변수는 defaults의 main.yml에 작성한다. --- # defaults file for arkinfo-deploy server..
Ansible role? Ansible role은 개발로 치면 일종의 FrameWork이라고도 볼 수 있겠다. 관리해야 할 서버가 많아지고, 해야 할 작업들이 많이지게 되면 playbook들도 많아 지게 될거고, 유지보수가 쉬우려고 사용한 Ansible을 유지보수 하느라 시간낭비를 할 수 도 있게 되는 상황이 올텐데 디렉토리 구조를 지정해 줌으로 써 이러한 상황들을 방지하는 역할이다. https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html Roles — Ansible Documentation The classic (original) way to use roles is with the roles option for ..
서론 개발을 시작 할 때 쯤에는 DevOps라는 개념이 없었다. 요즘에는 협업, 어플리케이션의 안정성, 커뮤니케이션 코스트 감소, 빠른 개발 등 다양한 이유로 DevOps형태의 문화가 넓게 정착되었다. 그러면서 엔지니어들은 의외로 알아야 할 범주들이 또 넓어졌는데.. (업무 효율성이 올라가긴 하지만 공부해야 할 범위가 넓어진 것도 맞다) 개발과 커뮤니케이션 툴 이외에 추가적으로 알아야 할 개념들은 CI/CD , IaC , Monitoring , Test 등이 될 것 같다. 이중 IaC에 해당하는 Ansible과 CI/CD 쪽에 해당하는 Jenkins를 이용하여 EC2 자동배포 툴을 만들어 보려고 한다. Ansible쪽을 살펴보면서 여러 서버를 손쉽게 구축할 수 있도록 도와주기도 하고, 배포, 유지관리에도..