こんにちは
今日は、AWS の EC2 のインスタンスの起動や停止をブラウザからやってみます。前回コマンドラインで実行した記事の続きです。前回の記事はこちらを参照してみてください(どちらのコンソールで実行しているのかわかりにくかったので少し追記しています)。
今回の記事も、前回の記事をコピペしておきますので、こちらだけみればできるはずです。
1.ロールの作成
1.接続用のIAM(Identity and Access Management)の設定をします。IAMダッシュボードを開いて、「ロール」をクリックします。
2.「ロール」をクリックしたら「ロール作成」ボタンをクリックします。
3.「ロールの作成」をクリックしたらロールを与えるサービスを選択します。今回はEC2を選択します。クリックしたら、「次のステップ:アクセス権限」をクリックします。
4.「次のステップ:アクセス権限」をクリックしたら、現在定義されているアクセス権限の一覧が表示されるので、今回は、「AdministratorAccess」を選択して、「次のステップ:タグ」をクリックします。
5.「次のステップ:タグ」をクリックするとタグ設定の画面表示されます。何かキーワードで検索したりしたい場合は設定しますが、今回は特に設定せずにそのまま「次のステップ:確認」をクリックします。
6.「次のステップ:確認」をクリックすると、設定の確認と、ロールの名を入力する画面が表示されますので、「ロール名」に任意の名称を入力して、「ロールの作成」ボタンをクリックします。今回はロール名を「EC2_AdministratorAccess」としました。
7.「ロールの作成」ボタンをクリックするとIAMコンソールに戻りますのでロールが作成されていることを確認します。
2.ロールの割り当て
1.作成したロールをEC2のインスタンスに割り当てます。EC2のダッシュボードを開き、割り当てを行うインスタンスチェックして、「アクション」→「セキュリティ」→「IAMロールを変更」を選択します。
3.アクセスキーの作成
1.IAMダッシュボードを開いて、「ユーザ」をクリックして、「ユーザの作成」ボタンをクリックします。
2.「ユーザの作成」をクリックすると、次のような画面が表示されますので、「ユーザ名」に任意のユーザ名を指定して、「アクセスの種類」を「AWS API ・・・」にして、「次のステップ:アクセス権限」ボタンをクリックします。
3.「次のステップ:アクセス権限」をクリックすると、次のような画面が表示されますので、今回は練習ですので、「既存ポリシーを直接アタッチ」として「AmazonEC2FullAccess」を選択して、「次のステップ:タグ」をクリックします。
4.「次のステップ:タグ」をクリックすると次のような画面が表示されますが、特に何も設定しないで、「次のステップ:確認」ボタンをクリックします。
5.「次のステップ:確認」ボタンをクリックすると、次のような画面が表示されますので、設定の内容を確認して「ユーザの作成」ボタンをクリックします。
6.「ユーザの作成」ボタンをクリックすると次のような画面が表示されますので、「.csvのダウンロード」ボタンをクリックしてキーの情報を保存します(画面上でも確認できます)。保存したら「閉じる」ボタンを押して画面を閉じてしまってください。この情報は作成時にしか確認できませんので、忘れないようにしてください。
4.htmlのサンプル
以下にサンプルを示します。赤字で書かれた箇所を自分で設定してください。
アクセスキーID、シークレットキーは「3.アクセスキーの作成」で保存した情報を指定します。
インスタンスIDは、操作を行いたいインスタンスのIDを指定します。
<html>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.41.min.js"></script>
<script>
AWS.config.update({
accessKeyId: 'アクセスキーID',
secretAccessKey: 'シークレットキー',
region: 'ap-northeast-1'
});
console.log(AWS.config.credentials.accessKeyId)
function startEC2Instance() {
var params = {
InstanceIds: ['インスタンスID']
};
var ec2 = new AWS.EC2();
ec2.startInstances(params, function(err, data){
if(err){
console.log(err, err.stack);
alert(err);
} else {
console.log(data);
alert("OK");
}
});
}
function stopEC2Instance() {
var params = {
InstanceIds: ['インスタンスID']
};
var ec2 = new AWS.EC2();
ec2.stopInstances(params, function(err, data){
if(err){
console.log(err, err.stack);
alert(err);
} else {
console.log(data);
alert("OK");
}
});
}
</script>
<body>
<div><button onclick="startEC2Instance()">Start EC2 Instance</button></div>
<div><button onclick="stopEC2Instance()">Stop EC2 Instance</button></div>
</body>
</html>
0 件のコメント:
コメントを投稿