서론
하나의 OS에서 다수 AWS 계정의 configure를 등록했다면, AWS CLI 명령어 뒤에 --profile [프로파일명] 옵션을 사용하여 이 명령어가 실행될 AWS 계정을 구분할 수 있습니다.
하지만 명령어를 칠때마다 뒤에 --profile [프로파일명] 을 붙이는 것은 여간 귀찮은 일이 아니며, 명령어도 길어지고, 자칫 프로파일을 붙이지 않아 엉뚱한 AWS 계정에 명령어를 날리는 실수를 할 수 있습니다.
이러한 일들을 방지하고자 아예 AWS 계정별로 OS user를 생성하고, 각 user 에 로그인 하면 기본적으로 해당 AWS 계정의 profile을 사용하게끔 설정을 해봅시다.
alpha 라는 AWS 계정에 CLI 명령을 하고 싶다면 alpha 라는 OS user로 로그인
bravo 라는 AWS 계정에 CLI 명령을 하고 싶다면 bravo 라는 OS user로 로그인
본문에서는 설정 후 확인 명령어로 s3 list 를 조회 하였으나, S3가 없다면 상황에 따라 다른 명령어를 쓰시면 됩니다.
CentOS 7 을 기준으로 작성 하였으므로 OS에 따라 적절히 변경하여 사용하시면 됩니다.
[ root user ] - OS User 추가, sudoers 파일 수정, AWS CLI 설치
sudo su - root
yum update -y
alpha, bravo 계정 추가
useradd alpha
useradd bravo
passwd alpha
passwd bravo
/etc/sudoers 파일 수정
chmod +w /etc/sudoers
vi /etc/sudoers
root ALL=(ALL) ALL
alpha ALL=NOPASSWD: ALL
bravo ALL=NOPASSWD: ALL
chmod -w /etc/sudoers
AWS CLI 설치
cd ~
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
[ alpha User ] - AWS Configure 설정
sudo su - alpha
aws configure --profile=alpha
AWS Access Key ID [None]: ****************2KGQ
AWS Secret Access Key [None]: ****************YxEJ
Default region name [None]: {aws-region-code}
Default output format [None]:
aws s3 ls --profile alpha
AWS_DEFAULT_PROFILE 을 설정, 또한 헷갈리지않게 명령어 프롬프트에 색깔도 넣어줌.
vi ~/.bash_profile
export AWS_DEFAULT_PROFILE=alpha
SERVER_NAME=`echo -e "\033[1m\033[41m$HOSTNAME\033[0m"`
if [ "$LOGNAME" = "root" ]; then
export PS1="[$LOGNAME@ ${SERVER_NAME} :\$PWD]# "
else
export PS1="[$LOGNAME@ ${SERVER_NAME} :\$PWD]$ "
fi
source ~/.bash_profile
aws s3 ls
[ bravo User ] - AWS Configure 설정
sudo su - bravo
aws configure --profile=bravo
AWS Access Key ID [None]: ****************ISPW
AWS Secret Access Key [None]: ****************yB/w
Default region name [None]: {aws-region-code}
Default output format [None]:
aws s3 ls --profile bravo
AWS_DEFAULT_PROFILE 을 설정, 또한 헷갈리지않게 명령어 프롬프트에 색깔도 넣어줌.
vi ~/.bash_profile
export AWS_DEFAULT_PROFILE=bravo
SERVER_NAME=`echo -e "\033[1m\033[44m$HOSTNAME\033[0m"`
if [ "$LOGNAME" = "root" ]; then
export PS1="[$LOGNAME@ ${SERVER_NAME} :\$PWD]# "
else
export PS1="[$LOGNAME@ ${SERVER_NAME} :\$PWD]$ "
fi
source ~/.bash_profile
aws s3 ls
결과
(참고) : 프롬프트 색상 정보
C_DEFAULT="\[\033[m\]"
C_WHITE="\[\033[1m\]"
C_BLACK="\[\033[30m\]"
C_RED="\[\033[31m\]"
C_GREEN="\[\033[32m\]"
C_YELLOW="\[\033[33m\]"
C_BLUE="\[\033[34m\]"
C_PURPLE="\[\033[35m\]"
C_CYAN="\[\033[36m\]"
C_LIGHTGRAY="\[\033[37m\]"
C_DARKGRAY="\[\033[1;30m\]"
C_LIGHTRED="\[\033[1;31m\]"
C_LIGHTGREEN="\[\033[1;32m\]"
C_LIGHTYELLOW="\[\033[1;33m\]"
C_LIGHTBLUE="\[\033[1;34m\]"
C_LIGHTPURPLE="\[\033[1;35m\]"
C_LIGHTCYAN="\[\033[1;36m\]"
C_BG_BLACK="\[\033[40m\]"
C_BG_RED="\[\033[41m\]"
C_BG_GREEN="\[\033[42m\]"
C_BG_YELLOW="\[\033[43m\]"
C_BG_BLUE="\[\033[44m\]"
C_BG_PURPLE="\[\033[45m\]"
C_BG_CYAN="\[\033[46m\]"
C_BG_LIGHTGRAY="\[\033[47m\]"
'IT기술, 정보' 카테고리의 다른 글
[Windows] 윈도우 로컬 계정 암호 분실시 재설정 방법 (0) | 2023.03.03 |
---|---|
[Slack] Slack incomming webhook 생성 (0) | 2023.02.28 |
[AWS] S3 파일 동기화(복사) (0) | 2023.02.27 |
ChatGPT와 생성형 AI (그리고 블로그 운영) (0) | 2023.02.25 |
[git] 처음 GitHub 시작시 에러 (MacOS) (0) | 2023.02.24 |
댓글