この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
困っていた内容
ec2:DescribeVolumes
のアクションをIAMポリシーで付与しましたがEC2マネジメントコンソールのEBSボリューム管理画面がエラーとなり、 「ボリューム情報の取得中にエラーが発生しました」または「An error occurred fetching Volume information」と表示されました。対処方法を教えてください。
どう対応すればいいの?
IAMポリシーで下記のアクションを追加して下さい。
ec2:DescribeAvailabilityZones
EBSボリューム画面を表示するにはボリューム作成時に指定された Availability Zone が必要とされるため、 Availability Zone を説明するアクションが求められます。
# 変更前
"Action": [
"ec2:DescribeVolumes",
"ec2:DescribeVolumeStatus",
"ec2:DescribeVolumeAttribute"
],
# 変更後
"Action": [
"ec2:DescribeVolumes",
"ec2:DescribeVolumeStatus",
"ec2:DescribeVolumeAttribute"
"ec2:DescribeAvailabilityZones"
],
また、ビジュアルデザインを利用している場合は、DescribeAvailabilityZones
の項目をチェック頂くとボリューム画面が表示されます。
やってみた
実際にやってみました。 最初にEC2マネジメントコンソールのEBSボリューム管理画面「ボリューム情報の取得中にエラーが発生しました」は以下になります。
まずはIAMポリシーのアクセス権限を開き、ポリシーの編集を押します。
次に、JSONとビジュアルエディタの2択を選択できます。どちらを利用しても結果は同じですので、ご利用頂きたい方法をご選択下さい。
- JSONを利用の場合は以下のようにアクションを追加します。
- ビジュアルエディタを利用の場合は以下のリストにチェックをします。
編集後、IAMポリシーを更新して、EC2マネジメントコンソールのEBSボリューム管理画面をご覧いただきますと下記通り、ボリュームが表示されます。
参考資料
Amazon EC2 コンソールで機能するサンプル ポリシー - 例: ボリュームの使用
最初のステートメントでは、ボリュームを作成するときにユーザーがアベイラビリティーゾーンを選択できるようにするため、
ec2:DescribeAvailabilityZones
アクションが必要です。