EC2 インスタンスの簡単停止

当ページのリンクには広告が含まれています。
PC

こんにちは、ふじみや です。

前回、AWS CLIを利用してEC2インスタンスをPCのデスクトップから簡単に開始できる方法についてご説明をしました。この方法とsystemdを組み合わせることで、サーバーの起動までをダブルクリック1回だけでできるようになりました。

せっかくブラウザを開くことなくEC2インスタンスを開始することができたのですから、今度はブラウザを開くことなくEC2インスタンスを停止させてみたくありませんか

今回は、そういった思いをお持ちの方向けの記事となっています。

目次

コマンドプロンプトからのEC2インスタンスへの接続方法

それでは、まずはWindowsに標準搭載されているコマンドプロンプトまたはPowerShellからEC2インスタンスへ接続できるようにしておきましょう。

秘密鍵の保存場所

通常、ファイルをダウンロードすると特定のフォルダに保存されます。以前作成したEC2インスタンスの秘密鍵(拡張子が.pemのもの)をそのままにしている方は次のフォルダ内に移動させてください。

C:\Users\[ユーザー名]\.ssh

コマンドプロンプトからの接続

次のコマンドを入力してください(実際に入力するのは ssh 以下です。)。なお、バックスラッシュはコマンドプロンプト上では \ で表示されています。また、EC2インスタンスのIPアドレスはEC2インスタンスの管理画面から確認することが可能です。

C:\Users\[ユーザー名]> ssh -i C:\Users\[ユーザー名]\.ssh\[秘密鍵の名称].pem ec2-user@[EC2インスタンスのパブリックIPv4アドレス]

はじめてこれを入力すると次のような表示になりますので、yes を入力してください。

C:\Users\[ユーザー名]>ssh -i C:\Users\[ユーザー名]\.ssh\[秘密鍵の名称].pem ec2-user@[IPアドレス]
The authenticity of host '[xxx.xxx.xxx.xxx](xxx.xxx.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

入力が完了すると次のように表示され、無事にEC2インスタンスにSSH接続されたことが分かります。

SSH接続の結果

これで、コマンドプロンプトからEC2インスタンス(Linux)の操作ができるようになりました。

EC2インスタンスを停止させるコマンド

次にEC2インスタンスを停止させるコマンドを確認しておきましょう。このコマンドはルートユーザーでなければ実行ができませんので、必ず最初に sudo を付けるようにしてください。

sudo shutdown -h now

これをコマンドプロンプトで入力すると次のように表示されるかと思いますが、これが出ればOKです。このとき、EC2インスタンスの管理画面を見てみると、インスタンスの状態が「停止中」や「停止済み」になっています。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo shutdown -h now
Connection to xxx.xxx.xxx.xxx closed by remote host.
Connection to xxx.xxx.xxx.xxx closed.

バッチファイルの作成

これまで、コマンドプロンプトからからEC2インスタンスに接続する方法と、コマンドプロンプトからEC2インスタンスを停止させる方法についてご説明をしてきました。

ですので、これら2つを組み合わせたバッチファイルを作成することで、バッチファイルを実行するだけでEC2インスタンスを停止できそうな気がします。

しかしながら、次のように2つのコマンドを並べただけでは、EC2インスタンスに接続するだけで処理が終わってしまいます。

ssh -i C:\Users\[ユーザー名]\.ssh\[秘密鍵の名称].pem ec2-user@[IPアドレス]
sudo shutdown -h now
pause

SSH接続をした後、コマンドを入力するためにはバッチファイルの内容を次の通りにします。
sshコマンドと同じ行にshutdownコマンドを記載し、またshutdownコマンドの前後にダブルクォーテーション(” “)を入力するだけです。

ssh -i C:\Users\[ユーザー名]\.ssh\[秘密鍵の名称].pem ec2-user@[IPアドレス] "sudo shutdown -h now"
pause

入力後にバッチファイルを実行した結果は次の通り、無事にEC2インスタンスが停止しました。

バッチファイルの実行結果

なお、pause は動作確認するためだけのものですので、動作確認が完了したら削除をして構いません

まとめ

これでデスクトップ上に作成したバッチファイルをダブルクリックするだけで、EC2インスタンスを停止することができるようになりました。

非常に簡単なファイルを作成するだけで、ブラウザを開いてAWSにログインして、EC2インスタンスを停止させて、という操作が不要になり、かなりの省力化が達成できました。

皆様も是非ご活用くださいね!それではまた。

PC

この記事が気に入ったら
フォローしてね!

コメント

コメントする

目次