Back End/AWS
-
[AWS] Lambda 에서 Lambda 를 호출하기 (Feat. JavaScript, Python)Back End/AWS 2022. 9. 17. 17:53
AWS IAM 활동을 모니터링하고 알람을 보내는 어플리케이션을 구축할 일이 있었다. 기존에 Application 이상 지표들을 바탕으로 알람을 보내는 어플리케이션이 있어서 기존 프로젝트 뼈대 위에 작업을 해야 했었다. 기존 프로젝트의 serverless.yml 은 일본리젼에 일괄 배포하고 있었다. AWS IAM 은 CloudTrail 이 버지니아에서 추적하고 있기에 CloudWatch 와 Lambda 모두 버지니아 지역에 있어야 했다. SNS 는 타지역의 Lambda 도 호출할 수 있기에 버지니아에서 payload 를 by-pass 하는 Lambda 를 만들어 일본리젼의 Lambda 로 넘겨주었다. 2번의 ColdStart 와 과금문제가 있긴했지만 동작이 되는지 안되는지 확인을 하기 위해 잠시 위와 같은..
-
[AWS] Serverless 함수 리젼별로 배포하기Back End/AWS 2022. 9. 17. 17:50
작업을 하다가 Lambda 를 Region 별로 배포를 해야 할 일이 생겼다. 레파지토리를 나누기엔 같은 서비스 도메인이라 아닌 것 같고, 레파지토리 내에서 폴더구조를 리젼별로 나누어 serverless.yml 을 중복으로 생성하고 공통모듈을 추출하는 것도 같은 서비스인데 좀 아닌 것 같고.... 좋은 플러그인이 없을까 찾아보다가 찾아버렸다! (사실 찾는데 시간이 좀 걸렸다... If Else 플러그인은 또 뭐람...) 바로바로 Serverless Plugin Conditional Functions...! 사용법은 공식문서에 잘 나와있으니 잘 읽어보자!!! Reference Serverless Framework: Plugins The Serverless Framework Plugin Registry. S..
-
[AWS] Java 프로젝트에서 .ebextensions 사용하기Back End/AWS 2022. 9. 17. 17:09
Overview 필자가 삽질하며 .ebextensions 를 활용하여 AWS Beanstalk 을 설정하는 법을 정리한 글입니다. 언제 써야 할까? 한 번 세팅하고 계속 유지되어야 하는 설정들은 AMI 로 만들어 Beanstalk 에서 사용하면 되지만 변경이 자주 발생하거나 어플리케이션이 deploy 되기전에 적용되어야 하는 환경 설정들은 ebextension 을 사용하여 적용하면 좋다. 어플리케이션에 ebextension 으로 작성하고 그 이후에 실행하지 않게 끔 해놓은 어플리케이션도 있는데, 기록을 남겨둠으로써 해당 작업을 어떻게 처리하였는지 IDE 수준에서 빠르게 확인할 수 있고 문서화하지 않아도 되어 경제적이다. 다만, 그런 파일들은 .ebextension-deprecated 와 같이 네이밍을 다..
-
[AWS] Permission denied (publickey,gssapi-keyex,gssapi-with-mic)Back End/AWS 2022. 8. 28. 22:44
Permission denied 라는 오류문구 때문에 네트워크 인바운드에 내 IP 를 추가도 해보고, pem 키 확인도 해보고, known-hosts 도 초기화 해봤지만.... 해결이 되지 않았다. 원인은 유저명이 틀렸던 것이었다.... 분명 ec2 에 추정 운영체제는 Ubuntu 였는데 접속 유저명은 Linux 의 ec2-user 였던 것이다...😥 예시 AWS CLI ssh -i ~/.ssh/my.pem ec2-user@1.2.3.4 [AWS] Mac 에서 EC2 인스턴스로 SSH 접속 EC2 인스턴스로 SSH 접속 ssh -i [Mac북에 있는 pem키 경로] [접속하고자 하는 유저계정]@[접속하고자 하는 인스턴스의 IP] ex) ssh -i ~/.ssh/mykey.pem ubuntu@xx.xxx...
-
[AWS] 우리는 왜 CloudFront 와 로드밸런서에 SSL(TLS)을 달아야하는가?Back End/AWS 2022. 6. 5. 22:44
Prerequisite - Network Sniffing HTTPS 는 네트워크 스니핑을 막기 위해 만들어졌다. 네트워크 스니핑(Network Sniffing)이란 네트워크(전선)를 타고 흐르는 데이터(패킷)들을 탈취하는 것을 말한다. 스니핑을 하기 위해 네트워크 스니퍼라는 응용프로그램을 만드는데 이러한 프로그램으로 해당 컴퓨터로 들어오고 나가는 패킷을 가질 수 있다. 라우터도 작은 컴퓨터니 라우터에 설치할 수도 있을 것이고, 해당 라우터에 연결된 PC에 설치할 수도 있다. Prerequisite - HTTPS HTTPS 와 HTTP 는 네트워크(전선)를 타고 흐르는 데이터를 암호화 하느냐 안하느냐의 차이다. 물론 HTTPS 또한 SSL MITM 라는 기법으로 스니핑 할 수 있다. (가짜인증서로 데이터..
-
[AWS] EC2 에서 개인 PC(Local)로 파일 전송Back End/AWS 2022. 5. 5. 19:36
EC2 -> Local scp -i [local에서 key.pem경로] [유저이름(linux는 보통 ec2-user, ubuntu는 ubuntu@ip주소]:[인스턴스에서 옮길 파일 경로] [다운로드받을 PC의 경로] ex) scp -i ~/.ssh/mykey.pem ubuntu@12.34.567.200:~/db-agent/log.zip ~/Downloads Local -> EC2 scp -i [local에서 key.pem경로] [로컬에서 업로드할 경로] [유저@인스턴스IP]:[인스턴스로 다운받을 경로]
-
[AWS] Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.229.116.227), connection timed out 해결법Back End/AWS 2022. 4. 29. 14:59
Failed to fetch http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/a/autogen/libopts25_5.18.12-4_amd64.deb Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.229.116.227), connection timed out Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.229.225.193), connection timed out Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.246.214.20), connection time..