[TIL] Serverless #3 Amazon AWS S3

(의식의 흐름을 TIL로 바꾸기로 했습니다. TIL이 더 멋있어보이넹)




Amazon Simple Storage Service(Amazon S3)

Amazon S3는 인터넷 데이터용 리포지토리입니다. 객체는 Amazon S3에 저장되는 기본 개체입니다. Amazon S3에 저장된 모든 객체는 버킷에 저장됩니다.  Amazon S3 버킷은 인터넷 도메인 이름과 유사합니다. 버킷에 저장된 객체는 고유의 키 값을 가지고 있으며 HTTP URL 주소를 사용해서 검색할 수 있습니다. 예를 들어, 키 값이 /photos/mygarden.jpg인 객체는 myawsbucket 버킷에 저장되며, 다음 URL을 사용하여 주소를 지정할 수 있습니다. http://myawsbucket.s3.amazonaws.com/photos/mygarden.jpg

뭔 소린지...일단 뭔가를 해봐야할것 같아서 검색해봅니다. 이 블로그가 좋군요! 따라해서 한번 만들어보겠습니다.

AWS S3의 소개와 간단한 사용

객체, 버킷, 표준스토리지(비싸다!), RRS(싸다!)..... 객체야 지겹게 들어온 소리니까 객체인가보다 하고 버킷은 양동이 한통인가보죠 뭐.. 싸다! 비싸다! 회사용으로 쓸거 아니면 싼거 쓰면 되겠군요? "일반 디스크 드라이브의 400배에 달하는 내구성".... 뭐야....그냥 싼거 쓰겠습니다!


S3가 하나 만들어져있네요? 있는거 쓰죠 뭐

AWS Lambda를 이용한 API 서비스 배포 (1/2)

여기로 돌아와서 awscli는 설치했고 버킷을 만들고 zip파일을 cp하는군요


 $ aws s3 mb s3://algopie-functions  
 make_bucket failed: s3://algopie-functions An error occurred (BucketAlreadyExists) 
when calling the CreateBucket operation: The requested bucket name is not available. 
The bucket namespace is shared by all users of the system. 
Please select a different name and try again.  

쉽게 될리가 없죠 -_- 이름이 사용자가 아니라 전체적으로 유니크한건가보죠? 저 블로그분이 만들었다면 안될테니 일단은 그냥 제꺼 쓰기로 합니다.


 $ aws s3 cp ./getProducts.zip s3://yourbucketname  
 upload: ./getProducts.zip to s3://yourbucketname/getProducts.zip  


3. AWS Lambda 설정
와 드디어 람다 설정이랍니다! 드디어.....
블루프린트에 들어갔는데 똑같은 화면이 안나오는군요! 게다가 한글?? 맨붕... 2017년 2월에 쓰여진 블로그이고 제가 작성하는 시점이 9월인데 완전히 다르네요! 하지만 통밥으로 대충 때려맞추기 하죠 뭐

함수만들기 -> 새로작성 -> 트리거 추가(점선 클릭하면 뭐가 뜸 -> API Gateway
이름 : getProduct (RestAPI 스러운 이름은 아니지만 뭐 일단...)
API 배포단계 : 그대로둠(뭔지모름)
보안 : AWS IAM (블로그에 나옴)

다음으로 넘어감

함수 구성!
이름 : getProduct
설명 : 패스
런타임 : Python 3.6

코드입력유형 : Amazon S3에서 파일 업로드
S3 링크 URL : https://s3.amazonaws.com/yourbucketname/getProducts.zip

대충 뭔지 때려넣었더니 다음의 에러가 발생하는군요... 망했어요....

  • Error occurred while GetObject. S3 Error Code: PermanentRedirect. S3 Error Message: The bucket is in this region: ap-northeast-1. Please use this region to retry the request


으아아아아 이게 뭐야....도대체 모르는 소리가 잔뜩 튀어나온데다 저 블로그와 일치하지 않으니 도저히 진행할수가 없습니다. ㅠㅠ 최근 업데이트된 블로그를 찾아보면서 개념정립을 다시 해야겠습니다. 

댓글

이 블로그의 인기 게시물

WSL2 Ubuntu 20.04 및 네트워크 설정

리눅스 멀티코어를 사용하는 tar 압축/해제

git pull 을 했더니 branch가 갈라지는 경우