멀티캠퍼스 4차 산업혁명 선도인력과정 클라우드반을 수강하면서 가장 마지막에 진행하는 3차 융복합 프로젝트에 참여했다. 클라우드 팀을 맡아 인프라 설계, 백엔드 개발자로 참여하면서 새로 알게 된 것이 있을 때마다 정리했던 TIL을 벨로그에 순서대로 포스팅해보려고 한다!
융복합 프로젝트를 진행하면서, AI팀에서 만든 모델을 배포한 후 IoT팀과 협업해 모두 연결해주는 작업이 필요했다. 그래서 AWS 내에서 보다 효율적으로 모델 학습 및 배포를 할 수 있는 SageMaker라는 서비스를 알게 되었고 아래가 정리했던 내용이다.sageMak
속도 문제 때문에 AWS DynamoDB를 써볼까도 했지만, 마스크 이미지 처리는 s3로 할 것이고 그냥 관리자 앱과 웹에서 통계만 보여주기 위한 용도이기 때문에 속도가 크게 상관없을 것 같아 RDS를 쓰기로 결정했다. 이미지1템플릿에서 프리 티어를 선택한다.DB
라즈베리파이와 어떻게 통신할지 고민하던 도중 알게 된 aws 서비스이다. AWS IoT Greengrass를 쓰면, 클라우드의 기능을 로컬 디바이스로 확장시켜(옮겨서?) 사용할 수 있다. 로컬 디바이스 내에서 람다를 쓸 수도 있는 것 같다. 라즈베리파이에서 H
이미지 1기본 생성 사용 클릭 그룹 이름, 코어 이름 지정 코어의 보안 리소스 다운로드 받아서 IoT한테 전달해주어야 함 루트 CA는 눌러서 Amazon Root CA 1 오른쪽 클릭 - 링크 저장 Greengrass 그룹 MaskTest - 설정 - 그룹
python boto3 라이브러리를 이용해 S3에 접근하기 위해서는 IAM 사용자 권한이 필요하다.IAM 계정 추가이미지 2 AmazonS3FullAccess 권한 추가 이미지 3 완료한 후 생성되는 비밀 액세스 키는 다운로드받아 잘 보관한다. (또는 기록해두기)
AWS Step Functions은 시각적 워크플로우를 사용해 분산 애플리케이션 및 마이크로서비스의 구성 요소를 손쉽게 조정하도록 해주는 웹 서비스이다. 각각 기능 또는 작업을 수행하는 개별 구성 요소를 사용하여 애플리케이션을 구축하면 애플리케이션을 빠르게 확장하거나
S3에 이미지가 업로드됨을 감지해서 CloudWatch Events를 사용해 Step Functions를 실행하도록 구성해볼 것이다. Step Functions에서는 S3에 저장된 이미지를 ai 모델을 활용해 마스크 착용 유무를 판단하고, Amazon RDS에 통계 정
출처 : https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/iot-lambda-rule.htmlIoT MQTT 통신 방식은 잘 모르지만 IoT팀에서 MQTT 통신을 사용한다고 해서 라즈베리파이에서 AWS
2020년 12월 04일 기록이미지 3Ubuntu Server 18.04 LTS - t2.micro이미지 5생성하는 과정에서 나오는 키 페어 파일은 다시 생성할 수 없으므로 잘 보관해둔다.시작을 누르고 조금 기다리면 생성된다!이미지 7EC2 인스턴스는 키고 끌 때마다
2020년 12월 04일 기록Django는 Nginx 웹 서버와 직접적으로 통신할 수 없어 중간에서 Gunicorn server를 설치해주어야 한다. runserver는 개발용이고 배포용이 아니기 때문에 안정적인 배포를 위해 Gunicorn 서버를 Django와 연결해
2020년 12월 07일 기록Django EC2 환경에서 ai 모델 예측을 하려고 했더니 나온 에러 7.6.4 버전이 필요한데 7.5.1 버전으로 컴파일 되었다고 한다. 이미지 1https://developer.nvidia.com/rdp/cudnn-arch
2020년 12월 07일 기록views.py 에서 ML 모델 Predict 하는 함수를 구현했는데, tensorflow는 gpu를 사용한다고 한다. 그런데 기본적으로 gpu는 남은 메모리의 95%를 모두 사용하도록 되어 있기 때문에 너무 많은 메모리를 잡아먹어서 함께
2020년 12월 08일 기록프로젝트에서, ML 모델을 불러오고 각종 알고리즘(?)을 불러올 때, 매번 request 요청이 있을 때마다 불러오면 속도가 느리기 때문에 딱 한 번만 불러오고 계속해서 불러온 모델을 사용해야 할 필요가 있었다.이 때는 AppConfig를
2020년 12월 08일 기록AWS SDK의 Python 버전인 boto3 라이브러리를 사용하면 AWS 람다 함수도 호출할 수 있다.먼저 Python에서 Lambda를 호출할 수 있도록 다음과 같은 Lambda 실행 권한을 가진 사용자를 만든다.이미지 6생성된 Acce
2020년 12월 13일 기록React로 관리자 페이지를 구현하면서, 관리자 로그인 기능을 위해 AWS Cognito를 사용하기로 결정했다. 생각보다 간단했던 과정! Cognito 사용자 풀을 생성한 후 React에서 Amplify UI로 로그인 기능을 쉽게 구현해볼
2020년 12월 14일 기록프로젝트 멘토링 때, 멘토님께서 Django REST API를 성숙도 모델과 규칙에 맞게 수정해보면 훨씬 더 좋겠다고 말씀해주셨다. 그래서 먼저 URL 규칙에 대해서 정리해보려고 한다. 참고 : Rechardson의 API 성숙도 모델U
2020년 12월 14일 기록 이번에는 REST API 성숙도 모델에 대해 정리해볼 것이다. 성숙도 모델은 총 4단계로 나누어져서 각 단계를 달성할 수록 REST API에 가까워진다. 정확히 이해가 되진 않았지만, 여기저기 참고해서 이해한 만큼 정리해보려고 한다. 참고
2020년 12월 16일 기록S3에 빌드된 파일을 올려 정적 웹 호스팅한 후, CloudFront로 http를 https로 리다이렉팅해주고 Route53으로 도메인을 매핑해준다. 나는 React에서 관리자 대시보드 웹을 만들었다.버킷의 이름은 실제 도메인과 같아야 한다
2020년 12월 22일 기록 이전 포스팅의 S3 정적 웹 사이트 호스팅은 수동으로 배포하는 방식이다. Git에 Push 했을 때 자동으로 프로젝트가 build되고 S3에 배포되어 도메인으로 접속했을 때 반영되도록 하려면 AWS CodeSuite를 사용하면 된다. C