🐒

AnsibleをAmazon Linux 2023で使う

2023/09/27に公開

この文書は何か

AnsibleをAmazon Linux 2023で使うまでの手順をまとめる。

設定手順

// システムアップデート
sudo dnf update
← 固まったのでcrtl + cで抜けた

// pipのインストール
sudo dnf install python3-pip

<- `Curl error (28): Timeout was reached for https://al2023-repos-[region].s3.dualstack.[region].amazonaws.com/core/mirrors/2023.2.20230920/x86_64/mirror.list [Failed to connect to al2023-repos-[region].s3.dualstack.[region].amazonaws.com port 443 after 30000 ms: Timeout was reached]`のエラー
<- セキュリティグループのアウトバウンドルールでHTTP(S)通信を許可していなかったことが原因

// ansibleのインストール
pip install ansible

// gitのインストール
sudo dnf install git

// ansibleコードのクローン
git clone [repository]

// ec2.pyとec2.iniの取得
wget https://raw.githubusercontent.com/ansible/ansible/stable-2.8/contrib/inventory/ec2.py
wget https://raw.githubusercontent.com/ansible/ansible/stable-2.8/contrib/inventory/ec2.ini

// アクセスキーとシークレット、トークンの取得
// IMDSv2を使用
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/[IAM roleの名前] -H "X-aws-ec2-metadata-token: $TOKEN"

// ec2.iniのカスタマイズ
// 不要なサービスをfalseに修正
// アクセスキーとシークレット、トークンの設定

// playbookを動かす
ansible-playbook [yamlファイル] -i ~/ec2.py -u [ユーザー名]

参考

https://cloudkatha.com/how-to-install-ansible-on-amazon-linux-2023/
https://repost.aws/ja/knowledge-center/ec2-troubleshoot-yum-errors-al1-al2

Discussion