Code States 136

[0617] 도커 컨테이너 동작 확인 및 ECS 작동 테스트

서버로 구현할 코드 작성 express사용, hello world 출력 package.json 파일에서 npm start 정의 .dockeringnore 파일 작성 Dockerfile 작성 docker build로 이미지 빌드 컨테이너 동작 확인 컨테이너 정상 작동 이미지를 저장할 ECR 생성 푸시 명령 참고하여 ecr에 이미지 푸시 ecr 이미지를 이용하여 태스크 정의 생성 컨테이너 포트 설정 서비스 생성 보안그룹 설정 사진에 없지만 네트워킹 탭 밑의 로드밸런싱 탭에서 alb 및 타겟그룹 설정 alb의 주소로 접속시 정상적으로 접속되는 것을 확인 태스크의 퍼블릭 주소로는 접속이 안되길래 이유가 뭔지 궁금했는데, 태스크의 퍼블릭 주소로 접근시에는 뒷부분에 포트번호까지 붙여야 접속 가능하다

Code States/TIL 2023.06.18

[0616] express CRUD api 작성

/data 엔드포인트로 들어오는 요청에 대해 /routes/api 폴더에 있는 data.js 파일의 내용을 사용한다는 의미 DB 연동 전이기 때문에 테스트를 위해 배열 생성 /dadta/:id 엔드포인트로 쿼리 설정 GET POST 요청에 대해 정상 작동 트러블슈팅 PUT DELETE 요청처럼 특정 id를 찾는 쿼리를 사용할시 Data not found 상황 발생 바디로 들어온 값을 int로 인식하지 못하는 것 같았다 id에 할당한 값을 parseInt를 통해 int로 변환해준 후 해결

Code States/TIL 2023.06.18

[0614] AWS DynamoDB, AWS RDS mysql, DBeaver 실습

AWS RDS를 이용해서 mysql 생성 후 터미널로 접속 DBeaver로 mysql 접속해서 쿼리문 사용 AWS DynamoDB 생성 다이나모 디비 서비스에서 디비는 그 자체고 테이블만 생성할 수 있는 것 같다..? 데이터 값 추가는 표 항목 표기 탭에 들어가서 항목 생성을 클릭하면 된다 기본 디비버는 NoSQL 사용이 안돼서 엔터프라이즈 버전을 다운받았다 14일 트라이얼 권한으로 사용.. SELECT 쿼리를 통해 조회가 가능하다 테이블 생성도 가능하다 테이블 생성시 파티션 키를 필수로 설정해야 한다 테이블 생성시에 어트리뷰트가 1개 만들 수 있는데 그 후에 추가로 생성이 안된다 원래 한개씩만 되는건가.. 디비버를 통해 만든 테이블이 콘솔에도 반영되어 뜬다 테이블 생성 후 첫번째 값을 넣으려고 하면 오..

Code States/TIL 2023.06.15

[0608] (실습) 성능 테스트 - aws EC2와 K6를 이용한 성능테스트

achievement goal k6 도구 활용법을 학습합니다. 성능 테스트 유형별 스크립트를 작성할 수 있습니다. aws ec2 인스턴스를 모니터링할 수 있습니다. aws에서 제공하는 버스트 크레딧을 이해할 수 있습니다. ec2 인스턴스 생성 ec2 인스턴스 ssh 접속 도커 설치 도커 컨테이너 실행시 권한 오류 발생 현재 USER에 docker 권한 추가 재시동 후 권한이 추가된 것을 확인 도커 컨테이너 정상 실행 k6 설치 기존 ec2 인스턴스 상태 모니터링과 각각 테스트에 따른 모니터링 결과

Code States/TIL 2023.06.08

[0608] 성능 테스트 - 부하 테스트 계획

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 부하 테스트를 진행하기 앞서, 서비스 수준 목표(SLO)를 설정하는 것이 좋음 먼저 척도를 표준화하고, 다음과 같은 목표를 설정 Latency에 중점을 둔 SLO 예시 GET 호출의 90%는 1ms 이내에 완료해야 합니다. GET 호출의 99%는 10ms 이내에 완료해야 합니다. GET 호출의 99.9%는 100ms 이내에 완료해야 합니다. Throughput에 중점을 둔 SLO 예시 결국 Throu..

Code States/TIL 2023.06.08

[0607] 성능 테스트 - 병목 찾기

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 병목 구간의 확인과 개선 기본 지식 Throughput 개선 병목 구간을 파악하는 것이 가장 중요함 Latency 개선 애플리케이션 개선 개발된 애플리케이션을 개선하는 것으로 시작 애플리케이션 성능 최적화는 현상을 파악(APM, Application Performance Monitoring)하는 것으로 시작하며, 알고리즘 개선, I/O 최소화 등의 개선 방안이 뒤따름 DevOps가 이를 모니터링할 수..

Code States/TIL 2023.06.08

[0607] 성능 테스트 - 부하 테스트 기본

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 부하 테스트의 목적 클라우드 환경에서의 부하 테스트 목적 시스템 확장성을 가졌는지 확인 성능을 개선하기 위해 확장해야 하는 시스템이 무엇인지 파악 부하가 많이 발생할 때 문제 상황 개선 각 시스템의 병목 지점을 예측하고 진단 및 개선 어떤 부분을 확장할 것인가? 확장성에 대한 특징 파악 Throughput 시간당 처리량 시스템의 성능 지표는 RPS(request per second), TPS(tran..

Code States/TIL 2023.06.08

[0607] 성능 테스트 - 가용성과 확장성

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 가용성 시스템이 정상적으로 사용 가능한 정도 Uptime / (Uptime + Downtime) 핵심은 단일 장애점(Single Point of Failure)을 없애는 것 어떤 한 노드에 장애가 발생해도 동일한 처리 능력을 가진 다른 노드로 대체도리 수 있어야 함 확장성 확장 가능한 시스템: 요구되는 시스템의 성능에 따라 동적으로 서버 구성이 변경되고, 시스템 처리 능력을 최적화할 수 있는 시스템 ..

Code States/TIL 2023.06.07

[0605] 서비스 모니터링 - 서비스 수준 목표

학습 목표 서비스 수준 목표 서비스 수준 척도(SLI), 서비스 수준 목표(SLO), 서비스 수준 협약(SLA)의 의미를 이해할 수 있다. 메트릭을 이용한 주요 SLO를 이해하고, 어떻게 목표를 세우는지 알 수 있다. SLI (Service Level Indicator, 서비스 수준 척도) 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값 응답 속도: 요청에 대한 응답이 리턴되기까지의 시간 에러율: 전체 요청 수 대비 처리량(throughput): 초당 처리할 수 있는 요청 수 가용성: 서비스가 사용 가능한 상태로 존재하는 시간의 비율 내구성: 데이터 저장이 중요한 목적인 서비스으 ㅣ경우 특히 중요 SLO(Service Level Objectives, 서비스 수준 목표) SLI에 의해 측정된..

Code States/TIL 2023.06.05