Elastic BeanstalkでflaskアプリケーションデプロイのチュートリアルをCloud9で
2021/07/29
Elastic Beanstalk への flask アプリケーションのデプロイをCloud9でやってみました。
目次
EB CLIのインストール
1 2 |
$ pip3 install awsebcli --upgrade --user |
環境の準備
1 2 3 4 5 6 7 8 9 10 11 12 |
$ eb --version EB CLI 3.19.2 (Python 3.7.9) $ mkdir eb-flask $ cd eb-flask $ virtualenv virt Using base prefix '/usr' New python executable in /home/ec2-user/environment/eb-flask/virt/bin/python3 Also creating executable in /home/ec2-user/environment/eb-flask/virt/bin/python Installing setuptools, pip, wheel... done. $ source virt/bin/activate |
flaskインストールとrequirements.txtの準備
1 2 3 4 |
$ pip install flask==1.0.2 ~中略~ $ pip3 freeze > requirements.txt |
application.py
チュートリアルにあるとおり、こちらのコードを貼り付けました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
from flask import Flask # print a nice greeting. def say_hello(username = "World"): return '<p>Hello %s!</p>\n' % username # some bits of text for the page. header_text = ''' <html>\n<head> <title>EB Flask Test</title> </head>\n<body>''' instructions = ''' <p><em>Hint</em>: This is a RESTful web service! Append a username to the URL (for example: <code>/Thelonious</code>) to say hello to someone specific.</p>\n''' home_link = '<p><a href="/">Back</a></p>\n' footer_text = '</body>\n</html>' # EB looks for an 'application' callable by default. application = Flask(__name__) # add a rule for the index page. application.add_url_rule('/', 'index', (lambda: header_text + say_hello() + instructions + footer_text)) # add a rule when the page is accessed with a name appended to the site # URL. application.add_url_rule('/<username>', 'hello', (lambda username: header_text + say_hello(username) + home_link + footer_text)) # run the app. if __name__ == "__main__": # Setting debug to True enables debug output. This line should be # removed before deploying a production app. application.debug = True application.run() |
eb init
リージョンとプラットフォームを指定。
1 2 3 |
$ eb init -p python-3.6 flask-tutorial --region us-east-1 Application flask-tutorial has been created. |
eb create
1 2 3 4 |
$ eb create flask-env ~中略~ 2020-11-24 03:36:50 INFO Successfully launched environment: flask-env |
環境URLにアクセスするとブラウザにこちらが出力されました。
Hello World!
Hint: This is a RESTful web service! Append a username to the URL (for example: /Thelonious) to say hello to someone specific.
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
AWS WAFの個別ルールを設定する
Web ACLを選択して、[Add my own rules and rule …
-
-
Amazon EC2 インスタンスメタデータサービス(IMDS) v2のみにしました
今さらながらですが、EC2 インスタンスメタデータサービス(IMDS) v2を確 …
-
-
RDSのポイントインタイムリカバリをしました
WordPressで画像アップロードができなくなった(AWS WAFでブロックし …
-
-
EC2 Dedicated Hosts(専有ホスト)を起動
クォータ引き上げ 新規で作成したアカウントではDedicated Hostsがソ …
-
-
AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する
執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …
-
-
Amazon SES, S3で受信したメールをAWS Lambda, SESで別のメールへ転送する
Amazon SESでメール受信で受信したメールを、毎回S3バケットに見に行って …
-
-
JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました
以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …
-
-
AWS Storage Gateway File Gateway on EC2インスタンスにmacOSからNFS接続
S3バケットの作成 S3バケットはあらかじめ作成しておきました。 マネジメントコ …
-
-
EC2 Auto Recovery機能を設定しておいた
以前EC2インスタンスのリタイア対象になったこともあり、というより、やっておいて …
-
-
WordPress、プラグインのアップデートしてBlue/Greenデプロイ
現在のブログの構成です。 WordPressとプラグインのアップデートをして、デ …