
EC2에 배포되지 않은 외부 애플리케이션에서 aws 마켓플레이스에 미터링을 전송하거나 고객 정보를 알려면
자격증명에 대한 정보가 필요한데 aws cli를 이용하게 되면 하드코딩된 키값보다는 안전하게 자격증명에 대한 과정을 거칠 수 있다.
## macOS
## brew를 이용한 aws cli 설치
brew install awscli
## linux
## aws cli zip 파일 다운후 설치
sudo apt update
sudo install unzip
sudo curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo unzip awscliv2.zip
## aws cli 설치 경로 확인
which aws
>> /opt/homebrew/bin/aws
## aws-cli 설치 및 버전을 확인.
aws --version
>> aws-cli/2.17.61 Python/3.12.6 Darwin/23.3.0 source/arm64
## configure 생성 (--profile 옵션을 적용하지 않으면 default로 자동으로 생성된다.)
aws configure --profile <PROFILE NAME>
## configure 값 입력
AWS Access Key ID [None] : {발급받은 IAM의 Access Key ID}
AWS Secret Access Key [None] : {발급받은 IAM의 Secret Access Key}
Default region name [None] : {리전}
Default output format [None] : json
## aws cli를 설치한 폴더로 이동
cd $HOME/.aws
## 인증 정보 확인
vi credentials
[default]
aws_access_key_id= 등록한 키 값
aws_secret_access_key= 등록한 액세스 키 값
[PROFILE NAME]
aws_access_key_id= 등록한 키 값
aws_secret_access_key= 등록한 액세스 키 값
## 프로필 설정 정보 확인
vi config
[default]
region= 등록한 리전 정보
output= 등록한 출력 양식
[PROFILE NAME]
region= 등록한 리전 정보
output= 등록한 출력 양식
MarketplaceMeteringClientBuilder marketplaceMeteringClientBuilder
= MarketplaceMeteringClient.builder();
// aws cli를 통해 accessKeyId, secretAccessKey로 인증 정보 생성
ProfileCredentialsProvider profileCredentialsProvider
= ProfileCredentialsProvider.create(프로필명);
marketplaceMeteringClientBuilder.region(Region.AP_NORTHEAST_2);
marketplaceMeteringClientBuilder.credentialsProvider(profileCredentialsProvider);
MarketplaceMeteringClient marketplaceMeteringClient = marketplaceMeteringClientBuilder.build();
return marketplaceMeteringClient;
위의 과정을 통해서 java 애플리케이션에서 aws계정에 대한 자격증명을 한 뒤
marketplace의 미터링 전송이나 resolveCustomer등의 기능을 사용할 수 있다.