かべぎわブログ

技術的なことについてかけたらいいな…

AnsibleのEC2 External Inventory で ERROR: "Forbidden", while: getting ElastiCache clusters エラーの解決法

事象

AnsibleでEC2 External Inventoryを試そうとしていたところ、以下のようなエラーがでてしまいました。

$  ./ec2.py 
ERROR: "Forbidden", while: getting ElastiCache clusters

解決法

ec2.iniのElastiCacheを無効にしたらうまくいきました。

以下のところ

# To exclude ElastiCache instances from the inventory, uncomment and set to False.
elasticache = False

ひかくするとこんなかんじ

$ diff ec2.ini ec2.ini_changed 
73c73
< #elasticache = False
---
> elasticache = False

実行するとこんなかんじ

$ ./ec2.py
{
  "_meta": {
    "hostvars": {
      "xxx.xxx.xxx.xxx: {
        "ansible_host": "xxx.xxx.xxx.xxx", 
        "ec2__in_monitoring_element": false, 
~~~省略~~~

おわりに

ElastiCache以外にも利用していないAWSのサービスはFalseにして無効にしたほうがよさそうです。
他にもrds = Falseにしたほうがいい
などあるみたいです。

↓参考URL www.queryxchange.com

Ansible実践ガイド

Ansible実践ガイド