전체 글 썸네일형 리스트형 [AWS Lambda] S3 Image Resize with URL Parameter (Cloudfront 요금 30% 감면) 기존에 사용하던 이미지 파일들이 너무 커서 리사이징을 해야 하는 이슈가 발생했는데 파일이 너무 많고 쓰는지 안 쓰는지 알수 없는 상황이었다. 그렇다고 개발팀에선 이미지 파일 리사이징 후 업로드 하는 부분에 대해서 대응할 시간은 없고 인프라쪽은 빠르게 조치를 해야하다보니 람다 function을 이용해서 처리할 방법을 고민하게 되었다. 찾아보다보니 lambda@edge 기능을 이용하여 S3 -> Cloudfront로 보낼때 origin response 부분에 Lambda@edge를 채워 놓고 거기서 리사이징을 한 뒤 Cloudfront로 보내면 URL 파라미터를 포함하여 캐시가 된다는 내용이 있었다. 그렇게 되면 개발팀에서도 굳이 별도의 기능을 구현하지 않고 URL Parameter를 사용하여 처리하면 되기.. 더보기 ngrinder 서버 세팅 # 도커 설치 sudo yum install docker -y # 도커 always on boot sudo chkconfig docker on # controller 기동 sudo docker run -d --name controller -v ~/ngrinder-controller:/opt/ngrinder-controller -p 8080:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller # 1 ~ n까지 필요한 만큼 네이밍 바꿔가면서 서버 생성 sudo docker run -d --name agent{n} --link controller:controller ngrinder/agent # html 가져와 지는지 확인 wget localho.. 더보기 ELK 서버 세팅하기 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt install elasticsearch sudo vim /etc/elasticsearch/elasticsearch.yml # edit network.host: localhost :wq # quit sudo systemctl start elasticsearch sudo systemctl enable elasticsearch #.. 더보기 (구) 카카오톡 봇 실행 스크립트 /** * (string) room * (string) sender * (boolean) isGroupChat * (void) replier.reply(message) * (boolean) replier.reply(room, message, hideErrorToast = false) // 전송 성공시 true, 실패시 false 반환 * (string) imageDB.getProfileBase64() * (string) packageName */ const scriptName = "ttt봇"; const commands = [ "!커멘드", "!입장", "!스터디", "!슬랙" ]; // 각 커멘드가 실행될때마다 쓸 정보. const messages = { "!커멘드": "!입장, !스터디, !슬랙", .. 더보기 Ubuntu Typescript 실행하는 방법 pm2는 node.js 또는 Typescript가 서버에서 daemon 모드 (백그라운드 모드)에서 실행하는 프로그램입니다. node.js 12버전 필수 EC2 설치 방법 1. ssh 접속 $ sudo apt-get remove nodejs $ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - $ sudo apt-get install -y nodejs $ git clone {repository http} $ cd {repository folder} $ sudo npm i $ sudo npm i -g typescript pm2 ts-node $ sudo pm2 install pm2-logrotate && pm2 set pm2-logrotate.. 더보기 ubuntu apache2 letsencrypt 적용방법 # letsencrypt 설치 sudo apt-get install letsencrypt # 인증서 설치 # ACMEv1 프로토콜의 보안 문제로 ACMEv2를 적용하여야 인증서가 생성됨 sudo letsencrypt certonly --server https://acme-v02.api.letsencrypt.org/directory --webroot --webroot-path={webroot} # 이메일 주소 입력 후 엔터 # SSL 모드 활성화 sudo a2enmod ssl # Rewrite 활성화 sudo a2enmod rewrite # SSL 설정 sudo vim /etc/apache2/sites-available/default-ssl.conf # edit DocumentRoot {webroot} S.. 더보기 EC2 - Volume Up (Ubuntu) https://medium.com/@cheh344/aws-ec2-%EC%97%90%EC%84%9C-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EB%AC%B4-%EC%A0%95%EC%A7%80%EB%A1%9C-ebs-%EB%B3%BC%EB%A5%A8-%ED%99%95%EC%9E%A5%ED%95%98%EA%B8%B0-ubuntu-b0fe813fb48b 더보기 AWS EC2 에서 s3 drive 연동하기 (non-root) # AWS EC2 Ubuntu 16.04 LTS 기준 sudo apt-get install s3fs sudo vim /etc/fuser.conf # edit # user_allow_other 주석 제거 # quit echo : ~/.passwd-s3fs sudo vim /etc/passwd-s3fs # add : # quit sudo chmod 600 ~/.passwd-s3fs sudo chmod 640 /etc/passwd-s3fs mkdir ~/s3-drive sudo s3fs -o allow_other -o use_cache=/tmp -o uid=1000,umask=077,gid=1000 ~/s3-drive # 유의사항 - 마지막 구문의 -o uid=1000,umask=077,gid=1000 옵션을.. 더보기 이전 1 ··· 4 5 6 7 8 다음