앞서 정리한 개념을 바탕으로 본격적인 실습을 진행해보자
DynamoDB 생성
우선, 서비스에 연결할 테이블을 생성해보자. 테이블명은 hello-member이며 name을 기본키로 갖는다.
기본적인 설정을 마치고 생성을 완료한 뒤 잠시 기다려보면 무사히 생성이 완료된 것을 확인할 수 있다
Lambda 생성
다음으로는 Lambda 생성 메뉴로 들어가서 Create function을 클릭한다. Function name과 Runtime을 설정해주고 Architecture는 기본값은 x86으로 설정해주었다. Permissions는 functino과 dynamodb 연결 시 권한 해결을 위해 Simple microservice permissions DynamoDB를 선택해 주었다.
생성이 끝나면 코드를 작성해주면 된다. 해당 코드는 이름 4개와 기분 4개가 랜덤으로 매칭된 후 결과를 보여주게끔 하는 코드다.
코드 적용을 마치고, test 옵션을 설정해준뒤에 test를 돌려보면 200이 잘 뜨는 것을 확인 할 수 있다. 또한 DynamoDB에도 값이 잘 들어가있는 것을 볼 수 있다.
API Gateway 생성
이제 인터넷을 통해 람다를 실행할 수 있도록 인터넷 주소를 만들어 람다와 연결을 해 줄 차례이다.
여러 방식의 API중에서 REST API를 선택후 아래와 같은 방법으로 입력하여 생성하면 생성이 완료된다.
완료 화면의 create method 버튼을 클릭하면 API를 구성할 수 있는 화면이 뜬다. Integration type으로 Lambda Function을 선택한 뒤 아까 만들어둔 람다 이름을 선택해주면 생성이 끝난다.
생성한 api의 resource 화면에서 만든 메소드를 선택 후 test를 진행해보니 성공적으로 수행이 됨을 확인할 수 있었다.
마지막으로 CORS 설정만 하면 api gateway 생성은 끝난다. Resource details의 Enable CORS 화면으로 넘어가서 Access-Allow-Methods 에서 생성한 Method를 선택한 후 저장해준다.
모든 설정이 끝났으니 Deploy를 하고 완료된 결과의 Invoke URL을 브라우저에 붙여넣기 해보면 람다가 호출되는 것을 확인할 수 있을 것이다.
S3 생성
이제 S3에 정적 웹사이트 호스팅 기능을 사용하여 Web 서버를 대체하기만 하면 끝이다. S3 bucket에 index.html 파일을 배포하고 권한을 부여하여서 모든 사용자들이 웹에 접속 가능하게끔 해보자.
버킷 이름은 적절히 지정해준뒤, 모든 사용자가 접근할 수 있게끔 권한 설정을 해준다.
버킷 생성이 완료되면 작성해둔 index.html 코드를 업로드 해준다. index.html에는 앞서 만든 api gateway의 invoke url이 연결되어서 버튼 클릭시 해당 api로 연결되게끔 해둔 상태이다. 그 후 s3의 정적 웹사이트 호스팅 기능을 활성화하여서 웹서버 기능을 사용해보기 위해 properties 설정을 다음과 같이 하였다.
설정이 끝나면 권한 부여를 위해 permissions 탭의 bucket policy 섹션을 다음과 같이 수정하였다.
이제 모든 설정이 끝났으니 정적 웹사이트 호스팅 주소를 브라우저에 붙여넣어 보았다. 다음과 같이 화면이 잘 뜨고 버튼 클릭시에 모든 호출이 잘 일어나서 디비 적재도 성공적으로 완료되는 것을 확인할 수 있었다.
'Dev Tool > AWS' 카테고리의 다른 글
[AWS]간단한 웹 애플리케이션 서버 구축하기(2) (1) | 2024.09.11 |
---|---|
[AWS]간단한 웹 애플리케이션 서버 구축하기(1) (0) | 2024.09.11 |
[AWS] 서버리스로 간단한 웹 애플리케이션 구축하기(1) (5) | 2024.09.03 |
[AWS] VPC와 서브넷 (0) | 2024.05.07 |
[AWS] EC2 개념 이해하기 (0) | 2024.05.02 |