こんにちは、ふじみや です。
前回は、EC2インスタンスを起動したらサーバーが自動的に起動する方法についてご説明をしました。
しかしながら、これだけだと、まだEC2インスタンスを開始するためにブラウザでAWSのマネジメントコンソールを開いて、EC2インスタンスを開始して、と手間がまだまだかかります。
そこで、今回は「AWS CLI」を利用してPCのデスクトップに設置したファイルをダブルクリックするだけでEC2インスタンスを開始できるようにする方法をご説明します。

前回ご説明をしたものと組み合わせると、PCのデスクトップ上に配置したファイルをダブルクリックするだけでサーバーが自動的に立ち上がるようになりますので、非常に便利に使えるようになります。
- AWSを使ってマイクラサーバーの立ち上げる
- マインクラフトの軽量サーバー導入【PaperMC】
- ニンテンドースイッチ版マイクラでマルチサーバーに接続する方法
- Linux起動時にマイクラサーバーを自動立ち上げ【systemd】
- マイクラサーバーをバックグラウンドで自動起動【systemd & screen】 ★おすすめ
- EC2インスタンスの簡単起動【AWS CLI】
- EC2インスタンスの簡単停止
- LINEからEC2インスタンスを開始・停止させてみよう【API Gateway + Lambda】 ★おすすめ
- マイクラサーバーのワールドデータを定期バックアップ【Amazon S3】 ★おすすめ
- マイクラサーバーの自動停止【Python】 ★おすすめ
- 【Minecraft】ホワイトリスト機能を活用しよう【荒らし防止】
AWS CLIとは
AWSコマンドラインインターフェース(AWS Command Line Interface)の略で、お使いのPCにインストールすることで、コマンドラインからAWSを利用することができるようになる、というものです。

公式ページをリンクしておきますので、詳細を確認されたい方はこちらもどうぞ。

AWS CLIのインストール
まずはAWS CLIのインストーラーを入手しましょう。
AWS CLIのユーザーガイド内にインストーラーの入手先がリンクされていますので、リンクをクリックしてください。

入手したインストーラーを立ち上げると、セットアップウィザードが立ち上がりますので、「Next」をクリック。次の画面で表示されるLicense Agreementはチェックボックスをクリックすると「Next」が表示されるようになります。次のCustom Setupはそのまま「Next」をクリックして、最後の画面では「Install」をクリック。
しばらく待ってインストールが完了したら「Finish」をクリックしてセットアップウィザードを閉じましょう。
IAMユーザーの作成
次に、AWS CLIを操作することが可能なIAMユーザーを作成します。
IAMユーザーとは
IAMユーザーとは、AWSを利用する際に権限を限定したユーザーのことを意味します。
AWSへ登録すると全ての権限を持つルートアカウントが作られ、AWSの全ての機能にアクセスすることが可能なルートユーザーとなりますが、ルートアカウントの情報が漏洩するとアカウントを乗っ取られる可能性があります。また、ルートアカウントが乗っ取られると、ご自身ではもはやどうすることもできなくなってしまうため、非常に危険です。

そのため、AWSを利用する際には権限を限定したIAMユーザーを作成し、通常の利用の際にはIAMユーザーを利用することが推奨されています。
また、AWS CLIを利用する際にはアクセスキーIDとシークレットアクセスキーが必要となるのですが、これを発行するためにもIAMユーザーが必要になってきます。
IAMユーザーの作成
AWSのマネジメントコンソールから「IAM」と検索してIAMダッシュボードを表示させましょう。
左側のペインより「ユーザー」をクリックし、右上の「ユーザーを追加」をクリックしましょう。

ユーザー名は適当に入力し、「AWS認証情報タイプを選択」では「アクセスキー-プログラムによるアクセス」のチェックボックスをクリックしてオンにして、次のステップに進みましょう。

次にこのIAMユーザーに与える権限について設定をしましょう。今回はEC2インスタンスの操作に関するものだけ許可するということで、「AmazonEC2FullAccess」を設定しておきましょう。
「既存のポリシーを直接アタッチ」をクリック後、「ポリシーのフィルタ」にて「ec2」を入力し、表示された中から該当のもののチェックボックスをオンにしてください。

次のステップのタグの設定はお好きに入力してもらって内容を確認し、ユーザーを作成してください。
作成が完了すると次のような画面が表示されるかと思いますので、どこかのテキストファイルにでもアクセスキーIDとシークレットアクセスキーをメモしておきましょう。ここでシークレットアクセスキーのダウンロードやメモを忘れると再入手できませんので、ご注意ください。

これで、IAMユーザーの作成は完了です。
AWS CLIのセットアップ
IAMユーザーの作成が完了しましたら、次はAWS CLIのセットアップをしましょう。
タスクバーの検索で「cmd」と入力してコマンドプロンプトを開き、次を入力してください。
aws configure
そうすると、アクセスキーIDやシークレットアクセスキーなどの入力を求められますので、次のように入力していきましょう。
AWS Access Key ID [None]: xxxxxxxxxxxxxxx(先ほどメモしたアクセスキーID)
AWS Secret Access Key [None]: xxxxxxxxxxxxxxx(先ほどメモしたシークレットアクセスキー)
Default region name [None]: ap-northeast-1
Default output format [None]: json
これでAWS CLIのセットアップは完了です。
ちなみに、これらの情報を変更したりする場合には上記をやり直していただくか、PCのホームディレクトリ内(C:\Users\[ユーザー名]\.aws)に「config」ファイルと「credential」ファイルが作成されていますので、こちらをメモ帳などで開いて編集をすればOKです。
バッチファイルの作成
AWS CLIのセットアップが完了しましたら、PCのデスクトップで右クリックでテキストファイルを新規作成してください。テキストファイルを作成したら、ファイル内に次を入力してください。
インスタンスID(i-から始まる数字と記号の羅列)はEC2インスタンスの管理画面から確認することができます。
aws ec2 start-instances --instance-ids i-xxxxxxxxxxxxxxxxx
pause
入力が完了したら保存し、ファイル名と拡張子を「インスタンス開始.bat」のように変更しておきましょう。「拡張子を変更すると、ファイルが使えなくなる可能性があります」と注意喚起をされますが、気にせず「はい」を選択してください。
動作の確認
最後に、バッチファイルをダブルクリックしてみてください。すると、コマンドプロンプトが自動的に立ち上がり、次のような画面になると思います。

ここで、「CurrentState」が「pending」となっていれば成功です。EC2の管理画面で確認しても指定したインスタンスが実行中になっていることが分かると思います。
コマンドプロンプトを閉じるには、何かキーを押せば大丈夫です。また、今回は確認のために最後にキー操作を必要とさせていましたが、確認不要ということでしたらバッチファイル内の「pause」を削除してください。バッチファイルの編集はファイルを右クリックして、「編集」を選択すれば可能です。
まとめ
今回は、デスクトップに設置したバッチファイルからEC2インスタンスを開始する方法についてご説明をしました。前回ご説明したsystemdと組み合わせることで、デスクトップにあるバッチファイルをダブルクリックするだけで、サーバーを立ち上げることができるようになります。
設定は少し手間に感じられるかもしれませんが、一度設定をしてしまえば次回以降は簡単にEC2インスタンスを開始できますので、皆さんも是非使ってみてください。
また、簡単に起動ができるようになったら、今度は簡単に停止できるようにしたいという方もいらっしゃるかと思います。そういった方は「EC2インスタンスの簡単停止」をぜひご覧ください。
それではまた。
コメント