본문 바로가기
  • 클라우드야 나랑 친해지자!
클라우드/AWS

마이크로서비스 기반 번역 웹 서비스(POST)

by 정민규 2021. 2. 17.
반응형

수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다

개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.

 

잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!


 

교재 <당신이 지금 알아야 할 AWS - 이영호, 한동수 지음>를 토대로 실습을 진행하였습니다.

 

 

 

* 실습요약

1. 번역 API 게이트웨이용 람다 함수 생성

  A. 람다 함수 생성(람다 함수 이름 : lambda_for_translate_service)

  B. 람다 함수 실행 역할 생성(람다 역할 이름 : role_for_translate_service)

2. 람다 함수 소스코드 작성

3. 람다 함수 역할 수정

  A. 정책 생성 및 검토(정책 이름 : role_for_translate_service)

  B. 기존 관리형 정책 선택(TranslateFullAccess)

4.람다 API 게이트웨이 설정

5. index.html 파일 수정 및 S3 버킷 생성

6. S3 버킷에 수정파일 업로드

7. 번역 서비스 정적 웹 사이트 설정 및 테스트

 

 

 

 

 

* Amazon Translate 란?

 

aws.amazon.com/ko/translate/

 

Amazon Translate – 인공신경망 기계 번역 – AWS

Amazon Translate는 자동 번역을 제공하므로 애플리케이션의 사용자가 서로 다른 언어로 커뮤니케이션할 수 있습니다. 채팅, 이메일, 헬프데스크, 발권 애플리케이션에 실시간 번역 기능을 추가하면

aws.amazon.com

 

 

 

 

1) API 게이트웨이용 람다 함수 생성

Lambda > 함수 생성 > 함수 이름 : lambda_for_translate_service > 런타임 : Node.js 14.x > AWS 정책 템프릿에서 새 역할 생성 > 역할 이름 : role_for_translate_service > 정책 템플릿 : 기존 Lambda@Edge 권한 > 함수 생성

 

 

 

 

 

2) 람다 함수 소스코드 작성

8-6-5.txt
0.00MB

 

위 예제 소스는 우리가 POST 형식으로 전달한 데이터를 Translate 서비스를 통해 번역한 후 리턴한 소스코드입니다.

 

 

 

 

 

 

3) 람다 함수 역할 수정

 

lambda_for_translate_service 의 권한에서 역할 이름을 클릭하여 "TranslateFullAccess" 정책을 연결해줍니다.

 

 

 

 

 

 

 

 

 

4) 람다 함수 API 게이트웨이 설정

트리거 추가 > API 생성 > HTTP API > 보안 : 열기

 

 

 

 

 

 

성공적으로 API 게이트웨이가 추가되었습니다.

홈페이지를 통해 서비스를 만들면, 데이터를 요청할 주소가 필요합니다. 이와 같은 기능을 하는 API 엔드포인트를 잘 기록합니다.

 

 

 

 

 

 

5) 파일 수정 및 버킷 생성

index.html
0.00MB

index.html 파일을 열어 32번째 라인 URL 주소를 방금 전 엔드포인트 URI로 수정합니다.

 

이제 버킷을 생성해보겠습니다. 이름과 리전만 수정하고 나머지는 기본값으로 둔 채 버킷을 생성합니다.

 

 

 

 

6) S3 버킷 수정 파일 업로드

index.html 파일을 업로드합니다.

 

 

 

버킷의 퍼블릭 설정을 해제합니다. 

 

 

index.html 의 ACL을 모든 사람에게(퍼블릭) 허용합니다.

 

 

 

 

7) 번역 서비스 정적 웹 사이트 설정 및 테스트

정적 웹 사이트 호스팅을 활성화해주고 인덱스 문서에 index.html 을 입력합니다.

 

 

 

 

 

다시 정적 웹사이트 호스팅을 클릭하면 번역 사이트가 뜨게 됩니다.

"안녕하세요"를 작성했을 때 "Hallo" 로 번역되는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

지금까지 실습을 정리하면, S3로 호스팅한 웹 사이트에서 POST 방식으로 API 게이트웨이를 통해 람다로 전달해보았습니다. 람다 함수에서 AWS Translate 서비스를 통해 번역 후 다시 사용자에게 번역된 텍스트를 응답해보았습니다.

 

 

 

 

반응형

댓글