■
Chapter4
ハンズオンの実行
Chapter1で行った環境構築に加え、使用するソースコードをgithubからダウンロードする。
$ git clone https://github.com/tomomano/learn-aws-by-coding-source-code.git
を実行
ただし、Docker imageですでにダウンロードされているので今回はスルーできる
Docker imageからハンズオンを使用する場合
$ docker run -it tomomano/labc:latest
を実行するとインタラクティブシェルが"root@aws-handson"に変わる
SSHコマンドにふれる
$ ssh <user name>@<host name>
$ ssh -i Ec2SecretKey.pem <user name>@<host name>
のような形で使う
プログラムの実行
まずPythonの依存ライブラリをインストールする
$ cd handson/ec2-get-started
↑でディレクトリに移動し、venvから仮想環境を作成とインストールを行う
python3 -m venv .env source .env/bin/activate pip install -r requirements.txt
上記を実行することでPythonの環境構築が完了
EC2仮想サーバーの起動
$ export KEY_NAME="HirakeGoma" ←キーの名前は自由 $ aws ec2 create-key-pair --key-name $(KEY_NAME) --query 'KeyMaterial' --output text > ${KEY_NAME}.pem
を実行することでディレクトリ内にHirakeGoma.pemというファイルを生成
$ mv HirakeGoma.pem ~/.ssh/
$ chmod 400 -/.ssh/HirakeGoma.pem
上記のコマンドでファイルのアクセス権限を限定が可(400は所有者のみ操作可能)
AWSにアプリをデプロイ
$ cdk deploy -c key_name="HirakeGoma"
上記を実行することでHirakeGomaを鍵に指定
$ ssh -i ~/.ssh/HirakeGoma.pem ec2-user@<IP address>
-iで生成した秘密鍵を指定しEC2インスタンスにデフォルトで存在するec2-userを使用
画面が表示されればOK
スタックの削除
$ cdk destroy
上記のコマンドを実行するとスタックの削除が始まる
また、SSHの鍵も不要となるので
$ aws ec2 delete-key-pair --key-name "HirakeGoma" $ rm -f -/.ssh/HirakeGoma.pem
を実行することでec2から鍵を削除できる。