ROSAをデプロイする手順の中でawsコマンドを実行する必要がありました。しかし、AWS CLIをインストールしただけの状態では、実行が失敗してしまいました。awsコマンドを実行するために必要な設定の記録です。
AWS CLIのインストール
AWS CLI のインストールと更新の手順の手順にしたがって行います。
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 55.4M 100 55.4M 0 0 69.9M 0 --:--:-- --:--:-- --:--:-- 69.8M
# unzip awscliv2.zip
Archive: awscliv2.zip
creating: aws/
creating: aws/dist/
inflating: aws/THIRD_PARTY_LICENSES
inflating: aws/README.md
inflating: aws/install
creating: aws/dist/awscli/
:
# sudo ./aws/install
You can now run: /usr/local/bin/aws --version
# /usr/local/bin/aws --version
aws-cli/2.13.1 Python/3.11.4 Linux/4.18.0-372.9.1.el8.x86_64 exe/x86_64.rhel.8 prompt/off
参考: credential設定前のawsコマンド実行例 (失敗例)
インストール直後、awsコマンドを実行するとcredentialが設定されていないため、失敗してしまいます。
# aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
Unable to locate credentials. You can configure credentials by running "aws configure".
credentialの設定
メッセージにしたがって、aws configure
コマンドでcredentialを設定してみます。
aws configure実行例:
# aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXX
AWS Secret Access Key [None]: xxxxxxx
Default region name [us-west-2]: ap-northeast-1
Default output format [None]:
ここで入力する値(アクセスキーとシークレットアクセスキー)は、AWSコンソールのIAMメニューで取得します。アクセスキー作成の手順例はこの後に掲載してあります。
参照:AWS CLI をセットアップする - プログラムによるアクセス用の認証情報を収集する
今回はテスト環境のため、非推奨
ですがセットアップが容易なIAM ユーザー認証情報を使用して認証を行うでセットアップしています。
参考:
aws configure
を実行すると、HOMEディレクトリーの.aws
ディレクトリー下に次のファイルが作られ、credentialsファイル
にアクセスキー情報が、configファイル
にリージョン情報が保存されます。
# ls -l $HOME/.aws
-rw-------. 1 root root 34 8月 21 19:29 config
-rw-------. 1 root root 116 8月 21 19:29 credentials
ユーザーのアクセスキーの作成
以下の手順でアクセスキー
を作成します。
-
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。
-
IAM コンソールのナビゲーションペインで [ユーザー] を選択し、アクセス設定を行いたいユーザー名を選択します。
-
ユーザーのページで、[セキュリティ認証情報] ページを選択します。次に、[アクセスキー] で
アクセスキーの作成
をクリックします。
-
[アクセスキーの作成ステップ 2] 画面で、オプションのタグを入力して
次へ
をクリックします。
日本語のタグ名は使用できないようでしたので、英語名で入力し直しました。
-
[アクセスキーの作成ステップ 3] 画面で、
.csv ファイルをダウンロード
をクリックし、IAM ユーザーのアクセスキーとシークレットアクセスキーを含む .csv ファイルを保存します。この情報がaws configure
で入力するものです。完了
を選択します。
参考: credential設定後のawsコマンド実行例
aws configure
でcredentialを設定後、コマンドを実行できるようになりました。
# aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
{
"Role": {
"Path": "/aws-service-role/elasticloadbalancing.amazonaws.com/",
"RoleName": "AWSServiceRoleForElasticLoadBalancing",
(以降省略)
認証情報を収集する他のオプション
AWS Management Console の外部で AWS を操作するには、プログラムによるアクセスが必要です。認証と認証情報の説明については、AWS CLI をセットアップする - プログラムによるアクセス用の認証情報を収集するにリストされたいずれかのオプションを選択します。
今回はテスト環境のため、この中から非推奨
ですが、セットアップが容易なIAM ユーザー認証情報を使用して認証を行うでセットアップしました。
参考