>백엔드 개발 >Golang >Go에서 AWS Lambda 사용: 전체 가이드

Go에서 AWS Lambda 사용: 전체 가이드

王林
王林원래의
2023-06-17 20:00:081052검색

Go에서 AWS Lambda 사용: 전체 가이드

AWS Lambda는 서버 설정 및 관리에 대해 걱정할 필요 없이 클라우드에서 코드를 실행할 수 있는 강력한 서버리스 컴퓨팅 플랫폼입니다. Go 언어 기반 애플리케이션의 경우 AWS Lambda는 매우 높은 가용성과 확장성을 제공하므로 많은 Go 개발자가 가장 먼저 선택합니다. 이 가이드에서는 Go 언어로 AWS Lambda를 사용하는 방법을 안내합니다.

  1. AWS CLI 및 AWS SDK 설정

시작하기 전에 Lambda와 상호 작용하려면 AWS CLI 및 AWS SDK를 설치해야 합니다. AWS CLI를 사용하면 명령줄 인터페이스에서 AWS 서비스를 쉽게 호출할 수 있고, AWS SDK를 사용하면 다양한 프로그래밍 언어를 사용하여 프로그래밍할 수 있습니다. AWS 공식 웹사이트에서 플랫폼에 적합한 설치 프로그램을 다운로드할 수 있습니다.

  1. S3 버킷 생성 또는 선택

AWS Lambda 코드를 S3 버킷에 업로드해야 합니다. 아직 버킷을 생성하지 않았다면 다음 단계에 따라 생성할 수 있습니다.

  • AWS 콘솔에 로그인하고 S3 서비스를 선택합니다.
  • "버킷 만들기" 버튼을 클릭하세요.
  • 고유한 전역 버킷 이름을 입력하고 지역을 선택하세요.
  • 업데이트 시 Lambda 코드가 버전을 관리할 수 있도록 하려면 "버전 제어 활성화" 옵션을 선택하세요.
  1. Lambda 함수 코드 작성

다음으로 애플리케이션에 적합한 Go 언어 Lambda 함수 코드를 작성해야 합니다.

먼저 코드를 저장할 폴더를 만들고 그 안에 main.go라는 파일을 만듭니다. 다음 샘플 코드를 파일에 넣을 수 있습니다.

package main

import (
    "context"
    "fmt"
    "github.com/aws/aws-lambda-go/lambda"
)

type Request struct {
    Name string `json:"name"`
}

type Response struct {
    Greeting string `json:"greeting"`
}

func HandleRequest(ctx context.Context, request Request) (Response, error) {
    message := fmt.Sprintf("Hello, %s!", request.Name)
    return Response{Greeting: message}, nil
}

func main() {
    lambda.Start(HandleRequest)
}

위 코드에서 HandleRequest 함수는 요청에서 이름 필드를 추출하여 환영 메시지를 구성하고 이를 응답으로 보냅니다. 또한 AWS Lambda Go 언어 개발자에게 필요한 전체 기능을 제공하는 "go-lambda" 코드 패키지, 특히 "aws/aws-lambda-go/lambda"를 가져왔다는 사실도 확인하셨습니다.

  1. Lambda 함수 코드 컴파일

Go 코드를 Lambda에 배포하려면 코드를 바이너리 파일로 컴파일해야 합니다. 이를 수행하는 방법에 대한 단계는 다음과 같습니다.

  • 코드 디렉터리에서 터미널을 열고 다음 명령을 실행하여 실행 파일을 만듭니다.
GOOS=linux GOARCH=amd64 go build -o main main.go
  • 파일을 S3 버킷에 업로드합니다.
aws s3 cp main s3://your-bucket-name/
  1. 만들기 Lambda 함수

이제 AWS Lambda 서비스를 사용하여 코드를 실행하는 새로운 Lambda 함수를 생성할 수 있습니다.

  • AWS 콘솔에 로그인하고 Lambda 서비스를 선택하세요.
  • "함수 만들기" 버튼을 클릭하세요.
  • "기능 기본 정보" 탭에서:

    • "기존 역할 사용" 옵션을 선택하고 기존 역할을 선택하거나 "새 역할 만들기"를 클릭하고 프롬프트에 따라 새 역할을 만듭니다. 이 역할은 Lambda 함수에 다른 AWS 서비스 및 리소스에 액세스할 수 있는 권한을 부여하는 데 사용됩니다.
    • Lambda 함수에 고유한 이름을 지정하고 적절한 런타임을 선택하세요. 여기서는 Go 1.x를 사용합니다.
  • "기능 코드" 탭에서:

    • "S3 버킷에서 파일 업로드" 옵션을 선택하고 S3 버킷 이름과 바이너리 파일 경로를 입력합니다.
    • "Handler" 필드의 값을 바이너리 파일 이름(".go" 또는 ".exe" 확장자 제외)과 함수 이름으로 설정합니다. 예를 들어 "main.HandleRequest"입니다.
  • "고급 설정"에서는 사용된 메모리 크기, 시간 초과, 환경 변수 등을 확인하는 등 Lambda 기능을 추가로 구성할 수 있습니다. 그런 다음 "함수 생성" 버튼을 클릭하여 Lambda 함수를 생성합니다.
  1. Lambda 함수 테스트

AWS 콘솔에서 함수에 대한 테스트 이벤트를 생성하여 함수를 테스트할 수 있습니다. 다음과 같은 JSON 테스트 이벤트를 생성하세요.

{
   "name": "Bob"
}

그런 다음 "테스트" 버튼을 클릭하여 함수를 실행하고 예상한 출력을 반환하는지 확인하세요.

결론

이제 Go 언어로 AWS Lambda를 사용하는 방법을 배웠습니다. 이는 단지 입문서일 뿐이지만(AWS Lambda에 사용할 수 있는 많은 기능이 있음) AWS Lambda를 사용하여 자체 애플리케이션을 구축하고 배포하는 실험을 시작할 수 있도록 충분한 정보를 제공합니다. 행운을 빌어요!

위 내용은 Go에서 AWS Lambda 사용: 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.