4章
教科書の4章を演習していく
教科書4章で進める前に,Ubuntuで
git clone https://github.com/tomomano/learn-aws-by-coding-source-code.git
と入力する.
ここで,前提条件としては
python依存のライブラリのインストール
プログラムを実行するためのpython依存のライブラリをインストールする.
Docker Image上で,まずcdを使ってディレクトリの移動をする.
cd handson/ec2-get-started
docker Imageの中に,handsonがあり,handsonの中にec2-get-startedがある.他にもlsで見てみると色々ある.↓↓
ディレクトリを移動したら次に,インストールをする.今回は,python3をインストールしているので,pythonではなく,python3.
pipでインストールできなければ,pip3としてインストールしてみる.以前の記事↓
urhayataro.hatenablog.com
でpipをアップデートしていたので,きちんとできた.
入力するものは,以下のもの.
python3 -m venv .env source .env/bin/activate pip install -r requirements.txt
これで,Pythonの環境構築ができた.
SSH鍵の取得
SSHとは,Unix系のサーバに安全にアクセスするためのツール.
そのSSHを使うための公開鍵,秘密鍵を生成する.Docker Image上で以下を入力
export KEY_NAME="HirakeGoma" aws ec2 create-key-pair --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem
この1行目で書いた,HirakeGomaから作られる,HirakeGoma.pemというものが,が秘密鍵になる.
次に,鍵のファイルの移動と編集の権限を設定する.chmodで,400にする事により,ファイル所有者のみが編集できるようにする.
mv HirakeGoma.pem ~/.ssh/ chmod 400 ~/.ssh/HirakeGoma.pem
ここまででエラーが出れば,AWSのアクセスなどの認証が上手くいっていない場合があるので,もう一度 aws configure と入力して設定してみるといい.
urhayataro.hatenablog.com
生成されたかの確認は,AWSコンソールでログインし,検索にEC2→EC2
キーペアが増えていることを確認する.
デプロイの実行
作成したHirakeGomaという名前の鍵を使い,AWSにデプロイする.
cdk deploy -c key_name="HirakeGoma"
デプロイできたら,秘密鍵を使ってログインする.今回は,下の画像より,InstancePublicIpが3.112.2.0となっているので,
この画面が表示されると,AWS上にEC2仮想サーバーを起動し,アクセスできることを示している.
AWSで上手くできているかの確認
AWSコンソールにログインし,EC2→インスタンスを見る.
先程作成したインスタンスが表示されている.画面左から3つめのインスタンスの状態を右クリックで,実行状態を変更することもできる.
次に,デプロイしたアプリケーションを見てみる.
CloudFormation→スタックを見る.
これらがあれば上手くできている.
後片付け
インスタンスの停止やスタックの削除をしなかった場合,EC2インスタンスの料金が無限に発生するので注意‼
まずはスタックの削除から.1つ前の画像右上の削除.もしくは,デプロイしたコマンドで以下を実行.
cdk destloy
SSH鍵のペアもいらない場合の削除の方法も載せておく.
AWSコンソールのEC2ダッシュボード→キーペアの右上から削除.もしくは,デプロイしたコマンドで以下を実行.
aws ec2 delete-key-pair --key-name "HirakeGoma" rm -f ~/.ssh/HirakeGoma.pem
これで削除できているはずなので,確認する.同じように見てみる.
スタックもキーペアもなくなったことがわかる.これで4章は終了.
問題の解決
エラーが出た場合,以下を参考にもう一度やり直してみるといいかもしれない.
urhayataro.hatenablog.comurhayataro.hatenablog.com