Slide 1

Slide 1 text

LightsailとApp Runnerの 便利さを検証してみた JAWS-UG 新潟 #14

Slide 2

Slide 2 text

自己紹介 名前 鈴木 遼人(すずき はると) 所属 株式会社エーピーコミュニケーションズ(APC) 経歴 ~2020年9月:製造業を対象としたプリセールスを担当 2020年10月~:APC入社、インフラエンジニアへ転身 2022年10月~:AWSで構築されたシステムの設計・構築・運用担当 好きなAWSサービス Systems Manager

Slide 3

Slide 3 text

自己紹介 新潟の思い出 越後湯沢のぽんしゅ館 ガーラ湯沢でスノボー

Slide 4

Slide 4 text

参加のきっかけ 社外の人と交流してみたいなー アウトプットすることにも慣れておきたいなー ふらっと新潟行きたいなー

Slide 5

Slide 5 text

本日話すネタ 勢いでLT枠に申し込んだけど・・・

Slide 6

Slide 6 text

本日話すネタ ネタどうしよう\(^o^)/

Slide 7

Slide 7 text

本日話すネタ

Slide 8

Slide 8 text

本日話すネタ 触ったことがないサービスだ

Slide 9

Slide 9 text

本日話すネタ よし、予習しよう!

Slide 10

Slide 10 text

本日話すネタ ※1 https://aws.amazon.com/jp/lightsail/ 低価格の事前設定されたクラウドリソースを使用して、 アプリケーションとウェブサイトを構築できるよ!(※1) Amazon Lightsail AWS App Runner コンテナ化されたウェブアプリケーションと API を大規模 にデプロイできるよ!(※2) ※2 https://aws.amazon.com/jp/apprunner/

Slide 11

Slide 11 text

本日話すネタ

Slide 12

Slide 12 text

本日話すネタ よし、手を動かしてみよう!

Slide 13

Slide 13 text

本日話すネタ 以下の3パターンでアプリをデプロイする流れを比較しました! ①EC2 ②Amazon Lightsail ③AWS App Runner

Slide 14

Slide 14 text

アプリについて

Slide 15

Slide 15 text

アプリについて ✓ 言語はPythonを使用する ✓ フレームワークはDjangoを使用する ✓ DBはAPサーバ(コンテナ)の外部に構築する ✓ カスタムドメインを持つ ✓ 証明書を発行してHTTPS通信でアクセスできる

Slide 16

Slide 16 text

①EC2 Public subnet Private subnet ①ネットワーク環境作成 ・VPC作成 ・サブネット作成 ・IGW作成 ・ルーティングテーブル作成 ②EC2作成 ・SG作成 ・SSHログイン

Slide 17

Slide 17 text

①EC2 Public subnet Private subnet ③RDS作成 ・SG作成 ・EC2から接続 ・アプリ接続用DB作成 ④ソースコードダウンロード ・git clone

Slide 18

Slide 18 text

①EC2 Public subnet Private subnet ⑤サーバ内設定 ・ソフトウェアインストール ・gunicorn設定 ・Nginx設定 ⑥証明書発行 ・ACMで証明書発行

Slide 19

Slide 19 text

①EC2 Public subnet Private subnet ⑦カスタムドメイン登録 ・Route53でドメイン登録 ・レコード作成 ⑧CloudFront設定 ・EC2をオリジンに設定 ・発行した証明書適用

Slide 20

Slide 20 text

②Lightsail ①インスタンス作成 ・SSH接続 ②DB作成 ・インスタンスから接続 ・アプリ接続用DB作成

Slide 21

Slide 21 text

②Lightsail ③ソースコードダウンロード ・git clone

Slide 22

Slide 22 text

②Lightsail ④サーバ設定 ・ソフトウェアインストール ・gunicorn設定 ・Nginx設定 ⑤ディストリビューション作成 ・静的IPをインスタンスにアタッチ ・オリジンをインスタンスに設定

Slide 23

Slide 23 text

②Lightsail ⑥カスタムドメイン登録 ・レコードを作成 ・ディストリビューションに割り当て

Slide 24

Slide 24 text

Lightsailを使用した感想 ✓ ネットワーク構築が不要 ✓ 証明書発行やカスタムドメインの登録含め、 一つのコンソール上で完結する ✓ コストは月額で定額なので、個人開発でも 安心

Slide 25

Slide 25 text

③App Runner Dockerfile Dockerイメージ Build ローカル環境 ①Dockerイメージ作成 ・Dockerfile作成 ・ビルド

Slide 26

Slide 26 text

③App Runner ②Dockerイメージのプッシュ ・ECRリポジトリ作成 ・ECRへイメージをプッシュ Dockerイメージ Private subnet ③RDS起動 ・SG作成 ・アプリ接続用DB作成(※) ※ 別途EC2から接続して作成

Slide 27

Slide 27 text

③App Runner Private subnet ④App Runner起動 ・ECRにプッシュしたイメージを選択 ・SG作成 ⑤カスタムドメイン設定 ・証明書検証設定 ・DNSターゲット設定

Slide 28

Slide 28 text

App Runnerを使用した感想 ✓ サーバー側の設定がないので楽 App Runner→RDSに接続する場合 ・App Runnerは固定IPを持っていない ・App RunnerはVPCコネクタを通じてSGを付与可能 ・App Runnerに付与したSGをRDS側のSGで許可

Slide 29

Slide 29 text

App Runnerを使用した感想 ✓ サーバー側の設定が不要 ✓ 証明書の発行手順が不要 ✓ 3パターンの中でとにかくデプロイまで早い

Slide 30

Slide 30 text

その他の比較 EC2 Lightsail App Runner 柔軟性 ・自由にカスタマイズ可 ・高度な設定や特殊 な要件に対応できる 簡単な設定と管理を 目的としているため柔 軟性は低い 完全に管理されている ので柔軟性は低い 簡易性 カスタマイズが多くでき る反面、設定が複雑 設定が簡単にできるの でEC2よりも初心者に 優しい デプロイまでの設定や 手順が少なく簡単 コスト コストのコントロールは 可能だが、定期的に 見直しが必要 固定の月額料金で提 供されるので、予算の 計画を立てやすい マネージドサービスのた め多少高価になる可 能性がある スケーリング Auto Scailingにより 自動スケーリング可能 自動スケーリングは不 可 自動スケーリングが提 供されるため、トラフィッ クの変動に対応可

Slide 31

Slide 31 text

まとめ EC2 高度なカスタマイズが可能で、複雑な要件に対応できる ユースケース:複雑な要件の大規模システム Lightsail 小規模のプロジェクトに最適で、簡単に始めることができる ユースケース:中小企業のウェブサイトや個人プロジェクト App Runner 迅速なデプロイとフルマネージドな運用が可能 ユースケース:スタートアップ企業などの新規サービス

Slide 32

Slide 32 text

感想・今後やってみたいこと ✓ アプリを作って動かすのは楽しい ✓ デプロイまで思ったより簡単にできて感動 ✓ Elastic BeanstlakやECSとも比較したい

Slide 33

Slide 33 text

ありがとうございました! JAWS-UG 新潟 #14