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環境構築は完了です。
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を使用している場合にはその環境にもシークレットキーを設定する必要があります。
$ 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で行うことができます。
実際に、以下のコマンドでログインすることができます。
また、コマンド内の
ssh -i ~/.ssh/HirakeGoma.pem ec2-user@<IP address>
最後に以下の画像のような画面表示されたらEC2へのログインは成功です。
EC2インスタンスの操作とログアウト
EC2インスタンスの操作として、起動中のEC2インスタンスが使用しているハードウェアの状態を表示しました。
以下が実行したコマンドとその結果です。
- CPUの情報を取得
$ cat /proc/cpuinfo
- 実行中のプロセスやメモリの消費
$ top -n 1
- ストレージの情報
$ df -h
次に、EC2インスタンスでPython3をインストールし、起動しました。
インストールは次のコマンドで行うことができます。
$ sudo yum update -y $sudo yum install -y python36
次のコマンドでインストールしたPython3を起動しました。
$ python3
Python3はexit()と入力することによりインタープリタを閉じることができます。
最後に以下のコマンドでEC2をログアウトしました。
$ exit