Ubuntu Desktop 20.04 LTS に AWS CLI をインストールして、基本的な操作をするまでの手順です。
AWS CLI とは
コマンドラインシェルのコマンドを使って AWS サービスにアクセスすることができます。 を使用して AWS CLI 、任意のターミナルのコマンドラインから AWS サービスを制御し、スクリプトを使用してサービ…
ブラウザベースの AWS Management Console と同等の機能が提供されています。
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 インストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "/tmp/awscliv2.zip"
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 の設定
「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 の実行
アカウント 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 エージェントの再起動が必要です |
---|