Amazon Linux コンテナで aws cli を実行するにはどうすればいいですか?

Amazon Linux コンテナで aws cli を実行するにはどうすればいいですか?

gitlab パイプラインの一部として Amazon Linux コマンドを実行したい。

そこで、dockerイメージをランナーとして使用しようとします。amazonlinux:最新

そこで、Docker コンテナに接続し、以下のコマンドを実行しました。

yum -yq install aws-cli

aws-cliをインストールしました

次に、aws cli を設定します。

aws configure set region $AWS_REGION
aws configure set aws_access_key_id $AWS_ACCESS_KEY
aws configure set aws_secret_access_key $AWS_SECRET_KEY
aws configure set plugins.bolt awscli-plugin-bolt

次に、以下のコマンドを実行して ID を確認しましたが、aws-cli-plugin-bolt が存在しないためにエラーが発生しました。

aws sts get-caller-identity

次に、同じ目的で python pip install を実行しましたが、python 2.7 の非推奨エラーが発生し、モジュールが見つかりませんでした。

pip install awscli-plugin-bolt
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip install --user` instead.
ERROR: Could not find a version that satisfies the requirement awscli-plugin-bolt (from versions: none)
ERROR: No matching distribution found for awscli-plugin-bolt

そこで、以下のコマンドとリファレンスを使用して、PythonをデフォルトのバージョンとしてPython 3に変更しました。ページ

amazon-linux-extras enable python3.8
yum install python3.8
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

そして、pip3 を使用してボルトプラグを取り付けました。

yum install python3-pip
pip3 install awscli-plugin-bolt

しかし、それでも、以下のコマンドは Python 2 を検索して失敗します。

aws sts get-caller-identity

そこで、そのコンテナを削除して新しいコンテナを作成し、その最初のステップとして、Python バージョン 3 をデフォルトのバージョンに変更しました。

しかし今回は、aws-cli 自体の yum インストールが失敗しました。

 bash-4.2# yum -yq install aws-cli
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

amazonlinux docker イメージから aws cli コマンドにアクセスする方法を提案してください。

画像を次のように変更すると機能するようです

  image: 
    name: amazon/aws-cli
    entrypoint: [""]

そのため、自分で aws cli をインストールする必要はありません。ただし、デフォルトでは 3.7 が付属しています。これをイメージの一部として変更するにはどうすればよいでしょうか。そして、大きな疑問は、gitlab では上記のイメージは機能していますが、docker run ではイメージを直接使用できませんでした。個々の aws コマンドのみが受け入れられ、すぐにコンテナが閉じられます。

関連情報