🐒
AnsibleをAmazon Linux 2023で使う
この文書は何か
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 [ユーザー名]
参考
Discussion