---
# System prepended metadata

title: 인프라 아키텍처

---

# 인프라 아키텍처

### 개발운영 - 아키텍처 -설계도 - CICD
https://velog.io/@ynsoo1225/%EA%B0%9C%EB%B0%9C%EC%9A%B4%EC%98%81-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%EC%84%A4%EA%B3%84%EB%8F%84-CICD-workflow
![](https://i.imgur.com/mHwdAjS.png)

### ECS, EKS 등
https://velog.io/@jch9537/AWS-AWS-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%84%9C%EB%B9%84%EC%8A%A4ECS-EKS

### DB replication
https://backtony.github.io/spring/mysql/aws/2021-09-28-spring-mysql-1/

### 
https://bosungtea9416.tistory.com/entry/AWS-IAM-%ED%82%A4%ED%8C%8C%EC%9D%BC-%EC%9C%A0%EC%B6%9C%EC%9D%84-%EB%8C%80%EB%B9%84%ED%95%9C-IP-%EA%B8%B0%EB%B0%98-Deny-IAM-%EC%A0%95%EC%B1%85?category=955613

### RDS
https://www.bespinglobal.com/bespins-pick-vol-11-aws-rds-vs-ec2/


# 따라하기용
## 무작정 해보는 ECS 따라하기용
https://dev.classmethod.jp/articles/ecs-container-service-establishment-2/

https://waspro.tistory.com/487?category=

## EC2 - ECS 차이점
http://daplus.net/amazon-web-services-amazon-ecs%EC%99%80-amazon-ec2%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C/

![](https://i.imgur.com/hEKHl9w.png)

![](https://i.imgur.com/F0AMR66.png)

![](https://i.imgur.com/DqBxucf.png)

![](https://i.imgur.com/U3UUZPJ.png)


## 깃허브 - 젠킨스 자동 배포
https://crispyblog.kr/development/common/10

## Jenkins
Jenkins를 사용하지 않으면, 사용자 한명이 최신의 버전을 update 후에, maven install 작업을 진행하고,

해당 프로젝트 (Spring boot 기준) war 파일을 서버에 올려서 풀어야 한다....

 

Jenkins를 사용한다면, 해당 작업 필요없이 , Jenkins 가 알아서, git or svn 과 연동되어 최신의 소스를 

update 받아서 알아서 script 형식으로 구동 및 빌드를 진행해준다.

쉽게 말해서, 빌드 자동화 툴이다.

 

 

그래서, 대부분 배치에대한 실행 혹은 개발/테스트 서버의 소스 배포등을 하는 곳에서 사용한다.

 
 
 

 

대부부은 3단계의 파이프라인 혹은 스크립트를 사용해서, 해당 배포를 진행하게 되고

해당 배포를 진행하면서, CI서버 (젠킨스를 띄워놓는 서버) 를 설정해서, 해당 부분을 다같이 사용한다.



### CI/ CD

https://jgrammer.tistory.com/entry/%EB%AC%B4%EC%8B%A0%EC%82%AC-%EC%8A%A4%ED%86%A0%EC%96%B4-watcher-CICD-%EB%8F%84%EC%9E%85%EA%B8%B0


### 카카오 엔터프라이즈 github actions 사용 이유
https://tech.kakao.com/2022/05/06/github-actions/


### 우테코 프로젝트에서 github actions 사용
https://tecoble.techcourse.co.kr/post/2021-09-23-continuous-deployment-with-github-actions/


### EC2-인스턴스-특정시간에-자동으로-시작-종료하기
https://velog.io/@young_mason/TSJ-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%ED%8A%B9%EC%A0%95%EC%8B%9C%EA%B0%84%EC%97%90-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EC%9E%91-%EC%A2%85%EB%A3%8C%ED%95%98%EA%B8%B0


https://jesuisjavert.github.io/2021/03/11/django-vue-aws/




## ** 나중에 참고할 로드밸런스 자료
https://jeonghoon.netlify.app/Jenkins/jenkins-codedeploy/

![](https://i.imgur.com/q0op6yZ.png)

### 아마존 EC2
https://nerd-mix.tistory.com/33?category=855099


## 명령어
ssh -i "bastion-key.pem" ec2-user@10.0.4.6


## docker 설치
```
sudo -i
yum install -y docker
service start docker
docker images
```

## docker file 생성
```
mkdir dockerfile-folder
cd dockerfile-folder/
vi index.html
```

- index.html
```
<!doctype html>
<h1>hello ecs!</h1>
```

- vi dockerfile
```
FROM nginx:latest
MAINTAINER "nyk3127@dgu.ac.kr"

COPY ./index.html /usr/share/nginx/html/index.html

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
```

- docker file build
docker build -t ecs-nginx .

- 컨테이너 생성
![](https://i.imgur.com/5RC5fox.png)
docker create -i -t --name ecs-nginx-container -p 8000:80 59aebb4c4b88

- docker start 컨테이너 id
![](https://i.imgur.com/tJXsAk4.png)
docker start ebbf0108f670


### RDS 만들기
![](https://i.imgur.com/onXeLwb.png)

