본문 바로가기

aws

(10)
lambda docker 이미지에 mecab 설치 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 32 33 34 35 36 37 38 39 40 41 42 43 44 FROM public.ecr.aws/lambda/python:3.8 # install build libs RUN yum groupinstall -y "Development Tools" \ && yum install -y which openssl # setup package RUN yum install -y glibc ld-linux.so.2 curl git patch RUN yum install -y gcc-c++ java-1.8.0-openjdk-devel python3 python3-..
selenium into aws lambda selenium을 비용을 최소로 하기 위해서 lambda에 docker 를 이용하는 방법을 이용했다. 해당 작업의 기초적인 소스 코드를 공유하고자 한다. 프로젝트 구성은 다음과 같다. (venv는 무시해도 된다.) 해당 파일들은 github에 올려놨으니 받아서 사용해도 된다. https://github.com/uiandwe/lambda-selenium-docker GitHub - uiandwe/lambda-selenium-docker Contribute to uiandwe/lambda-selenium-docker development by creating an account on GitHub. github.com chrome-deps.txt : chrome 설치에 필요한 yum 패키지 리스트 instal..
aws codedeploy Could not download bundle at after 3 retries. Server returned codes: 404 'Not Found'; 404 'Not Found'; 404 'Not Found'; 404 'Not Found'. Could not download bundle at 'https://api.github.com/repos/*****/******/************/**********' after 3 retries. Server returned codes: 404 'Not Found'; 404 'Not Found'; 404 'Not Found'; 404 'Not Found'. 만일 codedeploy 설정시 이런 에러가 뜬다면 설정한 github가 private 설정으로 codedeploy에서 github로 접근이 불가능한 상태이다. 해당 링크를 따라 하면 된다. https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners-gi..
aws cloudfront s3 access denied cloudfront s3 연결에서 다른 블로그 글을 따라 하다가 access denied 에러가 발생했다. 여러 가지 체크 포인트가 있었는데, 나의 경우는 어쩌면 사소한 것이었다. cloudfront -> 배포 -> 배포생성시 원본 도메인을 aws에서 검색되는 이름으로 넣는다면 에러가 발생한다. (아래처럼 검색되어서 넣으면 안됨) 원본 도메인을 넣으라고 했으므로, 해당 s3 -> 속성 -> 정적 웹 사이트 호스팅에 기록된 url을 cloudfront 의 "원본도메인" 에 넣어줘야 한다.
RDS -> s3 백업 스냅샷 복원이 아닌 dump 파일을 restore 하는 방법입니다. 1. RDS 데이터를 s3로 dump rds -> s3 pg_dump -v -h ${DATABASE_HOST} -U ${DATABASE_USER} -d ${DATABASE_NAME} | aws s3 cp --storage-class STANDARD_IA --sse aws:kms - s3://my-bucket/dump.sql 번외 덤프 파일로 s3 저장만 한다면 압축해서 저장한다. pg_dump -Z 9 -v -h ${DATABASE_HOST} -U ${DATABASE_USER} -d ${DATABASE_NAME} | aws s3 cp --storage-class STANDARD_IA --sse aws:kms - s3://my-bucket..
ec2 python3 설치 1 2 3 4 5 6 7 8 9 10 sudo yum install python3 -y python3 -m venv my_app/env source ~/my_app/env/bin/activate pip install boto3 # 접속시 venv 바로 적용 echo "source ${HOME}/my_app/env/bin/activate" >> ${HOME}/.bashrc cs
aws lambda는 서버를 대신하지 않아 내 주변에 람다신봉자가 있다. ec2에 서버를 올리면 관리는 어떻게 하며, 트래픽과 확장까지 람다가 다 관리해주지 않느냐며, 서버 아키텍쳐를 람다로 만들어놨다. 결국 람다신봉자는 서버를 하지 않는다. (...그럼 왜..이렇게 하고 갔나요??) 람다를 프로젝트에 사용하면서 문제점을 몇가지 써 보려 한다. 1. 람다의 용량이 간당간당하다. 현재 서버 프레임워크는 django이며, 서비스의 특성상 많은 통계 패키지를 사용한다. (numpy, scipy, scikit-learn 등등...) 패키지 배포에 50MB라는 한도가 있지만 /tmp 꼼수와 람다의 다른 계층의 용량을 포함하면 250MB까지 올릴수 있다. "250MB이면 많은거 아냐? "라고 생각하시는 분은....위의 패키지를 로컬에 설치해 보시길 바란다...
route53 s3 no targets available Create Record Set -> Alias Target -> s3 no targets available route53을 통해서 s3버킷을 연동하려 할때 무슨 짓을 해도 s3의 end point 가 no targets available가 나온다면 1. 진지하게 브라우져 캐쉬를 날려보길 바란다. (cmd + shift + r // ctrl + shift + r) 2. route53의 A레코드에 입력한 서브도메인과 s3버켓에 입력한 도메인이 같아야 한다. 그러면 보인다.... (이걸로 2시간 날렸다... 시발 아마존..이걸 캐쉬를 거냐..)