aws_ec2 Inventory Plugin
タグで EC2 ホストを自動的に取得します。
「aws_ec2 Inventory Plugin」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
aws_ec2 の紹介
amazon.aws.aws_ec2 プラグインは EC2 API に問い合わせ、実行中のインスタンスを自動的に Ansible ホストへ変換します。
まずコレクションをインストールする
このプラグインは amazon.aws コレクションに含まれています。有効化または使用する前に、Galaxy からインストールしてください。
ansible-galaxy collection install amazon.awsboto3 が必要
aws_ec2 は内部で Python 用の AWS SDK を使用します。プラグインが AWS と通信できるように、boto3 と botocore をインストールしてください。
pip install boto3 botocore最小限の設定
動作する設定に必要なのは、plugin キーとスキャン対象のリージョンだけです。インベントリを読み込むたびに、残りは Ansible が処理します。
plugin: amazon.aws.aws_ec2
regions:
- eu-west-1認証情報は AWS から取得される
プラグインは、AWS CLI と同じように、環境変数、~/.aws の設定、またはインスタンスロールから標準の AWS 認証情報を読み取ります。
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...表示するインスタンスを絞り込む
filters を使って結果を絞り込みます。たとえば実行中のインスタンスだけにすれば、終了済みのインスタンスがインベントリに入ることはありません。
filters:
instance-state-name: runningデフォルトのホスト名は扱いにくい
デフォルトでは、ホストが生の IP アドレスや ID として表示されることがあります。hostnames キーを使うと、より分かりやすい名前の情報源を選べます。
hostnames:
- tag:Name
- private-ip-addressすべてのタグが変数になる
EC2 のタグとインスタンス属性はホスト変数として渡されるため、タスクから各ホストの tags.Environment を直接読み取れます。
プライベート IP またはパブリック IP で接続する
hostnames または compose で接続先アドレスを設定します。VPC 内から接続する場合はプライベート IP、外部から接続する場合はパブリック IP を選びます。
検出結果を確認する
ansible-inventory を --graph とともに実行すると、プレイを開始する前に、プラグインが検出したすべてのインスタンスをグループ化された名前付きの状態で確認できます。
ansible-inventory -i prod.aws_ec2.yml --graph環境ごとに設定を分ける
prod.aws_ec2.yml や staging.aws_ec2.yml のようにプラグインファイルを分け、それぞれをリージョンやフィルターで限定して、環境を分離してください。
クイックチェック
aws_ec2 プラグインが依存するものを思い出してください。
まとめ
aws_ec2 プラグインには amazon.aws コレクションと boto3 が必要です。AWS 認証情報を読み取り、絞り込んだ EC2 インスタンスを名前付きホストに変換します。🚀
よくある質問
「aws_ec2 Inventory Plugin」レッスンは無料ですか?
はい。「aws_ec2 Inventory Plugin」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「aws_ec2 Inventory Plugin」で何を学びますか?
タグで EC2 ホストを自動的に取得します。 ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「aws_ec2 Inventory Plugin」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 静的な制限と Inventory Plugin モデル
- aws_ec2 Inventory Plugin
- constructed:タグでホストをグループ化する
- キャッシュと複数の Inventory ソース