0Pricing
DevOps Bootcamp · レッスン

aws_ec2 Inventory Plugin

タグで EC2 ホストを自動的に取得します。

「aws_ec2 Inventory Plugin」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

aws_ec2 の紹介

amazon.aws.aws_ec2 プラグインは EC2 API に問い合わせ、実行中のインスタンスを自動的に Ansible ホストへ変換します。

まずコレクションをインストールする

このプラグインは amazon.aws コレクションに含まれています。有効化または使用する前に、Galaxy からインストールしてください。

ansible-galaxy collection install amazon.aws

boto3 が必要

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チューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「aws_ec2 Inventory Plugin」で何を学びますか?

タグで EC2 ホストを自動的に取得します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「aws_ec2 Inventory Plugin」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 静的な制限と Inventory Plugin モデル
  2. aws_ec2 Inventory Plugin
  3. constructed:タグでホストをグループ化する
  4. キャッシュと複数の Inventory ソース
← DevOps Bootcampに戻る