【AWS CLI】Red Hat Enterprise Linux 8에서 AWS CLI 사용 가능
목표
· Red Hat Enterprise Linux 8 기반 EC2 인스턴스에 AWS CLI를 설치합니다.
· AWS CLI를 사용하여 대상 AWS 계정 내에서 리소스 작업을 가능하게 합니다.
이용환경
하드웨어: AWS EC2 서버
OS(AMI): Red Hat Enterprise Linux 8 (HVM), SSD Volume Type
기타 소프트웨어:
파이썬 3.8.0
aws-cli/1.18.81 Python/3.8.0 Linux/4.18.0-193.el8.x86_64 botocore/1.17.4
작업 흐름
항번
제목
1
파이썬 설치
2
AWSCLI 설치
3
액세스 키 ID 및 비밀 액세스 키 발급
4
AWSCLI 동작 확인
절차
1. 파이썬 설치
AWS CLI는 파이썬이 기반이므로 먼저 파이썬 실행 환경이 설치되어 있어야 합니다.
그러나 Red Hat Enterprise Linux 8에서는 기본적으로 파이썬이 설치되지 않은 것처럼 보입니다.
먼저 설치합니다(※).
2020/6/17 현재 yum에서 최신 python3.8을 설치했습니다.
※ 참고로 한 사이트
Red Hat Enterprise Linux 8에 Python 설치
htps : // v.ぁsss d. jp / archi c ぇ s / in-sea rch-f-o-stpy 흠 - t r l-8 /
①python3.8 설치
yum install python38
실행⇒
Complete!
라고 출력되는 것.[root@ip-172-31-45-222 ~]# yum install python38
Installed:
python38-3.8.0-6.module+el8.2.0+5978+503155c0.x86_64 python38-libs-3.8.0-6.module+el8.2.0+5978+503155c0.x86_64
python38-pip-19.2.3-5.module+el8.2.0+5979+f9f0b1d2.noarch python38-pip-wheel-19.2.3-5.module+el8.2.0+5979+f9f0b1d2.noarch
python38-setuptools-41.6.0-4.module+el8.2.0+5978+503155c0.noarch python38-setuptools-wheel-41.6.0-4.module+el8.2.0+5978+503155c0.noarch
Complete!
②python 명령 동작 확인
python3 --version
실행 (RHEL에서는 버전도 명령 내에 포함되어야 함)⇒ 정상적으로 버전 정보가 출력되는 것
[root@ip-172-31-45-222 ~]# python3 --version
Python 3.8.0
2. AWSCLI 설치
①AWS CLI 설치
pip3 install awscli
실행⇒
Successfully installed
라고 출력되는 것.[root@ip-172-31-45-222 ~]# pip3 install awscli
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting awscli
Downloading https://files.pythonhosted.org/packages/9f/13/a93f9ef5d6a0820dbd324a222aba7ff299454cbc0f8c8d37d918e3b530fb/awscli-1.18.81.tar.gz (1.2MB)
|????????????????????????????????| 1.2MB 7.3MB/s
Collecting botocore==1.17.4 (from awscli)
Downloading https://files.pythonhosted.org/packages/bc/83/e5c0420ed9d628c6cd054c8a0782dece06515a90b63de4e1c3ce2b943dc2/botocore-1.17.4-py2.py3-none-any.whl (6.3MB)
|????????????????????????????????| 6.3MB 23.7MB/s
Collecting docutils<0.16,>=0.10 (from awscli)
Downloading https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl (547kB)
|????????????????????????????????| 552kB 36.8MB/s
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB)
|????????????????????????????????| 51kB 27.9MB/s
Collecting s3transfer<0.4.0,>=0.3.0 (from awscli)
Downloading https://files.pythonhosted.org/packages/69/79/e6afb3d8b0b4e96cefbdc690f741d7dd24547ff1f94240c997a26fa908d3/s3transfer-0.3.3-py2.py3-none-any.whl (69kB)
|????????????????????????????????| 71kB 32.6MB/s
Collecting PyYAML<5.4,>=3.10 (from awscli)
Downloading https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz (269kB)
|????????????????????????????????| 276kB 37.7MB/s
Collecting colorama<0.4.4,>=0.2.5 (from awscli)
Downloading https://files.pythonhosted.org/packages/c9/dc/45cdef1b4d119eb96316b3117e6d5708a08029992b2fee2c143c7a0a5cc5/colorama-0.4.3-py2.py3-none-any.whl
Collecting python-dateutil<3.0.0,>=2.1 (from botocore==1.17.4->awscli)
Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB)
|????????????????????????????????| 235kB 41.5MB/s
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.17.4->awscli)
Downloading https://files.pythonhosted.org/packages/07/cb/5f001272b6faeb23c1c9e0acc04d48eaaf5c862c17709d20e3469c6e0139/jmespath-0.10.0-py2.py3-none-any.whl
Collecting urllib3<1.26,>=1.20; python_version != "3.4" (from botocore==1.17.4->awscli)
Downloading https://files.pythonhosted.org/packages/e1/e5/df302e8017440f111c11cc41a6b432838672f5a70aa29227bf58149dc72f/urllib3-1.25.9-py2.py3-none-any.whl (126kB)
|????????????????????????????????| 133kB 47.5MB/s
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli)
Downloading https://files.pythonhosted.org/packages/62/1e/a94a8d635fa3ce4cfc7f506003548d0a2447ae76fd5ca53932970fe3053f/pyasn1-0.4.8-py2.py3-none-any.whl (77kB)
|????????????????????????????????| 81kB 35.4MB/s
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore==1.17.4->awscli)
Downloading https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Installing collected packages: six, python-dateutil, docutils, jmespath, urllib3, botocore, pyasn1, rsa, s3transfer, PyYAML, colorama, awscli
Running setup.py install for PyYAML ... done
Running setup.py install for awscli ... done
Successfully installed PyYAML-5.3.1 awscli-1.18.81 botocore-1.17.4 colorama-0.4.3 docutils-0.15.2 jmespath-0.10.0 pyasn1-0.4.8 python-dateutil-2.8.1 rsa-3.4.2 s3transfer-0.3.3 six-1.15.0 urllib3-1.25.9
②AWS CLI 설치 확인
aws --version
실행⇒ 정상적으로 버전 정보가 출력되는 것
[root@ip-172-31-45-222 ~]# aws --version
aws-cli/1.18.81 Python/3.8.0 Linux/4.18.0-193.el8.x86_64 botocore/1.17.4
3. 액세스 키 ID 및 비밀 액세스 키 발급
AWS CLI에서 AWS 계정 내 리소스에 액세스하려면,
액세스 키 ID와 비밀번호 액세스 키가 필요하므로 AWS 콘솔에서 게시합니다.
①이하에 액세스
htps : // 이런. 아 ws. 아마존. 코 m/아 m/칭찬? # / Sekuri ty_c Redenchia l
②
新しいアクセスキーの作成
를 클릭③
キーファイルのダウンロード
를 클릭클릭 후 "rootkey.csv"라는 파일이 다운로드되고,
여기에는 액세스 키 ID와 비밀 액세스 키가 포함되어 있습니다.
3. 액세스 키 ID와 비밀 액세스 키를 AWS CLI로 로드합니다.
aws configure
실행아래와 같이 각 항목에 값을 기입(※)해 주십시오.
※Default region name은 도쿄 리전(ap-northeast-1)을 설정하고 있습니다.
※Default output format은 「json, text, table」의 3 종류로부터 선택할 수 있는 것 같습니다.
[root@ip-172-31-45-222 ~]# aws configure
AWS Access Key ID [None]: {rootkey.csv記載のAWSAccessKeyId}
AWS Secret Access Key [None]: {rootkey.csv記載のAWSSecretKey}
Default region name [None]: ap-northeast-1
Default output format [None]: json
4. AWSCLI 동작 확인
json의 출력 값을 잘라내기 위해 jq를 설치합니다.
sudo yum install jq
실행⇒
Complete!
라고 표시되는 것
[root@ip-172-31-45-222 ~]# sudo yum install jq
Installed:
jq-1.5-12.el8.x86_64 oniguruma-6.8.2-1.el8.x86_64
Complete!
aws ec2 describe-instances | jq '.Reservations[].Instances[] | {InstanceId, PrivateIpAddress}'
(모든 인스턴스의 인스턴스 ID와 비공개 IP를 잘라보기) 실행⇒ 성공적으로 각 인스턴스의 ID와 IP 주소가 표시됩니다.
[root@ip-172-31-45-222 ~]# aws ec2 describe-instances | jq '.Reservations[].Instances[] | {InstanceId, PrivateIpAddress}'
{
"InstanceId": "i-0e2d37561986006ae",
"PrivateIpAddress": "172.31.42.251"
}
{
"InstanceId": "i-04b2b0295c4ace2c8",
"PrivateIpAddress": "172.31.42.211"
}
{
"InstanceId": "i-05479d1f45744d4e6",
"PrivateIpAddress": "172.31.33.200"
}
{
"InstanceId": "i-01996d692bf2eeee6",
"PrivateIpAddress": "172.31.34.245"
}
{
"InstanceId": "i-07e3cd75ed7d0e213",
"PrivateIpAddress": "172.31.34.137"
}
{
"InstanceId": "i-01ea4405ab69ba0fd",
"PrivateIpAddress": "172.31.45.222"
}
Reference
이 문제에 관하여(【AWS CLI】Red Hat Enterprise Linux 8에서 AWS CLI 사용 가능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/OPySPGcLYpJE0Tc/items/688d183ae6e1d678ea84텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)