AWS Lambda에서 C++코드 돌리기 (AWS Cloud9 IDE 사용) Amazon Web Services

참조한 링크는 다음과 같다.


레퍼런스 문서 하나만 보고 가다가는 AWS측에서 최신으로 업데이트를 안했는지 엄청난 오류가 속출했었고....
가장 아래의 유튜브영상에서 설명해주는 할아버지가 아주 큰 도움을 주셨다.
현재 포스팅을 작성하는 날짜인 2019년 5월 24일 기준으로 작성한다.


1. Cloud9 환경 만들기

2019년 5월 24일 기준 아직도 Cloud9은 서울리전을 지원하지 않기 때문에 사용자가 원하는 리전을 선택해야한다.
본인은 그나마 한국이랑 가까운 도쿄 리전으로 선택하였다.

Cloud9의 대시보드에 제일 처음 들어가게 되면 나오는 화면이다. 오른쪽의 주황색버튼으로 있는 Create environment를 누른다.


사용자가 원하는 IDE환경의 이름을 적어주고 Next step을 누른다.

여기선 딱히 건드릴게 없다. 별것없으니 t2.micro 인스턴스 타입을 선택하고 Next step을 누른다.
(Cloud9은 EC2와 똑같다고 생각하면된다. 중간에 있는 Cost-saving setting은 코드 수정이 없을 경우 자동으로 동면모드로 전환되는데, 이를 통해 EC2 비용을 절약할 수 있다.)

그 다음화면에서 Create environment를 눌러서 바로 다음으로 진행한다.
1분내에 간단한 Cloud9 IDE환경이 구축되는것을 확인 할 수 있다.


아래부분에서는 쉘 명령을 내릴 수 있으며, 왼쪽에는 마치 IDE의 project explorer와 같은 화면을 나타낸다.

왼쪽의 탐색기 창은 /home/ec2-user/environment 하부에 위치한 파일들을 보여주며, 만약 유저가 environment 폴더를 나가서 파일을 만들게 되면 왼쪽의 탐색창에 나타나지 않으므로 작성에 유의를 하길 바란다.


2. C++및 Lambda업로드를 위한 환경준비

$ sudo yum install gcc64-c++ libcurl-devel
$ export CC=gcc64$ export CXX=g++64
$ sudo yum install cmake3
$ git clone https://github.com/awslabs/aws-lambda-cpp.git

git clone을 실행 한 뒤엔 왼쪽탐색창에 aws-lambda-cpp라는 폴더가 새로 생겼음을 확인한다.

github에서 클론 딴 폴더에 진입 한다음

$ cd aws-lambda-cpp


해당폴더 아래에 make작동을 위해 build 폴더를 만든다.

$ mkdir build
$ cd build
$ cmake3 .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_INSTALL_PREFIX=~/out
$ make && make install



이까지 진행하였으면 위와같은 화면이 나왔을 것이다.


3. C++ Lambda Function 만들기

Lambda에 업로드될 C++코드를 만들어보자. 물론 처음은 Hello world부터.
git으로 clone받은 aws-lambda-cpp폴더 내부로 이동하여 람다코드를 만들 폴더를 만든다.

$ mkdir hello-cpp-world

$ cd hello-cpp-world


hello-cpp-world폴더를 오른쪽 클릭하여 New File을 통해 main.cpp, CMakeLists.txt (대소문자 틀리면 안된다!) 두개의 파일을 생성한다.


에서 그대로 긁어다가 복사해서 붙여넣기한다.


지금까지 잘 따라왔다면 위와같은 화면이 된다.

빌드를 하기위해 hello-cpp-world 아래에 build폴더를 만들고 빌드 및 make를 한다.

(hello-cpp-world 에서)
$ mkdir build$ cd build
$ cmake3 .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/out
$ make


$ make aws-lambda-package-hello

이 명령 실행 후, hello.zip이 생성된 것을 확인할 수 있다.



★이어지는 내용★

1 2 3 4 5 6 7 8 9 10 다음