-
[Spring] AWS 자격증명 정보를 사용하는 2가지 방법legacy/Spring 2024. 4. 19. 16:19
EC2 IAM에 등록된 자격 증명 사용하기
패키지 정보 확인하기
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.presigner.S3Presigner;
@Configuration public class AmazonS3Config { @Value("${aws.region}") private String region; @Value("${aws.access-key}") private String accessKey; @Value("${aws.secret-key}") private String secretKey; @Bean public S3Client s3Client() { return S3Client.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .region(Region.of(region)) .build(); } @Bean public S3Presigner presigner() { return S3Presigner.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .region(Region.of(region)) .build(); } @Bean public AmazonSimpleEmailService amazonSimpleEmailService() { return AmazonSimpleEmailServiceClientBuilder.standard() .withCredentials(com.amazonaws.auth.InstanceProfileCredentialsProvider.getInstance()) .withRegion(region) .build(); } }
자격 증명 직접 사용하기
패키지 정보 확인하기
import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.simpleemail.AmazonSimpleEmailService; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.presigner.S3Presigner;
@Configuration public class AmazonS3Config { @Value("${aws.region}") private String region; @Value("${aws.access-key}") private String accessKey; @Value("${aws.secret-key}") private String secretKey; @Bean public S3Client s3Client() { return S3Client.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .region(Region.of(region)) .build(); } @Bean public S3Presigner presigner() { return S3Presigner.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .region(Region.of(region)) .build(); } @Bean public AmazonSimpleEmailService amazonSimpleEmailService() { return AmazonSimpleEmailServiceClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey))) .withRegion(region) .build(); } }
전체 코드 : 깃허브