어느 평화롭게 Terraform 코드를 고치고 있던 어느날 Github에 PUSH를 하기 위해 Merge를 하니 CONFLICT 에러가 발생했다!! 처음에는 아주 당황해서.. 옆 부서 인원에게 도움을 받았다.. 도움을 받고 그 이후에 왜 이런 문제가 발생했는지/대처할 수 있는 방법에 대해서는 어떤게 있을지에 대해 공부한 내역을 간략하게 정리한다. 그렇다면 CONFLICT 에러는 무엇일까? 간단하게 말하면, 서로 다른 User or Branch에서 같은 파일을 수정할 때 발생하는 오류이다. 위 그림의 예시를 들어보겠다. 1. John과 Bob은 동일함 Version 1.0에 대함 Branch를 만들어서 코드를 개발한다. 2. 하지만 우연히 John, Bob 모두 동일한 service.html를 수정한다. ..
테라폼에는 많은 기본 개념이 있다. 이제 하나씩 배우는 단계이므로 각 개념에 대해서 정리하고자 한다. provider란? 테라폼은 AWS뿐만 아니라 다른 플랫폼에서도 사용이 가능하다. 그렇기에 해당 테라폼 코드가 어떤 플랫폼에서 실행을 할지 결정해주는 부분이라고 보면 된다. 일반적으로 aws 플랫폼 지정 외 아래와 같이 테라폼 코드로 리소스 생성을 할 수 있는 IAM 계정에 대한 정보를 많이 적는다. 만약, Key로 로그인하는 경우는 아래와 같이 Key 정보를 명시적으로 입력해주면 된다. 그리고 만약 okta 등으로 로그인이 대체되어 있다면 아래와 같이 credential 정보가 있는 경로를 지정해주면 된다. resouce란? 테라폼에서 가장 중요한 부분이다. 실제 리소스를 생성하기 위한 형태라고 이해하..
요즘 트렌드?는 IaC인 것 같다. 인프라를 직접 웹 콘솔로 들어가서 생성하는 것이 아니라 Code형태로 만들고 이를 배포함으로써 손쉽게 생성 및 삭제/관리할 수 있는 장점이 있다. 특히 IaC의 대표적인 Tool은 Terraform(이하 테라폼)이 있고, Ansible(이하 앤서블)이 있다. 이전에 다수의 서버에 일괄적으로 스크립트 파일을 배포하기 위해서 앤서블을 사용해보았다. 물론 앤서블도 사용하기가 편하지만 요즘은 테라폼이 대세라고 한다. (실제 원티드 등의 Cloud 관련 공고를 보면 테라폼에 대한 우대사항이 많다.) 그렇다면 테라폼이란 무엇일까? 쉽게 말하면 테라폼은 Hashicorp에서 제작한 IaC 도구이다. 즉 인프라를 코드로 관리하기 위한 도구라고 보면 된다. 필자가 느낀 가장 큰 장점은..
필자가 재직중인 회사에서는 매년 정기적으로 각 서버의 취약점을 점검하기 위해 취약점 점검 스크립트를 실행하고 조치하고 이행점검을 하는 등의 반복적인 일을 하고 있다. 서버 취약점 점검 솔루션을 구매하여 운영한다면 편하겠지만, 상황상.. 솔루션은 없으므로 자체 점검 스크립트를 제작하여 직접 스크립트를 실행하여 취약점 점검을 진행하고 있었다.(작년까지만 해도..) 근데.. 서버 대수가 늘어남에 따라 수동으로 하기에는 너무너무!! 힘들어서 이를 자동화 하기 위한 방법을 알아 보았고, 타사에 재직 중인 지인을 물어보니깐 Ansible을 통해 원격에서 일괄 점검한다는 소식을 듣고 나도 시스템을 구성해보기로 했다!! Ansible이란? Ansible로 검색해보면 IaC란 키워드가 바로 보인다. IaC는 Intfas..