AWS
-
AWS ECS ELK, with FilebeatAWS/CI CD 구축 2022. 8. 13. 01:45
아이디어 & 구성 1) AWS ECS 의 ex. /var/log/ecs , 그 외 경로의 여러 로그를 filebeat가 수집하여 logstash로 전송한다. 2) logstash는 해당 로그를 받아 elastic search에게 전송 이후 kibana로 관찰 3) rest api 서버가 로그를 직접 쏘지 않게 하는 구성이며 4) rest api서버인 spring boot 는 ec2에 logs를 write만 하고, filebeat가 해당 파일을 logstash로 전송한다. 5) ecs 를 사용할 것이므로 rest api server, filebeat, logstash 모두를 Docker 생성 & 배포 해야 한다. 6) 이후 ecs에서 위 컨테이너를 관리한다. 환경 AWS ECS, Docker, filebe..
-
aws ecs s3 access deniedAWS 2022. 2. 27. 12:27
문제 ECS에 도커 컨테이너(spring boot) 이용해 REST API 개발중 S3 Access denied 에러를 발견 하였다. API 통해 유저 이미지 등을 s3 private bucket 에 올려야 하는 요구사항이었고 기존에 ec2에서는 ec2 IAM role에 s3FullAccess 등을 주어 개발에 무리가 없었다. 하지만 ecs2InstanceRole에 s3FullAccess 를 주었음에도 s3 access denied 에러가 해결이 되질 않았다. 해결 먼저 AWS IAM ec2InstanceRole에 s3FullAccess가 있음을 확인했다. -> API는 여전히 access denied를 반환 이 문제를 해결하기위해 많은 방법을 시도햇지만 결국 아래와 같은 방법으로 해결하였음 ecsIns..
-
You have reached your pull request limit DockerAWS 2022. 2. 27. 12:16
현재 AWS 의 ECS 를 이용해 서비스를 제공 중이다. AWS 의 codedeploy를 사용해 CI/CD를 구성하였는데 로그를 보니 다음과 같은 에러 발견 [Container] 2022/02/16 08:00:26 Running command docker build -t server . 977Sending build context to Docker daemon 236.7MB 978 979Step 1/4 : FROM openjdk:8-jre-alpine 9808-jre-alpine: Pulling from library/openjdk 981toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenti..
-
[2] AWS 이용 자동배포 구성하기(ECS, ECR)AWS/CI CD 구축 2021. 8. 6. 06:41
붉은색 영역인 ECR, ECS 를 먼저 구축한다. 다음을 가정합니다. 1. AWS VPC 구축되어 있음, 또는 기본 이해가 있음 2. api gateway 구축되어 있음, 또는 기본 이해가 있음 3. 도커에 대한 기본 이해 4. JAVA 및 Spring boot 에 대한 기본 이해 붉은색 영역인 ECS, ECR 구축은 다음과 같은 순서로 진행한다. 1. ECR 에 배포에 필요한 java, spring boot 이미지를 생성합니다. 도커 공개 Repository에서 받아오는 경우 횟수 제한이 있어 배포가 안될수 있습니다. 추후 글에 자세히 설명 2. ECS 에 대한 기본 설정을 진행 3. Spring boot 를 이용해 웹 서버를 생성하고 도커이미지를 만듭니다. 4. 3번에서 생성된 도커이미지를 ECR 에..
-
[1] AWS ECS, ECR, Codepipeline 을 이용한 서버 자동 배포 구성하기AWS/CI CD 구축 2021. 8. 3. 20:11
AWS ECS, ECR, Codepipe line 서비스를 이용해 서버 빌드 및 테스트 이후 도커 이미지 생성 후 블루/그린 배포를 구성하며 겪었던 이슈 및 구현 사항에 대해 공유 합니다. 작은 기업 또는 혼자 공부하시며 자동 배포를 구성하시는 분들께 도움이 되었으면 합니다. 먼저 머리속 내용과 최종 goal을 위 첨부 그림으로 표현해 봅니다. 아무래도 그림으로 보는게 알기가 쉽습니다. 최종 목표는 다음과 같습니다. 1. Github 특정 브랜치에 머지가 되는 경우 AWS codepipeline 에서 자동으로 빌드 및 테스트 진행 2. 빌드가 된경우 ECR 에 도커 이미지 생성 3. 정의해둔 ECS 의 Task에 의해 Cluster 기반으로 도커 이미지 생성 4. 블루 / 그린 방식으로 배포 ( 무중단 ..
-
Bastion -> ec2AWS 2021. 1. 23. 05:51
VPC public subnet : Bastion private subnet : backend_ec2 내부망 접속 방법 1. Bastion 접속 후 ssh 터널링을 통해 가능 1. AWS Bastion 접속 sudo ssh -i key.pem ec2-user@bastion_ip -L port:backend_ec2_ip:22 - port : 포트 포워딩 할 포트 지정 - backend_ec2_ip: 내부망 ec2 ip - 22 : bastion 에서 내부망에 위치한 ec2 인바운드 포트번호 2. 내부망 ec2 접속 2.1 1번으로 bastion 접속 후 2.2 ssh -i key.pem ec2-user@localhost -p port bastion_connect.script # ec2,아래 ip 수정 후 ..