Louie NRT Story

[Cloud_Training] Pipeline & ElasticSearch Project 본문

서버시스템

[Cloud_Training] Pipeline & ElasticSearch Project

hyeok0724.kim@gmail.com 2019. 1. 25. 16:26
반응형

190125_Pipe_Elasticsearch.pptx

Raspberry_task01_deploy.zip


개요

- Design

- IAM

- 배포할 EC2만들기

- Github 만들기

- CodeDeploy

- CodePipeline

- Code Commit

- Process of deploy

- ElasticSearch

- Result



Design


Senario

1. Developer가 Code를 Github에 Push 함

2. AWS는 새로운 Code를 서비스 중인 RaspberryPi에 Code를 배포함

3. RaspberryPi는 최신 버전으로 업데이트 된 Code로 서비스를 실행함

4. RaspberryPi는 온습도 데이터를 ElasticSearch로 보냄

5. User는 Kibana를 통하여 온습도 정보를 볼 수 있음




IAM


기존에 Codedeploy 역할이 생성되어 있음을 확인함



정책 생성 버튼 클릭함


정책을 하나 생성함


역할 만들기 버튼 클릭함


EC2 서비스 선택


위에서 생성한 정책을 연결함

위에서 생성한 정책을 연결함



Make EC2 is deployed




Input IAM role made before.

Because connect S3.


#!/bin/bash

yum -y update

yum install -y ruby

yum install -y aws-cli

cd /home/ec2-user

aws s3 cp s3://aws-codedeploy-us-east-2/latest/install . --region us-east-2

chmod +x ./install

./install auto



Github 만들기

Github에 개인 Repository를 만들어 놓음.


CodeDeploy


배포될 Computing Platform을 선택함.

필자는 미리 만들어 놓은 EC2에 배포할 것임



생성된 Application의 배포 그룹을 생성함



이름과 기존에 만들어 놓은 Deploy 역할을 추가함



배포 할 EC2를 선택함



배포구성과 LoadBalancer 사용 여부를 선택 후 배포 그룹 생성 버튼을 누르면 끝


CodePipeline


배포를 위한 Pipeline을 생성함


Pipeline에서 Code가 저장 될 S3의 위치를 설정함


Code의 위치를 알려줌. 여기서는 Github를 선택함


여기서는 Build가 필요 없으므로 건너뜀


배포 방법에 형태에 대해서 설정하여 줌

그러면 Pipeline 까지 모두 완성됨


Code Commit


Code Commit을 하게 되면 아래의 Pipeline에 의해서

자동으로 코드가 배포되고 있음을 확인 할 수 있음


Process of Deploy

.yml 파일: 배포가 될 때 어떻게 배포할 지 구체적으로 표현 할 수 있는 파일 임

자세한 내용은 1페이지에 링크되어 있음


배포 될 때의 절차는 다음과 같이 됨을 확인 할 수 있음



ElasticSearch

ElasticSearch의 새 도메인을 생성함


도메인의 이름을 적음


인스턴스는 1개로 하고 유형은 가장 낮은 것으로 함


Public IP를 할당 받음


누구나 접속 할 수 있도록 함


엔드포인트를 통해 Kibana와 ElasticSearch에 접속 할 수 있음


Result

자동으로 Process가 실행되면서 Log를 남기고 있음을 확인 할 수 있음


Kibana에서 RaspberryPI가 주는 데이터를 그래프로 표현해주고 있음을 확인 할 수 있음



[Reference] 

AWS Code Pipeline Example

- https://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/tutorials-simple-codecommit.html


AWS .yml File Example

- https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/application-revisions-appspec-file.html


Louie_Github

- https://github.com/LouieKim/ITBank_task01









반응형

'서버시스템' 카테고리의 다른 글

[SW Engineer] Types of Linux  (0) 2019.01.28
[Cloud_Class] 190123_IOTCore  (0) 2019.01.28
[SW Engineer] DevOps Engineer  (0) 2019.01.21
[SW Engineer] 정적분석과 동적분석  (0) 2019.01.21
[Cloud_Class] 190116_CodePipeline  (0) 2019.01.16
Comments