본문 바로가기

Dev/Infra & Module9

CI/CD란? CI (Continuous Integration) 지속적인 통합을 의미한다. 개발자를 위한 자동화 프로세스를 통하여 새로운 코드 개발과 코드의 변경사항이 정기적으로 빌드 및 테스트되고 공유리파지토리에 병합되어 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드를 작업할 경우에도 서로 충돌 없이 원하는 개발작업을 수행하고 문제를 해결할 수 있다. CI의 기대효과 리파지토리관리, 빌드 자동화, 셀프 테스트, 반영을통해 프로세스를 구현하여 최신의 상태에 문제가 없음을 확인한다. 이로 인하여 개발자는 Dev 환경에 수동으로 작업을 해야하는 부분들이 없어지게 되기 때문에 개발 생산성이 향상되고 버그를 더 빠르게 발견하고 해결할 수 있다. 버그를 빠르게 확인할 수 있다는 내용은 내가 개발한 Feature에서.. 2022. 12. 27.
Terraform AWS EKS Terraform에서 AWS Provider를 통해서 인프라를 구성이 가능하다. VPC, Instance, SQS등등 각족 AWS에서 제공하는 리소스들에 대해서 코드로 작성하여 인프라를 구성할수 있다. 자세한 가이드는 해당링크를 참조해서 Example을 확인하여 원하는 리소스를 찾아서 코드를 작성하면 된다. https://registry.terraform.io/ Terraform Registry registry.terraform.io 하지만 이 구성을 내가 원하는대로 Terraform Code로 작성하기 위해서는 인프라의 구성에 대한 그림이 머리속에 있거나 아키텍처의 그림을 그려놓지 않으면 제대로 인프라가 구성되지 않을 것이다. 조금 경험을 해보고 느낀점은 그냥 무작정 코드를 작성하는 것 보다는 어떤 서.. 2022. 9. 15.
Terraform Plugin 설치 환경구성 Terraform이 Iac다보니 Intellij에서도 plugin으로 Terraform을 지원해준다. 플러그인이 문법이나 자동완성등 HCL, HIL 언어를 지원해준다고한다. (HCL, HIL : HashiCorp Configuration/Iterpolation Language) Plugin 설치 Intellij Plugin에서 Terraform을 검색하면 Terraform and HCL의 플러그인을 설치하면된다. Git Repository 인프라는 혼자서 사용하지 않기 때문에 관리를 위해 Git을 통하여 관리하도록 환경을 구성한다. GitLab, GitHub등 별도의 Repository를 통하여 형상관리를 하는것을 추천한다. Code 작성 Terrafrom은 *.tf파일을 통해 인프라를 설정한다. 플러그.. 2022. 9. 15.
Terraform 이란 간단히 말하자면 인프라스트럭쳐를 코드로 관리하는 방식의 툴이다. 코드형 인프라라는 뜻으로 IaC(Infra as a code)라고 한다. 장점 코드로 서버를 생성하기 때문에 서버운영 및 관리가 모두 자동화 될수 있다. 코드로 수행하기 때문에 빠르고 실수를 방지 할수 있다. 인프라 코드가 기록, 관리되어 문서화 되고 형상관리가 가능하다. 코드리뷰와 테스트로 사전에 장애를 예방할수 있다. 기본 구성 프로비저닝(Provisioning) 어떤 프로세스나 서비스를 실행하기 위한 준비 단계 네트워크나 컴퓨팅 자원을 준비하는 작업 프로바이더(Provider) 테라폼과 외부 서비스를 연결해주는 기능 AWS, GCP, Azure, GitHub, Datadog 특정 기능을 제공하는 서비스들과의 연결 리소스 프로바이더가 제.. 2022. 9. 15.