본문 바로가기
반응형

DevOps76

EC2 (Amazon Linux 1) 에 Jenkins 설치하기 아마존 리눅스 1에서 Jenkins 설치 하는 방법이 여기저기 퍼져있어, 하나의 글로 정리합니다. 1. 버전 확인 먼저 현재 자신의 서버가 아마존 리눅스 1이 맞는지 확인합니다. 기억이 안나신다면 서버에서 아래 명령어로 버전을 확인합니다. cat /etc/*release Linux2가 적혀있지 않다면 1이 맞으니 그대로 진행하시면 됩니다. Linux1의 경우 실제로 Centos 6.x 버전이라 Centos 6을 쓰시는 분들도 동일하게 쓰시면 됩니다. 2. Jenkins 설치 먼저 yum update로 최신화 합니다. sudo yum update -y 그리고 Jenkins를 설치해보겠습니다. 여기서 다른 서비스들 처럼 yum으로 Jenkins를 설치하려고 하실텐데요. 기본 패키지에는 Jenkins가 포함되.. 2019. 8. 13.
3. Ansible (앤서블) 로 전체 서버 사용자 추가하기 - 플레이북으로 개선하기 이번 시간에는 앤서블의 플레이북 (Playbook) 을 통해 그동안 CLI를 하던 방식을 개선해보겠습니다. 모든 코드는 Github에 있습니다. 3-1. 플레이북? 앤서블 공식 홈페이지의 플레이북 소개를 한번 보겠습니다. 플레이북은 앤서블의 설정/배포/오케스트레이션 (역주. 통합자동화/통합솔루션등) 언어 입니다. 호스트서버에서 시행할 정책이나 일반적인 시스템 프로세스의 단계를 설정할 수 있습니다. 만약 앤서블의 모듈이 작업장의 도구라면, 플레이북은 지침서, 호스트들의 인벤토리는 원재료입니다. 소개글을 살짝만 보더라도 플레이북이란 앤서블의 명령을 모아놓은 설계서와 같다는 것을 알 수 있습니다. 플레이북은 쉘이나 DSL (Domain Specific Language, 특정 도메인에 특화된 언어) 과 같은 프.. 2019. 8. 9.
AWS의 Certificate Manager 로 SSL 인증서 발급 받기 보통 서비스가 소규모라면 1대의 서버에 Nginx를 설치하고 Let's Encrypt 를 설치해서 SSL을 등록합니다. 다만 이럴 경우 트래픽이 늘어 로드밸런서 + 여러 서버 구성으로 확장하기가 쉽지 않습니다. 불가능하진 않습니다. Nginx를 ELB 대신에 로드밸런서로 사용하면 됩니다. AWS의 Certificate Manager로 생성한 인증서는 무료입니다. 사설 기관은 비용이 청구됩니다. Certificate Manager 서비스로 이동합니다. 인증서 프로비저닝의 시작하기 버튼을 클릭합니다.공인 인증서 요청을 선택하고 다음으로 이동합니다.본인이 SSL을 설치하고자 하는 도메인을 등록합니다. (여기서 도메인을 사는건 아닙니다.) 아래와 같이 *.aaa.com 식으로 등록하면 *로 인해 하위 도메인들이.. 2019. 8. 4.
2. Ansible (앤서블) 로 전체 서버 계정 추가하기 - CLI로 계정 추가하기 이번 시간엔 앤서블 CLI를 통해 각 호스트에 루트 권한을 가진 계정을 추가해보겠습니다. 2-1. 모듈? 실습에 들어가기 앞서 앤서블의 모듈에 대해 간단하게 소개하겠습니다. 앤서블의 공식 홈페이지에선 모듈에 대해 다음과 같이 소개합니다. 모듈 (Task 플러그인, 라이브러리 플러그인 이라고도 함) 은 CLI나 플레이북 작업에서 사용할 수 있는 별도의 코드 단위입니다. 공식 홈페이지에서 소개한것과 같이 모듈은 일종의 라이브러리 플러그인입니다. OS 작업 (패캐지 설치/사용자 관리 등) 파일 작업 (복사 등) 데이터베이스 작업 (사용자/테이블 관리 등) 등의 작업들이 모듈이라는 미리 정의된 플러그인으로 쉽게 작업할 수 있습니다. 여기서 한가지 의문이 드실텐데, 쉘 스크립트로 명령 수행해도 다 할 수 있는 일.. 2019. 7. 23.
1. Ansible (앤서블) 로 전체 서버 사용자 추가하기 - 호스트 연결하기 개인적으로 새로운 기술을 배우는데 있어 책을 보는 것은 학습에 도움이 되지 않았습니다. 항상 그 기술을 이용하여 무엇이든 실용적인걸 만들때 빠르게 습득할 수 있었습니다. 그래서 앤서블 역시 제가 필요한 도구를 만들면서 익혀보려 합니다. 이 과정은 어디까지나 IDC 환경에서 어떻게 인프라 작업을 쉽게 할 것인지가 주 초점입니다. 즉, 클라우드 못쓰는 상황이라는 가정하에 진행합니다. 그래도 실습 환경은 AWS EC2를 사용합니다 ㅠ 물리장비가 없어서 ㅠ 테라폼 / 오픈스택 / 클라우드포메이션 뿐만 아니라 호스트 서버들은 인터넷도 안되는 상황이라고 가정합니다. IDC 인프라에서 정말 필요하면서도 귀찮은 작업인 전체 서버에 신규 서버 계정 추가하기를 앤서블로 해결합니다. 아래는 이번 커리큘럼 목차입니다. 앤서블.. 2019. 7. 21.
서로 다른 EC2 인스턴스간에 연결하기 (feat. Ping) 서로 다른 EC2 인스턴스간에 통신이 필요할때가 있습니다. 앤서블을 통한 전체 명령어 수행 쉘 스크립트 혹은 젠킨스를 통한 명령어 수행 등등 외부에서 ssh 혹은 scp 명령어 수행 등이 필요한 상황입니다. 기본적으로는 해당 EC2의 IP를 보안 그룹에 추가하는 걸로 해결이 됩니다. 다만 이 방식은 IP가 변경 되면 무용지물이 됩니다. 오토 스케일링 그룹 (ASG) 으로 신규 추가된 서버들 빈스톡 (Beanstalk) 으로 신규 추가된 서버들 EIP (탄력적 IP) 를 사용하지 않는 서버의 재부팅 이런 경우 매번 보안 그룹에 신규 IP를 추가해야만 합니다. 이 과정이 너무 귀찮으니 다른 해결책을 진행해보겠습니다. 1. 환경 먼저 2개의 EC2 인스턴스가 있다고 가정합니다. 둘은 서로 다른 보안 그룹을 가.. 2019. 7. 21.

728x90