AWS Run Commands編~AWS-RunShellScriptでできることとセキュリティ管理~

こんにちは、TKです。

今回は去年発表されたサービスRun Commands AWS-RunShellScriptを使ってみてどんなことができるのか、また、気になったところについてご紹介したいと思います。
Run Commands AWS-RunShellScriptの使い方についてはこちらの記事を参考にしてください
http://recipe.kc-cloud.jp/archives/tag/ec2-run-command

AWS-RunShellScript でできること

AWS-RunShellScriptでは結果を返すコマンドは基本行うことができます。
アプリケーションを起動して別画面に移動するようなコマンドは使用できません。
例として、viエディタを起動したり、topでモニタリングするといったことはできませんでした。
1
2

管理者権限が必要になるコマンドは問題なく行うことができました。
実際にApacheのインストール、サービスの起動、アクセスして確認を行ってみます。
3
4
5
6
インストールが問題なく行われ、サービスの起動も確認ができました。

AWS-RunShellScriptのセキュリティ

さて、AWS-RunShellScriptでできることについて説明いたしましたが、SSH接続を行わずインスタンスの設定を変更できてしまうということはAWSコンソールにログインして操作ができるアカウントがあれば誰でもインスタンスの中身の設定変更ができてしまいます。

そこで、使用するユーザごとにIAMを発行し、ユーザの行動をCloudTrailでログを記録しておくことをオススメします。
まずはIAMを発行します。
7
次に発行したIAMでログインし、コマンドを実行してみます。
事前にCloudTrailが有効になっていることを確認しておきましょう。

コマンド実行後CloudTrailにログが残っているか確認します。
8

ユーザがいつコマンドを実行したか記録されています。
これでコマンド実行に関してIAMでユーザ管理できることが分かりました。

いかがでしたでしょうか。
今回はRun Commandの便利な点と、便利なために生まれる問題について考えてみました。

コンソールではコマンドだけではなくサーバの起動、停止、削除などもできてしまうので可能な限りIAMでユーザ管理をしておくことが大切だと思います。

次回をお楽しみに!

この記事を書いた人

aws-recipe-user