[Boto3 Adv-Cal DAY17]検証で頻繁に躓いた箇所をふりかえってみる

boto3 で楽しむ AWS PythonLife 一人AdventCalendarです。17日目は検証時に躓いた箇所について、対処方法含めてまとめてみました。
2018.12.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

boto3 で楽しむ AWS PythonLife 一人AdventCalendarです。

boto3のドキュメントを通して、サービス別にどういった事が出来るのかを理解したり、管理コンソールを通さずにTerminalだけで完結できるように検証していくことが目的になります。

17日目は検証で頻繁に躓いた箇所を挙げて、対処手順をまとめてみました。

目次

Roleのポリシー指定が一致していない場合

実行するサービスの適切なポリシーをロールへ適用する必要があります。適用するポリシーが不明な場合、最初はフルアクセスにして、少しずつ絞りながら確かめるという方法もあります。

また、一つのロールに複数のポリシーを制限なく付けるのではなく、検証毎にロールを作成して必要なポリシーの適用をお勧めします。

指定したリージョンでは利用できない場合

boto3から各サービスへアクセスする際に指定すべきリージョンについては、以下のリンク先を参照します。

AWSの各サービスにおけるリージョンの扱いは以下の2つに分類されます。

  • リージョンが限定されているもの
  • グローバルリージョンとして扱われるもの

前者でうまくアクセスができない場合は、us-east-1を設定して検証してみましょう。

指定する引数の構成がよくわからない場合

boto3のドキュメント中に

See also: AWS API Documentation

とリンクが張られている箇所があります。そこから利用する関数を辿ります。

IDによっては、実際に依存するサービスでインスタンスを生成することも求められるため、必要に応じてロジックベースか管理コンソールのいずれかで生成しましょう。

まとめ

boto3を利用した設計で一番手間どったのは、求められるパラメータがどのサービスを利用することで生成できるのか判別し難い時です。

管理コンソールはある程度必要なパラメータについてフォローがなされているため、わからなくなった場合は先に管理コンソールでの検証をお勧めします。