こんにちは、ふじみや です。
前回、AWS CLIを利用してEC2インスタンスをPCのデスクトップから簡単に開始できる方法についてご説明をしました。この方法とsystemdを組み合わせることで、サーバーの起動までをダブルクリック1回だけでできるようになりました。
せっかくブラウザを開くことなくEC2インスタンスを開始することができたのですから、今度はブラウザを開くことなくEC2インスタンスを停止させてみたくありませんか?
今回は、そういった思いをお持ちの方向けの記事となっています。
- AWSを使ってマイクラサーバーの立ち上げる
- マインクラフトの軽量サーバー導入【PaperMC】
- ニンテンドースイッチ版マイクラでマルチサーバーに接続する方法
- Linux起動時にマイクラサーバーを自動立ち上げ【systemd】
- マイクラサーバーをバックグラウンドで自動起動【systemd & screen】 ★おすすめ
- EC2インスタンスの簡単起動【AWS CLI】
- EC2インスタンスの簡単停止
- LINEからEC2インスタンスを開始・停止させてみよう【API Gateway + Lambda】 ★おすすめ
- マイクラサーバーのワールドデータを定期バックアップ【Amazon S3】 ★おすすめ
- マイクラサーバーの自動停止【Python】 ★おすすめ
- 【Minecraft】ホワイトリスト機能を活用しよう【荒らし防止】
コマンドプロンプトからの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接続されたことが分かります。
これで、コマンドプロンプトから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インスタンスを停止させて、という操作が不要になり、かなりの省力化が達成できました。
皆様も是非ご活用くださいね!それではまた。
コメント