개요 서버 어플리케이션에 기능을 추가 하려면 개발자가 개발자 노트북에서 개발을 완료 하고 테스트까지 한 다음에 이상이 없으면 사용자가 사용할 수 있게 수정된 내용을 서버에 반영해야 합니다. 서버에 반영을 하는 것을 '배포'라고 하고 배포 하기 위한 준비 과정을 '빌드'라고 합니다. Build란? 빌드는 서버에 올릴 수 있는 상태로 만드는 것을 빌드라고 합니다. 서버에 올려서 사용자가 사용 할 수 있게 하는 것은 배포(Deploy)라고 합니다. 예를 들어 SpringBoot 어플리케이션을 쿠버네티스에 배포하는 경우 먼저 Maven이나 Gradle로 빌드를 해서 .jar이나 .war를 만든 후 Docker빌드를 해서 Docker Image를 만듭니다. 그 후에 k8s에서 .yml파일에 이미지 버젼이 바뀐것을..
jenkins와 aws code commit 연동 jenkins로 aws eb에 배포하게끔 구성을 하려고 한다. code commit 연동하는 포스트를 못찾아서 직접 해본다. https://d1.awsstatic.com/Projects/P5505030/aws-project_Jenkins-build-server.pdf 이거 참고함 I 가장 먼저 해야 할 것은 jenkins와 code commit연동이다. 이게 무슨뜻이냐면1. code commit에 push하고2. jenkins에서 '빌드'를 누르면 3. jenkins에서 code commit에 pull해서 받아지게 하는 것이 되어야 그 다음을 할 수 있다. Manage Jenkins -> Manage Plugins Available탭 클릭 -> 우측상단 ..
AWS DMS로 mysql to redshift 마이그레이션하기aws에 db를 띄우고 redshift로 data warehouse를 구축 하려고 할 때 redshift로 데이터를 계속 보내주어야 하는 이슈가 있다. 데이터를 계속 동기화 해줘야 하는데 스트림으로 하면 관리 하기도 어렵고 한데 마침 AWS DMS라는게 있어서 이걸로 하면 된다.그런데 DMS로 작업을 만들어서 mysql에서 redshift로 할려고 하니 잘 안되는데 클라우드와치를 켜고 로그를 보면 아래와 같은 로그들이 나오는데 이 문제들을 해결하면 된다.핵심은 이진로그(bin_log)를 on해주어야 하는데 이게 메뉴얼이 잘 없어서 찾기가 힘들었다. 2018-08-14T01:45:37 [SOURCE_CAPTURE ]E: Binary loggin..
나는 mac을 쓰고 bash대신 zsh를 쓴다. vim ~/.aws/config에 들어간다 [krk_dev]region = ap-northeast-2output = json위와 같이 []안에 원하는 프로파일 이름을 넣고 리전, 아웃풋을 넣는다. vim ~/.aws/credentials 에 들어간다[krk_dev]aws_access_key_id = aws_secret_access_key = 키와 시크릿을 입력한다. vim ~/.zshrc 에 들어간다.export AWS_PROFILE=krk_dev위 한줄을 추가 한다. =다음에 오는건 위에서 설정한 프로파일 이름이다.:wq로 저장 하고source ~/.zshrc 를 입력해서 zsh를 다시 실행 한다. 또는 set AWS_PROFILE=krk_dev 를 이용..
aws Rds MySql에 부하를 줘서 db를 뻗게 하려면? 요즘에는 안죽는 서비스에 대해서 고민중입니다. 서비스에 장애를 하도 겪어서 백엔드 개발자의 숙명이라 할 수 있겠지 싶은데 백엔드는 한발한발 나가는게 쉽지가 않습니다. 이게 어플리케이션을 만드는게 중요한게 아니고 만들긴 만들었는데 올려서 서비스를 할 때 안정적이어야 합니다. 이것은 무슨말인고 하면 ddos가 들어와도 안뻗어야 합니다. 안뻗는 서비스는 만들기가 쉽지가 않습니다. 그렇게 경력이 많은 엔지니어들이 끊임없이 고민을 해야 겨우 될까말까 하는 것. FileListGetter.java @Slf4j public class StringListGetter { public List getList(String fileLocation, String fi..
AWS Aurora가 Replication을 걸기가 좋다. 장애(Fail Over)가 나면 오로라가 read-only였던 다른 Replication을 read/write로 바꾸고 마스터로 올려서 서비스가 계속 되게 해준다.그런데 전에 만들어 놓았던게 mysql이면 이 기능이 안되기 때문에 오로라로 바꿔주어야 한다. 그래서 마이그레이션 작업을 해주어야 한다. 그런데 마이그레이션을 할려면 아래 단계로 해야 한다.1. 지금 작동중인 db에 io가 일어나지 않게 client를 멈춘다.2. db덤프를 뜬다.3. db를 새로 띄운다.4. 새로 띄운 db에 덤프 띄운걸 붓는다. 이런 복잡한 과정을 거쳐야 하지만 aws를 이용하면 버튼 클릭 몇번으로 다 할 수 있다. 참 괜찮은 서비스 인것 같다. Aurora 읽기 전..
aws aurora db 레플리케이션 걸기 서비스 사이즈가 커지면 db io가 늘어나는데 이때 부하를 분산 시켜주는 방법 중에 하나가 레플리케이션이다.백엔드 환경은 스프링부트에 jpa를 쓰는데 mysql 도큐먼트를 보니 spring datasource 설정 할 때 .yml에서 아래와 같이 replication:를 넣고 master, slave 두가지 url을 넣어주라고 되어있다.jdbc:mysql:replication://:3306,:3306/db1?loadBalanceConnectionGroup=first&ha.enableJMX=true이렇게 세팅 하면 , 이렇게 할 경우에 read-only라고 에러가 난다. 그래서 꼭 , 순으로 세팅 해줘야 한다. 일단 이게 되는것까지는 확인을 했고 read를 wri..
auction-price.co.kr이라는 도메인을 구입해서 aws에 생성한 서비스에 연결을 하려고 합니다. Route53 -> 호스팅 영역 -> 호스팅 영역 생성 으로 갑니다. route 53서비스에 가서 호스팅 영역(Hosted Zone)을 만듭니다. 구입한 도메인을 입력 합니다. 저는 auction-price.co.kr을 구매 했기 때문에 auction-price.co.kr을 입력 했습니다. 스크롤을 아래로 내려 '호스팅 영역 생성' 버튼을 누릅니다. 그러면 호스팅 영역이 하나 생겼습니다. 눌러봅니다. 그러면 이런 식으로 만들어 지는데 위 화면에 value에 있는 것을 도메인 구입한 곳에 가서 등록 해주면 된다. 나는 hosting.kr에서 샀다. '네임서버 주소 변경'을 선택 한다. 기존에는 이렇게..
- Total
- Today
- Yesterday
- 도커티슈케이스
- 도커티슈박스
- docker container tissue
- 개발자
- docker container tissue box
- vim
- 도커각티슈박스
- 도커각티슈케이스
- 도커컨테이너
- shellscript
- Linux
- Sh
- 2017 티스토리 결산
- docker container whale
- 이직
- docker container
- docker container case
- 싱가폴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |