일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- execute
- 일대다
- CHECK OPTION
- 연결리스트
- 백트래킹
- fetch
- 이진탐색
- dfs
- 다대일
- JPQL
- 유니크제약조건
- 비관적락
- 낙관적락
- PS
- 연관관계
- exclusive lock
- 동적sql
- FetchType
- 데코레이터
- SQL프로그래밍
- 즉시로딩
- 다대다
- 스프링 폼
- 힙
- eager
- shared lock
- 스토어드 프로시저
- 지연로딩
- BOJ
- querydsl
- Today
- Total
목록AWS (65)
흰 스타렉스에서 내가 내리지
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mY2I9/btsGcIYUnua/jXa6Tct4tKoS2kxpqcWQpK/img.png)
numpy 가 없대요 나는 scipy 랑 numpy 라이브러리를 쓸 건데, lambda 함수에서 import 할 수 있도록 한 번 해보죠 1. python 이라는 폴더를 만들어 봅니다. 2. 그 안에서 pip3 install 을 합니다. pip3 install numpy -t . pip3 install scipy -t . - 라이브러리들이 폴더 내에 설치될 수 있도록 한다. 3. python 폴더를 압축한다. 4. AWS Lambda 콘솔에서 '계층' 메뉴에 들어가, '계층 생성'을 누른다. 5. python.zip 파일을 업로드한다. 그럼 S3 에서 업로드하고 온다. 6. Lambda 함수로 돌아가서 [Add a layer] 7. 계층 선택
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cEfodA/btsF1c7Tait/dKZVSiZ416uwWmVhrA0MRK/img.png)
문제 원인 파악 Github Actions 로, 도커 이미지를 빌드한 후, ECS 에 자동 배포를 하고 있다. ECS 는 EC2 t2.micro(프리티어) 를 기반으로 동작중이다. CD 중에 memory 부족 에러가 발생하여 배포에 실패하였다. 해결 전에는 CPU 부족이 아닌 메모리 부족이라고 에러 메시지가 떴었다 why?? - (Rolling Update) 나는 ECS 에서 "롤링 업데이트 (Rolling Update)" 라고 불리는 업데이트 전략을 사용하고 있다. 롤링 업데이트 전략은, 서비스를 업데이트할 때 ECS 가 자동으로 새 버전의 태스크 인스턴스를 시작하고, 새 인스턴스가 정상적으로 시작되고 서비스에 트래픽을 성공적으로 수용할 수 있음을 확인한 후에 기존 버전의 태스크 인스턴스를 순차적으로 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yAJ4Q/btsxie7VrxG/FOkOdHseLOMd0FL9ghDqg0/img.png)
sudo yum install stress sudo yum install httpd-tools ab -n 400 -c 1 http://~~~.com -n : 총 요청할 횟수 -c : 동시 요청 수 (동시 요청수는 당연히 총 요청할 횟수를 초과하지 못함)
#cloud-config packages: - docker runcmd: - [ sh, -c, "usermod -aG docker ec2-user" ] - sudo service docker start - sudo docker run -d -p 80:80 --restart=always {ㅇㅇ}/{ㅇㅇ}:{태그} -v /etc/localtime:/etc/localtime:ro -e TZ=Asia/Seoul
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cDGKZK/btsxqxSXAJD/f2EAA6zCHllxcKAGs63vD1/img.png)
AWS 로드밸런서를 이용해 https 를 적용한 내 도메인을 노션으로 리다이렉션 시킨다. 로드밸런서로 들어가, https 의 규칙을 추가한다. http도 동일하게 진행하면 된다. '전체 URL' 부분에 리다이렉트할 게시된 우리의 노션 사이트를 삽입한다. 리스너 규칙은 크게 중요한건 아니다. 이제 route53으로 가서 도메인을 연결한다. 별칭을 설정하고, 로드밸런서를 지정해주면, 리다이렉트가 잘 될것이다.
ㅇㄴㄹ
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/U5LMB/btsuRIboGhD/jLmNxvUdzKlscRAMqZtAXK/img.png)
> 로그인이 필요한 경우? > Serverless 환경에서의 세션 관리 모든 람다마다 DB 커넥션을 가지고 데이터를 가져오는 것이 오버헤드가 될 수도 있다. 그래서 사람들이 고민하기 시작했다. 세션 정보 혹은 state 정보를 클라이언트가 보관하게 할 순 없을까? 라고 생각했다. 그럼 클라이언트가 그걸 보관하고 있다가 요청해서 주기만 하면, 람다는 그거대로 처리만 하면 되니까. 외부 스토리지 도움 없이 자체적으로 하나의 로직을 처리할 수 있게 된다. 그럼 문제가 뭘까? 클라이언트는 항상 변조가 가능하다. 내가 유저 등급 1인데, 10으로 바꿨어. 그럼 람다 입장에서는 그걸 그대로 믿는다. 그래서 클라이언트가 그 정보를 보관한다면 그걸 검증할 수 있는 로직이 필요하다. 그 방법 중의 하나가 바로 jwt이다..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dbm6Jh/btsuShEPW3h/qCFR2uJkKGK4mVh2vJz6qK/img.png)
Amazon Lambda를 사용하는 여러 방법 중 하나이다. "Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스입니다. API는 애플리케이션이 백엔드 서비스의 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있는 '정문' 역할을 합니다. API Gateway를 사용하면 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있습니다. API Gateway는 컨테이너식 서버리스 워크로드 및 웹 애플리케이션을 지원합니다." > API Gateway - AWS의 서비스 및 외부 서비스를 위한 API를 생성/관리해주는 서비스 - HTTP/Web..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/sG3hL/btsuJdcgHxP/zZlsTRkAIxi79c3pN1KqwK/img.png)
> Serverless - 서버의 관리와 프로비전 없이 코드를 실행할 수 있음 - 사용한 만큼만 비용을 지불 (OnDemand) - 고가용성과 장애 내구성이 확보되어 있음 - 빠르게 배포하고 업데이트 가능 - Serverless 환경을 잘 활용할 수 있는 아키텍처 필요 - 병렬 처리 - 이벤트 기반 아키텍처 등 > AWS Lambda "AWS Lambda는 서버를 프로비저닝 또는 관리하지 않고도 실제로 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있는 이벤트 중심의 서버리스 컴퓨팅 서비스이다. 200개가 넘는 AWS 서비스와 서비스형 소프트웨어 (SaaS) 애플리케이션에서 Lambda를 트리거할 수 있으며 사용한 만큼만 지불하면 됩니다." - AWS의 Serverless 컴퓨팅 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bMd9dc/btsuTQ1ev48/QqPAqCJQ9vRVHc2PBUnVAk/img.png)
> AWS의 이벤트 > Amazon EventBridge 규칙 - 발생한 이벤트를 대상 서비스가 처리할 수 있도록 전달 - 다양한 대상에 동시에 전달 가능 - API Gateway, CloudWatch Log 그룹, CodePipeline, StepFunctions, SQS, SNS등 - 두 가지 모드 - 이벤트 패턴 : AWS의 이벤트 버스에서 특정 이벤트를 패턴 매칭하여 대상에 전달 - 스케쥴 : Cron 이벤트를 활용하여 특정 시간, 혹은 주기로 대상에게 전달 > Amazon EventBridge 규칙 - 이벤트 패턴 매칭 - AWS의 이벤트에 내용 중 필요한 내용을 선별하여 패턴으로 정의 - 이후 패턴에 매칭되는 이벤트를 대상으로 보냄 - JSON 형식으로 구성 - 매칭하고 싶은 이벤트의 내용은 ..