EC2インスタンスのデプロイと操作


 
今回はAWSの仮想サーバーサービスであるEC2を起動しました。
 
その時に行った具体的な手順をまとめていきます。



 

Pythonの環境構築

 
EC2インスタンスの操作の前に、Pythonのライブラリを管理するvenvを使用し環境構築を行いました。
 
実際に行った内容を以下に示します。
 
また、今回もAWS CDKやPythonなどがインストールされているDocker imageを使用しました。

 
1.以下のコマンドを用いてディレクトリを移動する。

$ cd handson/ec2-get-started

 
2.venvを用いて仮想環境を構築し、ライブラリをインストールする。

$ python3 -m venv .env
$ source .env/bin/activate
$ pip install -r requirements.txt

 
最後に、以下の画像のように、ユーザの横に(.env)と表示されればPython環境構築は完了です。
 

Pythonの環境構築

 
 

SSH鍵の生成

 
EC2にアクセスするためにはSSHの公開鍵と秘密鍵のペアが必要です。
 
その、鍵のペアの作成方法を以下に示します。

 
1.AWS CLIを用いて"HirakeGoma"という名前の鍵を生成する。

$ export KEY_NAME="HirakeGoma"
$ aws ec2 create-key-pair --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem

 
このコマンド実行時に以下の画像のようなエラーが発生した場合には次のコマンドによりAWSのシークレットキーを設定する必要があります。
 
また、Docker imageを使用している場合にはその環境にもシークレットキーを設定する必要があります。
 

SSH鍵生成時のエラー

$ aws configure

 
2.以下のコマンドにより、鍵ファイルの移動とそのアクセスのアクセス権限を設定する。

$ mv HirakeGoma.pem ~/.ssh/
chmod 400 ~/.ssh/HirakeGoma.pem

アクセス権限をchmodを用いて400に設定することにより、所有ユーザーのみが閲覧できるように設定することができます。



 

デプロイの実行

 
作成した鍵ペアを用いてEC2インスタンスをデプロイします。
 
デプロイは以下のコマンドにより行うことができます。

$ cdk deploy -c key_name="HirakeGoma"

コマンドを実行すると以下の画像のようにInstancePublicIpを入手することができます。
 

デプロイの実行

 

EC2へのログイン

 
EC2へのログインは作成した鍵を用いてSSHで行うことができます。
 
実際に、以下のコマンドでログインすることができます。
 
また、コマンド内の部分にはデプロイ実行の際に入手したInstancePublicIpを入力しました。

ssh -i ~/.ssh/HirakeGoma.pem ec2-user@<IP address>

 
最後に以下の画像のような画面表示されたらEC2へのログインは成功です。
 

EC2へのログイン

 

EC2インスタンスの操作とログアウト

 
EC2インスタンスの操作として、起動中のEC2インスタンスが使用しているハードウェアの状態を表示しました。
 
以下が実行したコマンドとその結果です。

 

  • CPUの情報を取得

$ cat /proc/cpuinfo

CPUの情報

 

  • 実行中のプロセスやメモリの消費

$ top -n 1

実行中のプロセスやメモリの消費

 

  • ストレージの情報

$ df -h

ストレージの情報


 
次に、EC2インスタンスでPython3をインストールし、起動しました。
 
インストールは次のコマンドで行うことができます。

$ sudo yum update -y
$sudo yum install -y python36

 
次のコマンドでインストールしたPython3を起動しました。

$ python3

Python3の起動

 
Python3はexit()と入力することによりインタープリタを閉じることができます。


 
最後に以下のコマンドでEC2をログアウトしました。

$ exit

 

スタックと鍵の削除

 
EC2インスタンスは起動し続けると料金が発生します。
 
今回作成したスタックはもう使用しないので削除します。

スタックの削除には以下のコマンドを実行します。

$ cdk destroy

 
また、作成した鍵も削除します。
 
鍵の削除には以下の2つのコマンドを実行します。

$ aws ec2 delete-key-pair --key-name "HirakeGoma"
$ rm -f ~/.ssh/HirakeGoma.pem

最後に、以下の画像のようにインスタンス(実行中)とキーペアの値がそれぞれ0になったら削除の完了です。
 

EC2のコンソール画面