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에서 샀다. '네임서버 주소 변경'을 선택 한다. 기존에는 이렇게..
JAVA Aws Credential만들기 Java에서 AWS의 서비스에 접근 하려면 Java에 AWSCredentials 오브젝트가 필요합니다. import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.services.redshift.AmazonRedshiftClient; public class Hello { public static void main(String[] args){ AWSCredentialsProvider acprovider = Defau..
카나리아(canary) 테스트란? 테스트 기법 중 하나로써 운영 환경에 '카나리아 환경'을 하나 만들어 놓고 트래픽의 일부를 카나리아 환경으로 보내서 운영 환경에서 테스트 했을때 리스크를 줄이는 방법입니다. '카나리아 테스트'란 이름이 나오게된 배경은 카나리아가 공기에 민감하기 때문에 광산에서 일산화 탄소가 많아지면 카나리아가 반응하거나 죽기 때문에 위험을 미리 알 수 있었다고 합니다. 개발을 할 때 운영 환경에서만 나는 문제들이 있기 때문에 운영환경과 새로 수정한 프로그램이 잘 작동하는지 테스트를 꼭 해봐야 하는 경우에 테스트 방법중에 하나로 사용됩니다. end.
aws configure로 profile 설정하기(local, dev, qa, prod) aws를 사용하면 환경을 여러가지 구축을 해야 하는데 dev, qa, prod 보통 이렇게 3가지 환경을 구성한다. 개발, qa, 운영 이런식으로. 거기에 local까지 해서 3~4군데 설정을 하는데 이걸 profile(프로파일)이라고 한다. 그러면 local과 dev환경 설정 정보가 다른데 이걸 먼저 입력을 해야 하는데 그때 사용하는 명령어가 aws configure --profile 이다. 아래 명령어는 local환경 설정 정보를 입력하는 명령어이다.aws configure --profile localAWS Access Key ID [****************QURQ]:AWS Secret Access Key ..
1.vim으로 credentials를 열어서 profile을 등록 한다vim ~/.aws/credentials 형식은 다음과 같다[default]aws_access_key_id = aws_secret_access_key = [local]aws_access_key_id = aws_secret_access_key = [dev]aws_access_key_id = aws_secret_access_key = 2.export 명령을 이용해 환경 변수를 등록 한다.export AWS_PROFILE=local이 명령어는 재부팅 하면 사라진다. 주의 할 것 3.잘 등록 되었는지 출력 해본다echo $AWS_PROFILE 4.vim으로 config를 열어서 region을 설정 해준다.vim ~/.aws/credential..
serverless로 aws-java-gradle 앱 빌드하고 배포하기 https://serverless.com/framework/docs/providers/aws/cli-reference/create/ 요약 serverless create --template aws-java-gradle --path serverless/aws-java-gradle01 sh gradlew build serverless deploy custom으로 하는 경우 config credentials --provider aws --key --secret --profile custom-profile maven으로 하는 경우 sls create --template aws-java-maven --path ./aws-java-maven01..
- Total
- Today
- Yesterday
- docker container tissue box
- docker container tissue
- 도커티슈케이스
- 도커티슈박스
- 도커컨테이너
- vim
- 도커각티슈케이스
- Sh
- 2017 티스토리 결산
- 도커각티슈박스
- 개발자
- docker container whale
- 이직
- Linux
- docker container
- shellscript
- 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 | 31 |