お疲れ様です。
今回は、Ansible Playbook を使用して AWS の SQS(Simple Queue Service)を作成または削除する Playbook を紹介します。
Playbook の投稿は、「Service Account を作成削除する Ansible Playbook」 と 「AWS Secrets Manager を作成削除する Ansible Playbook」 に続く3つ目となります。
Plyabook 関連の投稿は、自身が学んだことや実践した経験のアウトプットでもありますので、ご了承ください。
Ansible Playbook の概要
Ansible Playbookは、Ansibleの中止的な構成管理ツールです。
このツールは、タスクのリストを定義し、自動化された手順を実行するためのものです。
Playbook は、Ansibleの中でタスクの流れを記述し、システムやアプリケーションの設定を簡単かつ効率的に管理するのに役立ちます。
つまり、Ansible Playbookは、ITインフラストラクチャやアプリケーションのデプロイメントを自動化するためのプログラムの一種です。
処理概要
以下は処理概要を示した図になります。
Playbook の 詳細
---
- name: Manage SQS queue
hosts: localhost
gather_facts: no
vars:
sqs_name: test-sqs
sqs_state: present
aws_region: "{{ ap-northeast-1 }}"
aws_access_key: "YOUR_ACCESS_KEY"
aws_secret_key: "YOUR_SECRET_KEY"
tasks:
- name: Create SQS queue
community.aws.aws_sqs:
state: "{{ sqs_state }}"
name: "{{ sqs_name }}"
region: "{{ aws_region }}"
aws_access_key: "{{ aws_access_key }}"
aws_secret_key: "{{ aws_secret_key }}"
when: sqs_state == 'present'
- name: Delete SQS queue
community.aws.aws_sqs:
state: "{{ sqs_state }}"
name: "{{ sqs_name }}"
region: "{{ aws_region }}"
aws_access_key: "{{ aws_access_key }}"
aws_secret_key: "{{ aws_secret_key }}"
when: sqs_state == 'absent'
6行目 : SQSキューの名前を指定します
7行目 : 作成する場合は’present’を指定、削除する場合は’absent’を指定します
8行目 : SQSキューが作成または削除される AWS のリージョンを指定します
9.10行目 : AWSのリソースにアクセスするために必要な、AWSのアクセスキーとシークレットキーを指定します
14.23行目 : 、SQSキューの作成、削除、更新などの操作を行うため、Ansible の AWS コミュニティによって提供される AWS モジュールを使用しています
20行目 : SQSキューが’present’(存在する)場合にのみタスクが実行されるように設定しています
29行目 : SQSキューが’absent’(存在しない)場合にのみタスクが実行されるように設定しています
SQSキューの作成と削除手順の詳細
■ SQSキューの作成手順
-
新しいSQSキューを作成する際には、aws_sqsモジュールを使用します。
-
nameパラメータには、キューの名前を指定します。
-
stateパラメータには、作成時には’present’、削除時には’absent’を指定します。
■ SQSキューの削除手順
-
既存のSQSキューを削除する際には、同じaws_sqsモジュールを使用します。
-
nameパラメータには、削除対象のキューの名前を指定します。
-
stateパラメータには、削除時には’absent’を指定します。
まとめ
Ansible Playbookを使用してSQSキューの作成や削除の手順を紹介しました。
SQSキューの作成や削除は、AWSのリソースを管理するための便利な手法です。
これらの手順を理解することで、Ansibleを使ったインフラストラクチャ管理がスムーズに行えるようになります。
関連記事
◆ AWS Secrets Manager を作成削除する Ansible Playbook
https://cloud5.jp/mk-ansible-playbook-serviseaccount/
◆AWS Secrets Manager を作成削除する Ansible Playbook
https://cloud5.jp/mk-ansible-playbook-secrets_manager/