[go] Go 언어를 사용하여 AWS CloudFront를 통한 콘텐츠 전송하기
AWS CloudFront는 콘텐츠 전송 네트워크(Content Delivery Network, CDN)로, 전 세계 사용자에게 콘텐츠를 신속하게 전달할 수 있습니다. 이 기술 블로그에서는 Go 언어를 사용하여 AWS CloudFront를 통해 콘텐츠를 전송하는 방법에 대해 알아보겠습니다.
AWS SDK 설치 및 설정
우선, Go 언어에서 AWS 서비스를 사용하기 위해 AWS SDK를 설치해야 합니다. Go 언어의 공식 AWS SDK는 aws/aws-sdk-go
입니다. 이를 설치하기 위해 먼저 Go 모듈을 초기화합니다.
go mod init myapp
그런 다음 필요한 SDK 모듈을 가져옵니다.
go get github.com/aws/aws-sdk-go@v1
CloudFront API를 사용하여 콘텐츠 전송
SDK가 설정되면, CloudFront API를 사용하여 콘텐츠를 전송할 수 있습니다. 다음은 간단한 예시 코드입니다.
package main
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/cloudfront"
"fmt"
)
func main() {
sess := session.Must(session.NewSessionWithOptions(session.Options{
SharedConfigState: session.SharedConfigEnable,
}))
svc := cloudfront.New(sess)
input := &cloudfront.CreateInvalidationInput{
DistributionId: aws.String("YOUR_DISTRIBUTION_ID"),
InvalidationBatch: &cloudfront.InvalidationBatch{
Paths: &cloudfront.Paths{
Quantity: aws.Int64(1),
Items: []*string{
aws.String("/*"),
},
},
CallerReference: aws.String("go-example"),
},
}
result, err := svc.CreateInvalidation(input)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}
위 코드는 CloudFront에 대한 새로운 무효화(invalidation)를 만드는 방법을 보여줍니다. 이를 사용하여 변경된 콘텐츠를 빠르게 전파할 수 있습니다.
마무리
Go 언어를 사용하여 AWS CloudFront를 통해 콘텐츠를 전송하는 방법에 대해 알아보았습니다. 이를 통해 더욱 빠르고 효율적인 콘텐츠 전송을 구현할 수 있습니다.
더 자세한 정보는 아래 AWS 공식 문서를 참조하세요.
이상으로 Go 언어와 AWS CloudFront를 사용하여 콘텐츠를 전송하는 방법에 대해 알아보았습니다. 감사합니다!