티스토리 뷰

AWS Lambda : 일반적인 디렉터리에 파일 Write 시 권한 Error

AWS Lambda에서 간혹 파일을 임시적으로 등록해야 할 경우가 있습니다 :

  1. Path를 가리켜서 이미지 분석을 해야할 때

  2. Path가 가리키는 파일을 FTP 서버에 업로드 해야할 때

  3. ...

위와같은 용도로서 AWS Lambda에 임시적으로 파일 생성을 하려 하면 일반적인 디렉터리에는 파일 생성/보관이 안됩니다. 이는 디렉터리 권한 때문입니다.

 

하지만 다행히도 서버에 있어서 한가지 암묵적인 규칙이 있습니다. 다양한 프로그램의 개발 Process를 보면 프로그램 내에서 임시적으로 파일을 생성을 해야 할 경우,  /tmp  파일에 등록을 하는 방향으로 개발이 이루어집니다.

 

AWS Lambda 역시 위 규칙을 참고하여,  /tmp  한 디렉터리에 대해서만 파일 생성/보관이 되게 했습니다.

직접 한번  /tmp  폴더에 파일을 생성 및 확인을 해보겠습니다.

 

1. Ruby on Jets에 Job 파일을 생성하고, 아래와 같은 내용으로 AWS Lambda에 배포했습니다.

class FileWriteTestJob < ApplicationJob
  def job_test
    system "cd /tmp; touch ImFine;" # /tmp 파일 이동 및 ImFine 파일 생성
    p system "cd /tmp; ls" # tmp 디렉터리를 조회하는 디버깅 코드
  end
end

 

2. Jets를 통해 배포된 Job을 AWS Lambda 함수에서 실행하고, 결과를 봅니다.

AWS Lambda : /tmp 디렉터리에 파일 Write 시 Write가 잘 되었다.

아까와 달리 Write 에러 없이 touch 명령어를 통해 파일이 잘 생성된게 확인됩니다.

 

댓글
댓글쓰기 폼
공지사항
Total
156,759
Today
59
Yesterday
130
링크
«   2021/11   »
  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        
글 보관함