Closed3

ローカルとEKSでのAWSクレデンシャルの使い方

not75743not75743

こうしたい

  • ローカル
    • アクセスキー、シークレットアクセスキー(~/.aws/credential)
    • 環境変数(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
  • EKS
    • IRSAまたはPodIdentity
not75743not75743

コード

package main

import (
	"context"
	"fmt"
	"log"

	"github.com/aws/aws-sdk-go-v2/config"
	"github.com/aws/aws-sdk-go-v2/service/s3"
)

func main() {
	ctx := context.Background()

	// AWS SDKが自動的にクレデンシャルを検索・取得
	cfg, err := config.LoadDefaultConfig(ctx)
	if err != nil {
		log.Fatalf("unable to load SDK config, %v", err)
	}

	s3Client := s3.NewFromConfig(cfg)

	// バケット一覧を取得
	result, err := s3Client.ListBuckets(ctx, &s3.ListBucketsInput{})
	if err != nil {
		log.Fatalf("failed to list buckets, %v", err)
	}

	fmt.Println("S3 Buckets:")
	for _, bucket := range result.Buckets {
		fmt.Printf("- %s\n", *bucket.Name)
	}
}
このスクラップは2ヶ月前にクローズされました