-
EKS로 빠르고 안정적인 서비스 구축하기 - 환경 구성 2EKS 2019. 4. 21. 22:52
앞에서 우리는 기본적인 작업환경을 세팅해 봤는데요... 본격적으로 코드로 인프라를 관리하기 위한 툴인 Terraform과 Helm, 그리고 이들의 개발도구인 Visual Studio Code를 설치해 보도록 하겠습니다. Terraform 설치 AWS에도 자체적으로 CloudFormation을 제공하기는 합니다. CloudFormation을 사용하면 GUI 환경에서 간단한 설정으로 손쉽게 관리 코드를 만들 수 있습니다. 하지만 CloudFormation의 코드 가독성이 별로 좋지 않고, GUI에서 설정의 제약으로 일부 코드 수정을 해야 되는 경우가 발생하는데, 이 때 코드 수정의 어려움이 컸었던 걸로 기억합니다. 그래서 Terraform을 이용해서 간단한 문법과 간결한 코드 관리를 할 수 있었습니다. 또한..
-
EKS로 빠르고 안정적인 서비스 구축하기 - 환경 구성 1EKS 2019. 3. 19. 02:00
EKS 서비스 환경을 구축하기에 앞서 우리는 앞으로 이 시스템을 어떻게 운영을 할 것인지에 대해 고민을 해야 됩니다. kubernetes나 docker로 서비스를 구성한다는 것은 최근에 유행하는 마이크로 서비스 아케텍쳐(MSA)에 맞는 인프라를 구성하고 운영해야 된다는 것이고, 서비스가 늘어남에 따라 그만큼 관리 포인트도 기하 급수적으로 늘어날 수 밖에 없습니다. 특히 EKS 환경은 기존의 베어메탈이나 VM 환경 보다도 더 많은 서비스의 생성과 삭제, 구성의 변경들이 발생하게 될 것이니깐요. 이런 다양한 요구사항을 소수의 인력으로 감내하기 위해서, 우리는 유용한 도구를 선정하고 학습할 필요가 있습니다.그러기 위해 우리는 아래와 같은 환경 구성에 대한 방향을 정해 보았습니다.AWS의 인프라는 Hashico..
-
EKS로 빠르고 안정적인 서비스 구축하기 - 프롤로그EKS 2019. 3. 18. 01:28
안녕하세요~ 오랜만에 새로운 주제로 글을 쓰게 되었습니다. 제가 작년 연말에 이직을 하게 되면서... 회사 적응기를 거쳐 1월부터 신규 프로젝트에 투입이 되었는데요.그 과정에서 기존에 docker container 환경을 AWS에 구축하는 업무를 담당하게 되었습니다. 처음 일주일 동안은 AWS와 ECS, Terraform에 대해 스터디를 하며 서비스를 하나씩 올리고 있었는데요...그러던 1월 10일 Amazon에서 EKS 서울 리전이 오픈 했다는 소식이 전해지며, 제가 담당한 프로젝트도 EKS로 구축하기로 의사결정이 되었습니다. 나이스 타이밍???? 사실은 기존 프로젝트가 PKS에 이미 구축이 된 상태라서 ECS보다는 EKS가 구축하기엔 더 수월할 수도 있었는데요...문제는 이제 막 한국에 오픈한 EKS..
-
오픈소스로 구성하는 데브옵스 시스템 - AWX 개발 빌드 구성DevOps 2018. 11. 19. 22:19
앞에서 AWX의 소스코드를 받아 한글화 파일을 추가하는 작업을 진행해 보았습니다.하지만 소스코드만 빌드해서는 변경된 내용을 확인할 수 없습니다.개발모드로 docker 컨테이너를 빌드하고 실행까지 진행해 보겠습니다. 우선 docker-compose를 설치하도록 합니다.pip install docker-compose 또한 Node 8.X LTS와 NPM 6.x LTS 을 설치합니다. Node.js의 경우 아래 다운로드 사이트에서 환경에 맞는 설치 파일을 다운로드 받습니다.https://nodejs.org/dist/v8.9.4/ NPM의 경우 기존에 설치한 버전이 있어서 업그레이드를 진행 하였습니다.sudo npm install -g npm 여기까지 빌드 환경이 준비되면, local settings 파일을 생..
-
오픈소스로 구성하는 데브옵스 시스템 - AWX 한글화 작업DevOps 2018. 11. 15. 17:37
이번에는 AWX의 한글화 작업을 진행해 보겠습니다. 보통 AWX는 dockerhub에서 제공하는 이미지로 설치를 했었는데요. 처음에는 단순하게 Docker container 안에 locale 파일만 추가하면 될 줄 알았지만....결국에는 개발환경을 구축하고 소스코드를 수정해서 새로운 Docker image로 빌드까지 해야 했습니다. 저의 개발환경은 아래와 같습니다.- OS : macOS Mojave- python 2.7, django 1.11.16, Docker 18.06.1-ce, git- IDE : PyCharm Pro , poediter 개발환경은 본인이 편하신 환경으로 구축하시면 될 듯 합니다. 개발환경 구축이 완료되면 AWX github project에서 소스를 clone 받아 주세요.clone..
-
오픈소스로 구성하는 데브옵스 시스템 - Ansible 구성 이슈1DevOps 2018. 10. 30. 11:05
안녕하세요! 너무 오랜만에 글을 쓰면서 어떤 내용을 올릴까 하다가 최근에 Ansible을 구축하면서 발생한 오류들에 대해 한번은 정리하고자 합니다. ^^ 그동안은 윈도우와 리눅스...그것도 CentOS 6나 7 환경에서만 구축해서 별다른 문제가 없었는데요...최근에 이직을 하면서 Unix, AIX, HP-UX, 그리고 CentOS 5 등의 Legacy System에서 구축을 하다보니 정말 다양한 문제들이 발견 되었습니다. SyntaxError? future feature absolute_import is not defined Ansible 2.4 버전 부터는 Python 2.4/2.5 버전에 대한 지원을 하지 않습니다.그래서 Ansible 2.3에서는 잘 동작하던 Playbook이 업그레이드 이후 위와 ..
-
오픈소스로 구성하는 데브옵스 시스템 - Ansible의 Dynamic InventoryDevOps 2018. 6. 5. 20:26
제 블로그를 보시고 Ansible & AWX를 구축하시는 분들이 계신데요...사용하시면서 Host를 등록하는 번거로움이 많으신 듯 합니다. 저희는 150대 정도 밖에(?) 안되서 일일이 한땀한땀 등록하기는 했는데....생각해보니 수백, 수천대를 관리하는 회사에서는 Inventory 마다 서버를 등록하는 것도 여간 노다가성의 업무가 아닌가 싶습니다. 그래서 해당 문의를 받고 방법을 찾아보니 Ansible에서 제공하는 Dynamic Inventory 라는 기능으로 Inventory와 Host의 관리가 가능하다는 것을 찾았습니다. 관련 문서는 Ansible Documentaion의 Working With Dynamic Inventory 라는 chapter를 봐주세요. ^^문서를 보면 Cloud VM 리스트, ..
-
오픈소스로 구성하는 데브옵스 시스템 - Ansible과 AWX를 이용한 예제3DevOps 2018. 5. 31. 00:42
오랜만에 글을 작성하네요. ^-^ 잠시 현재 저의 이야기를 하자면...조만간 ISMS 심사대응이 있어 얼마전까지 모든 서버의 취약성을 점검하는 작업을 진행했습니다.작년까지는 각 서버에 보안팀에서 건내준 스크립트를 업로드하고, 이를 각각 실행해서 나온 결과물을 또 일일이 다운로드 받아서 다시 보안팀에 넘겨주는 작업을 했었는데요...이를 진행하는데 2주(?) 정도 걸린 듯 했습니다. 그런데 이번에는 ansible을 이용해서 위 작업을 3분만에 끝냈네요...ㅎㅎㅎ 물론 Playbook을 작성하는데 이틀정도의 시간이 걸리기는 했지만....정말 ansible과 awx 구축은 신의 한 수 인 듯 합니다. Ansible로 ISMS 취약성 점검 shell script 실행 및 결과물 취합 아래는 스크립트 배포 및 실행..