Lambda 이미지 리사이징 #2

chu·2021년 4월 30일
0

이번 포스트는 전 포스트를 이어서 AWS에서 어떻게 설정하는지 정리하는 포스트

바로 시작하겠다.


AWS Lambda

이전 포스트에서 만든 람다 파일을 s3에 보냈다. 그걸 AWS Lambda 페이지에서 함수를 생성하고 s3와 연결까지 하는 과정을 진행해보자.

📌 Lambda 함수 생성

정리 하기 앞서 작성자는 이미 작업을 진행한 상태이기 때문에 처음 하는 분들과는 UI가 다를 수 있습니다.

AWS 홈페이지에서 람다를 검색해 이동을 하면 아래 페이지를 만난다. 여기서 우측 상단에 있는 함수생성을 클릭해서 진행하자

아래 이미지를 보면 함수이름, 역할 이름은 개인에 맞게 작성하면 된다.
그 외에 설정은 똑같이 진행하면 된다.

생성을 했다면, 다시 첫 페이지로 이동한다. 그럼 추가가 되어 있을것이다!
그럼 클릭해보자!

📌 Lambda 함수 설정

이동된 페이지에서 아래 런타임 설정을 확인하자. 우측을 보면 핸들러라고 되어있는데 이 부분에는 실제 람다 함수 코드를 작성했을때 index.js에 만들었고, 내부에는 exports.함수명로 만들었다.

결론은 index.함수명 이렇게 편집해주자.

다음은 s3 버켓에 보냈던 zip파일을 업로드하면 된다. 우측 상단 버튼 클릭!

그럼 아래와 같은 팝업창이 나온다. 어떤 링크를 적어줘야할지 모르겠다면 바로 다음 이미지를 확인!

Amazon S3 링크 URL

S3 페이지로 이동을 하자. 생성한 버켓이 있다면 클릭해서 버켓 정보페이지로 이동 후 전 포스트에서
aws-upload.zip 파일을 s3로 보내줬다. 그럼 아래 처럼 추가가 되어있는데 클릭!

그럼 그 파일에 대한 속성을 확인할 수 있다. 아래 빨간 박스에 있는 URL을 보면 이게 바로 아까 팝업창에 나온 Amazon S3 링크 URL이다. 그럼 복사를 하자!

복사를 한 URL을 붙혀넣기 해준 뒤 저장을 클릭!

아직이오... 마지막으로 구성에서 살짝 편집을 해주자.
함수 클릭 시 처음 나오는 페이지며, 아래 빨간 박스에 구성을 클릭하자.

그럼 아래처럼 UI가 바뀌게 되고, 우측 편집을 클릭!

아래 이미처럼 페이지가 이동되고 메모리 부분과 제한시간을 아래처럼 맞춰주고 저장!

📌 Lambda 트리거 추가

그럼 다시 람다 함수의 페이지로 이동하고 제일 상단을 확인해보자.
아래 이미지에 표시한 트리거추가 클릭! (원래는 트리거 추가 위에 S3없는게 맞습니다.)

처음 나온 페이지는 아무것도 없는 상태지만 S3를 검색해서 선택하면 아래처럼 쭈욱 나온다.
버킷 - 연결할 S3 버킷 선택
접두사 - 버킷 객체를 확인해보면 zip말고도 original이라는 폴더가 있었다. 그 이름을 적어주면된다. 이 부분은 사람마다 다르기 때문에 꼭 버킷에서 확인해본 뒤 적어보자.
그리고 아래 재취호출 체크박스에 체크 후 트리거추가!

이렇게까지 해서 람다 함수 설정 및 트리거를 추가하였다.

📌 Lambda 로그

그리고 실제 개인 프로젝트 사이트에서 이미지를 업로드 해보고 테스트를 하면된다.
여기서 에러가 발생되는 경우도 있는데 그 부분은 아래 이미지처럼 로그를 확인해서 에러를 파악한 뒤
구글링을 통해서 에러를 잡아보자!

이 외에도 추가적으로 프로젝트 코드를 수정해줘야하는 부분이 있다.
일단 리사이징을 했다면 설정에 맞게 S3 버켓에 thumb라는 폴더가 생성되야한다.

그럼 이미지 경로가 original에서 thumb로 바꿔야 실제 리사이징된 이미지를 사용할 수 있다.
이 부분은 따로 설명은 없겠지만 어떻게 바꿀 수 있을지 생각해보자!

📌 람다 수정 시

방금 전에 일어난 일이지만 람다의 함수코드를 수정하게 되면 깃헙 커밋&푸시 후 우분투 back경로에서 git pull하고 끝내면 안된다. 이전 포스트에서 했던 순서와 위 내용을 다시 반복해야한다. 너무 귀찮다...

  1. 우분투 람다 경로로 이동 뒤 "aws-upload.zip" 파일 삭제
    삭제 : rm -rf 파일명
  2. 람다 폴더 내부 zip으로 다시 묶기
  3. 묶은 파일은 다시 aws s3로 전달
  4. 람다 함수 페이지 '코드소스'에서 Amazon S3에서 파일 업로드 링크 재입력 저장

위 순서 중 1번 ~ 3번은 이전 포스트에서 참고할 수 있다.

혹시 내용 중 빠진 부분이 있다면 피드배 부탁드립니다!

profile
한 걸음 한걸음 / 현재는 알고리즘 공부 중!

0개의 댓글