AWS+NodeJS로 서버리스 환경 구축 ①
5445 단어 APIGateway람다AWSNode.js
소개
서버리스는 완전히 미경험입니다만, 공부가 테라비망록으로서 남겨 두려고 생각합니다.
표현 등이 제대로 없는 경우는 지적해 주시면 다행입니다.
서버리스는 무엇입니까?
간단히 말하면, 사용자가 서버 영역을 의식하지 않고 직접 이용할 수 있는 서비스를 활용한 구성입니다.
Lambda는 설정된 프로그램을 시작하는 실행 환경입니다. 시작 조건이 충족되면 프로그램이 Lambda 환경으로 호출되어 실행됩니다. 이 때문에, Lambda에서는, 실행한 시간과 그 회수만의 과금이 됩니다.
향하는 서비스
· 대기 시간이 긴 시스템
· CPU 부하가 시간대에 따라 차이가 있는 시스템
부적절한 서비스
· 항상 시스템이 움직여야 하는 서비스
・고부하 상태가 장시간 지속되는 시스템
좀 더 자세한 내용을 알고 싶다면 이 사이트를 방문하십시오.
서버리스 아키텍처
Lambda 함수 만들기
· AWS Lambda 페이지> 함수 작성> 처음부터 작성
· 함수 이름을 입력, 런타임 선택 (필요한 경우)
・그 외는 디폴트치 그대로 작성 버튼
API Gateway 트리거 추가 및 설정
· "트리거 추가"버튼을 눌러 API Gateway를 선택
· API를 "신규 API"를 선택
・그 외는 디폴트치 그대로 추가 버튼
출처
index.js'use strict'
let fs = require('fs')
let path = require('path')
exports.handler = (event, context, callback) => {
let filePath = path.join(__dirname, 'page.html')
let html = fs.readFileSync(filePath).toString()
sendHtmlResponse(context, 200, html)
}
function sendHtmlResponse(context, statusCode, html) {
let response = {
'statusCode': statusCode,
'headers': {
'Content-Type': 'text/html'
},
'body': html
}
context.succeed(response)
}
page.html<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サーバレス</title>
</head>
<body>
<h1>やっちゃおう!サーバレスで</h1>
</body>
</html>
페이지 방문
API Gateway가 설치한 트리거를 클릭하고 표시되는 URL을 클릭하면 액세스할 수 있어야 합니다.
전환 대상 페이지에서 이와 같이 표시되면 성공입니다.
끝에
다음은 Lambda와 dynamodb나 S3와 조합하여 투고할까 생각합니다.
Reference
이 문제에 관하여(AWS+NodeJS로 서버리스 환경 구축 ①), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isacRU/items/fe4751603d3da32b2daf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
간단히 말하면, 사용자가 서버 영역을 의식하지 않고 직접 이용할 수 있는 서비스를 활용한 구성입니다.
Lambda는 설정된 프로그램을 시작하는 실행 환경입니다. 시작 조건이 충족되면 프로그램이 Lambda 환경으로 호출되어 실행됩니다. 이 때문에, Lambda에서는, 실행한 시간과 그 회수만의 과금이 됩니다.
향하는 서비스
· 대기 시간이 긴 시스템
· CPU 부하가 시간대에 따라 차이가 있는 시스템
부적절한 서비스
· 항상 시스템이 움직여야 하는 서비스
・고부하 상태가 장시간 지속되는 시스템
좀 더 자세한 내용을 알고 싶다면 이 사이트를 방문하십시오.
서버리스 아키텍처
Lambda 함수 만들기
· AWS Lambda 페이지> 함수 작성> 처음부터 작성
· 함수 이름을 입력, 런타임 선택 (필요한 경우)
・그 외는 디폴트치 그대로 작성 버튼
API Gateway 트리거 추가 및 설정
· "트리거 추가"버튼을 눌러 API Gateway를 선택
· API를 "신규 API"를 선택
・그 외는 디폴트치 그대로 추가 버튼
출처
index.js'use strict'
let fs = require('fs')
let path = require('path')
exports.handler = (event, context, callback) => {
let filePath = path.join(__dirname, 'page.html')
let html = fs.readFileSync(filePath).toString()
sendHtmlResponse(context, 200, html)
}
function sendHtmlResponse(context, statusCode, html) {
let response = {
'statusCode': statusCode,
'headers': {
'Content-Type': 'text/html'
},
'body': html
}
context.succeed(response)
}
page.html<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サーバレス</title>
</head>
<body>
<h1>やっちゃおう!サーバレスで</h1>
</body>
</html>
페이지 방문
API Gateway가 설치한 트리거를 클릭하고 표시되는 URL을 클릭하면 액세스할 수 있어야 합니다.
전환 대상 페이지에서 이와 같이 표시되면 성공입니다.
끝에
다음은 Lambda와 dynamodb나 S3와 조합하여 투고할까 생각합니다.
Reference
이 문제에 관하여(AWS+NodeJS로 서버리스 환경 구축 ①), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isacRU/items/fe4751603d3da32b2daf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
· "트리거 추가"버튼을 눌러 API Gateway를 선택
· API를 "신규 API"를 선택
・그 외는 디폴트치 그대로 추가 버튼
출처
index.js'use strict'
let fs = require('fs')
let path = require('path')
exports.handler = (event, context, callback) => {
let filePath = path.join(__dirname, 'page.html')
let html = fs.readFileSync(filePath).toString()
sendHtmlResponse(context, 200, html)
}
function sendHtmlResponse(context, statusCode, html) {
let response = {
'statusCode': statusCode,
'headers': {
'Content-Type': 'text/html'
},
'body': html
}
context.succeed(response)
}
page.html<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サーバレス</title>
</head>
<body>
<h1>やっちゃおう!サーバレスで</h1>
</body>
</html>
페이지 방문
API Gateway가 설치한 트리거를 클릭하고 표시되는 URL을 클릭하면 액세스할 수 있어야 합니다.
전환 대상 페이지에서 이와 같이 표시되면 성공입니다.
끝에
다음은 Lambda와 dynamodb나 S3와 조합하여 투고할까 생각합니다.
Reference
이 문제에 관하여(AWS+NodeJS로 서버리스 환경 구축 ①), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isacRU/items/fe4751603d3da32b2daf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
'use strict'
let fs = require('fs')
let path = require('path')
exports.handler = (event, context, callback) => {
let filePath = path.join(__dirname, 'page.html')
let html = fs.readFileSync(filePath).toString()
sendHtmlResponse(context, 200, html)
}
function sendHtmlResponse(context, statusCode, html) {
let response = {
'statusCode': statusCode,
'headers': {
'Content-Type': 'text/html'
},
'body': html
}
context.succeed(response)
}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サーバレス</title>
</head>
<body>
<h1>やっちゃおう!サーバレスで</h1>
</body>
</html>
API Gateway가 설치한 트리거를 클릭하고 표시되는 URL을 클릭하면 액세스할 수 있어야 합니다.
전환 대상 페이지에서 이와 같이 표시되면 성공입니다.
끝에
다음은 Lambda와 dynamodb나 S3와 조합하여 투고할까 생각합니다.
Reference
이 문제에 관하여(AWS+NodeJS로 서버리스 환경 구축 ①), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isacRU/items/fe4751603d3da32b2daf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS+NodeJS로 서버리스 환경 구축 ①), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/isacRU/items/fe4751603d3da32b2daf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)