2016-08-18 8 views
1

AWSアカウントのすべてのEC2インスタンスが(aws cliを使用する自動スクリプトを使用して)自分自身を停止できるようにしようとしています。私は、プロッパーポリシーを使用してAWS IAMロールを作成することで、そのようにしています。しかし、ポリシーを定義して、インスタンスがインスタンスを停止することだけを許可する方法は見つけられません。AWS IAM:EC2インスタンス自体を停止できるようにする

インスタンス自体を停止(そして唯一自体)できるようにする方法はあります私は、次のポリシー

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "ec2:StopInstances" 
      ], 
      "Resource": [ 
       "${ec2:SourceInstanceARN}" 
      ] 
     } 
    ] 
} 

と試みたが、検証の上、これは私にエラーThis policy contains the following error: The following resources are invalid : ${ec2:SourceInstanceARN}

を与えますか?もしそうなら、どうすればいいですか?

+1

AWS CLIを使用するのではなく、スクリプトでOSのシャットダウンコマンドを使用するだけの理由はありますか? –

+0

ああ、もちろん、どうすれば忘れることができますか?これを回答として投稿してください。それから私はそれを受け入れます。私にとっては、これは間違いなく機能します。しかし、他の人がシャットダウンを使いたくない理由は2つ考えられます。 1.シャットダウンはroot権限でのみ実行できるので、sudo権限が必要です。 2.インスタンスのシャットダウン動作が終了すると、インスタンスを停止するのではなく失われます。 – user1834095

答えて

0

コメント内で提案されているように、aws ec2 stop-instancesではなくshutdownを使用するようにスクリプトを変更して問題を解決しました。これにより、どのシステムでもシャットダウンを実行できるので、ポリシーを使用する必要はありません。

関連する問題