2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EC2インスタンス起動時にスクリプトを実行する方法

Posted at

新しくEC2インスタンス起動した後は初期設定をすると思います。
もし毎回同じコマンドを実行するのが面倒な場合は、自動でスクリプトを実行させることができます。
「ユーザーデータ」というものを使えば良いです。その使い方を説明します。

1. スクリプトを作成する

初期設定のコマンドを実行するスクリプトを作成します。
今回は例としてwebサーバを立ててみます。

#!/bin/bash
apt update
apt install apache2 -y
echo 'hello world' > /var/www/html/index.html

ユーザーデータのスクリプトはroot権限で実行されるため、sudo等は必要ありません。

2. ユーザーデータとしてスクリプトを登録する

先ほど作成したファイルをユーザーデータとして登録しましょう。
以下のキャプチャにあるように、EC2インスタンス作成時に登録できます。

2-14.png

テキストをコピペして貼り付けても良いですし、ファイルをアップロードしても良いです。
どちらかの方法で登録してください。

また、今回のサンプルではwebサーバをインストールするため、その接続確認のため80番ポートは開けておきましょう。
セキュリティグループを以下のキャプチャを参考にして設定してください。

2-13.png

今回の起動時の主なスペックを以下にまとめておきます。
OSはubuntu 20.04を使用しました。
その他の設定は無料枠に収まるようにしたかったため、
デフォルトの設定のままです。

OS instance type storage
ubuntu 20.04 t2.micro SSD 8GB(default)

この方法はあくまでサンプルです。起動前の確認で警告の表示が出ると思います。
試し終わったらインスタンスの削除等を行ってください!! (後でその説明もあります)

3. EC2インスタンスを起動する

準備万端ですので、さっそくEC2インスタンスを起動しましょう。
最後の「7. 確認」の画面で「起動」をクリックしてください。

2-9.png

4. webサーバに接続してみる

起動した後はwebサーバに接続してみましょう。
まずPublic IPを確認します。以下のキャプチャを参考にしてください。

2-11.png

※このPublic IPは毎回違う値が自動的にセットされます。
インスタンスを作り直した場合は、その都度値を確認しましょう。

次にブラウザにPublic IPを入力して、webサーバにアクセスしましょう。

2-15.png

無事にアクセスできました!hello worldが表示されています。

5. インスタンスを削除する

ここ大事です。先ほど説明したようにこのwebサーバを放置するのはよろしくないので、インスタンスを削除しましょう。

まず該当のインスタンスのチェックボックスにチェックを入れ、「インスタンスの状態」をクリックします。

2-17.png

次に「インスタンスの終了」をクリックしましょう。

2-18.png

最後に「終了」をクリックしましょう。これで終了できたはずです。

2-19.png

参考

公式ドキュメント

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?