AWSの10分間チュートリアルをやってみる 8.Deploy and Monitor an Application from the Command Line
こんにちは。トリドリといいます。
新卒で入社した会社でJavaを数年やった後、1年ほど前に転職してからはRailsを中心に使用してアプリケーションの開発をしているしがないエンジニアです。
今回、AWSの勉強をするために公式の10分間チュートリアルをやってみることにしたので、備忘のために記事に残していこうと思います。
AWSに関しては、1年ほど前転職活動をしていた時期にEC2とRDSを少し触っていた以外ほとんど触ったことが無い初心者です。
(ただし、このときにアカウントを作ったので、12ヶ月の無料枠は切れていました)
前回は、Elastic BeanstalkをCLIで使用するためのユーザーの作成やCLIのインストールを行う、「Set up the Elastic Beanstalk Command Line Interface」というチュートリアルをやりました
今回は、その続きで実際にElastic Beanstalkを操作する、「Deploy and Monitor an Application from the Command Line」をやっていきます。
Deploy and Monitor an Application from the Command Line
(https://aws.amazon.com/jp/getting-started/tutorials/deploy-app-command-line-elastic-beanstalk/)
このチュートリアルでは、サンプルアプリケーションを作成した上でEB CLIを使用してデプロイ・モニタリング・終了を行います。
Step 1. Setup your application
まずはサンプルアプリケーションを作成します。
a.
sample-app
というディレクトリを作成し、作成したディレクトリに移動します。
b.
新しいElastic Beanstalkのアプリケーションを作成するため、ターミナルに
eb init
と入力します。
c.
リージョンの選択肢が表示されるので、近いリージョンの数字を入力します。
d.
リージョンを選択すると、資格情報の入力を求められます。
前回のチュートリアルで作成したアクセスIDとシークレットキーを入力します。
e.
チュートリアルでは次の手順でプラットフォームの選択をしていますが、その前に次のようにアプリケーション名の入力を求められました。
Enter Application Name
(default is "sample-app"):
デフォルトはsample-app
ということなのでそのままEnterを押します。
Application sample-app has been created.
と表示されます。
その後にチュートリアルの通りプラットフォームの選択に移ります。
チュートリアルではNode.js
が1
でしたが、現在はPython(BETA)
が1
になっているなど選択肢が増えていました。
今回はチュートリアルと同じくNode.js
を選択します。
f.
インスタンスにSSHのセットアップをするか聞かれます。
今回はチュートリアルに従ってSSHのセットアップをしないで、アプリケーションのセットアップを終了します。
Step 2. Deploy your application
続いて、アプリケーションを作成しデプロイしていきます。
今回はAuto Scalingグループ内のインスタンスにデプロイし、Elastic Load Balancingのロードバランサーを使用します。
a.
eb create
でAWSリソースの作成を開始します。
b.
環境名を入力します。
ステップ1のe.のアプリケーション名同様、デフォルトでsample-app-dev
となっているので、そのままEnterを押します。
c.
次にDNS名を入力します。
チュートリアルでは一意にする必要があるとなっていますが、デフォルトのsample-app-dev
でも大丈夫でした。
d.
ロードバランサーの種類を選択します。
チュートリアルではデフォルトがclassic
なのですが、現在はapplication
になっています。
classic
は以前のチュートリアルでもでてきたEC2-Classic
ネットワークで推奨されていた設定です。
現在はこのネットワークを使用することは無いので、デフォルトのapplication
を選択します。
e.
1回目の起動でしたが、この手順でチュートリアルに記載されているElastic Beanstalk service roleについての確認は表示されませんでした。
代わりに、次のようにスポットフリートリクエストを使用するかどうかが表示されました。
Would you like to enable Spot Fleet requests for this environment?
(y/N):
今回はスポットインスタンスを使用しないので、N
を入力します。
f.
NOTE: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead.
Do you want to download the sample application into the current directory?
(Y/n): Y
このステップのメッセージはWARNING
ではなくNOTE
に変わっています。
また、サンプルアプリケーションをダウンロードするかどうか確認されるようになっているので、Y
を入力します。
g.
ダウンロードが完了すると自動的にデプロイが開始されます。
チュートリアルに記載の通りSuccessfully launched environment
と表示されればデプロイは完了です。
Step 3. Monitor your application
このステップではデプロイされたアプリケーションの確認とアプリケーションの状態のモニタリングを行います。
a.
eb open
を実行すると、ブラウザでアプリケーションのURLが開きます。
チュートリアルの通りCongratulations
の画面が開けばOKです。
b.
アプリケーションの状態を確認するには、
eb status
を実行します。
実行するとチュートリアルの画像の通り、アプリケーション名やリージョンの情報やアップデート日時・ステータスなどの状態が表示されます。
多くの情報はAWSコンソールのElastic Beanstalkダッシュボードでも確認することができるものです。
c.
アプリケーションのヘルス状態を詳細に確認するには、
eb health
を実行します。
こちらはAWSコンソールでは、Elastic Beanstalkダッシュボードからアプリケーションの詳細を開き、ヘルスメニューで見ることができます。
Step 4. Terminate your application
最後にアプリケーションを終了します。
a.
アプリケーションの終了をするためには
eb terminate --all
を実行します。
実行すると次のようなメッセージが表示され、AWSコンソールから終了するとき同様にアプリケーション名を入力する必要があるようになっています。
To confirm, type the application name:
チュートリアルの通り、The application has been deleted successfully.
が表示されれば終了は完了です。
まとめ
今回はEB CLIを使用してアプリケーションのデプロイ・モニタリング・終了を実行しました。
第5回・第6回でAWSコンソールから実施したもののうち更新のみ今回のチュートリアルには含まれていなかったので、また別途調べてみようと思います。
次はRecommended Nextから「Docker コンテナのデプロイ」に進む予定です
Author And Source
この問題について(AWSの10分間チュートリアルをやってみる 8.Deploy and Monitor an Application from the Command Line), 我々は、より多くの情報をここで見つけました https://qiita.com/toridori111/items/9c8dc34456f43dd756a3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .