注目キーワード
  1. AWS
  2. Python

Ubuntu 20.04 LTS に AWS CLI をインストール

  • 2021年7月31日
  • 2021年9月20日
  • AWS, Linux
  • 16view
AWS

Ubuntu Desktop 20.04 LTS に AWS CLI をインストールして、基本的な操作をするまでの手順です。

AWS CLI とは

コマンドラインシェルのコマンドを使って AWS サービスにアクセスすることができます。
ブラウザベースの AWS Management Console と同等の機能が提供されています。

AWS Command Line Interface (AWS CLI) を使用することで、AWS サービスをコマンドラ…


Linux の前提条件

AWS CLI バージョン 2 は「unzip」「glibc」「groff」「less」を使用するためインストールしておく必要があります。
次のコマンドを実行して、情報が表示されればインストールされています。

$ /usr/lib/x86_64-linux-gnu/libc.so.6
$ unzip --version
$ groff --version
$ less --version
$ curl --version

インストールされていない場合は、次のコマンドでインストールします。

$ sudo apt install curl

AWS CLI の導入

AWS CLI インストール

AWS CLI をダウンロード
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "/tmp/awscliv2.zip"
AWS CLI をインストール
$ unzip /tmp/awscliv2.zip -d /tmp/ && sudo /tmp/aws/install -i /usr/local/aws-cli -b /usr/local/bin

AWS CLI のバージョン確認

$ aws --version
aws-cli/2.2.20 Python/3.8.8 Linux/5.8.0-59-generic exe/x86_64.ubuntu.20 prompt/off

AWS CLI の設定

https://console.aws.amazon.com/ に接続して「IAM」>「アクセス管理」>「ユーザー」>「アクセスキーの作成」をクリックします。作成された「アクセスキー ID」と「シークレットアクセスキー」を控えます。

「aws configure」コマンドを実行し、上記で控えた「アクセスキー ID」と「シークレットアクセスキー」およびデフォルトのリージョンを設定します。

$ aws configure
AWS Access Key ID [None]: AKIAT**********
AWS Secret Access Key [None]: wNp+**********
Default region name [None]: us-east-2

AWS CLI の実行

上記まで設定ができると、AWS CLI を使って AWS の操作ができるようになります。

アカウント ID の確認

$ aws sts get-caller-identity

リージョンと利用可能なリージョン名の一覧を取得

$ aws ec2 describe-regions --output=table

t2.micro インスタンスのみフィルタリングして、インスタンス ID を表示

$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"
i-**********

AWS 上のインスタンスへの接続

AWS 上のインスタンスに接続するには次の作業を行います。

Ubuntu 側(接続する側)

Session Manager プラグインをダウンロード

$ curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"

Session Manager プラグインをインストール

$ sudo dpkg -i session-manager-plugin.deb

Session Manager プラグインの確認

$ session-manager-plugin
The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.

インスタンス側(接続される側)

AmazonEC2RoleforSSM ロールを EC2 に割り当てます。[1]ロールの反映には SSM エージェントの再起動が必要です

インスタンスにロールが設定されていないと、次のエラーがでる場合があります。
An error occurred (TargetNotConnected) when calling the StartSession operation: i-xxxxxxxxxx is not connected.

AWS サービスを選択して「次のステップ:アクセス権限」をクリックします。

AmazonEC2RoleforSSM を指定して「次のステップ:タグ」をクリックします。

ロール名(例では labrole)を設定して「ロールの作成」をクリックします。

インスタンスを選択して「アクション」>「セキュリティ」>「IAM ロールを変更」をクリックします。

作成したロールを選択して「保存」をクリックします。

インスタンスの SSM エージェントを更新します。

$ sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
$ sudo systemctl restart amazon-ssm-agent

上記まで設定ができると、次のコマンドでインスタンスに接続して CLI 操作ができるようになります。

$ aws ssm start-session --target i-xxxxxx

以上

脚注

脚注
1 ロールの反映には SSM エージェントの再起動が必要です