[レポート]Create your first application in the cloud with Amazon Lightsail #dem152 #reinvent

こんにちは。chicca です。

本記事は re:Invent 2019 のセッション Create your first application in the cloud with Amazon Lightsail のレポートです。このセッションの動画資料は公開されています。Lightsail は簡単に Web サーバーを構築できるフルマネージドサービスです。セッションでは20分間で多層的な Web サーバーを構築しています。初心者でも簡単に構築できるのかなと気になったのでレポートにしました。

セッション概要

In this demo, we show you how easy it is to deploy and scale your first cloud application. We start by deploying a LAMP stack application into a single server. We then evolve it into a highly available, two tier application using an Amazon Lightsail load balancer and database instance.

このデモでは、最初のクラウドアプリケーションの展開とスケーリングがいかに簡単かを示します。まず、LAMP環境アプリケーションをひとつのサーバーに展開します。次に、Amazon Lightsail ロードバランサーとデータベースインスタンスを使用して、可用性の高い2層アプリケーションに進化させます。

スピーカー

Andrew Molchan

Product Manager, Amazon Lightsail

アジェンダ

  • Amazon Lightsail の概要
  • Lightsail でインスタンスを作成(Phase 1)
  • Lightsail データベースの使用(Phase 2)
  • スナップショットによる水平スケーリング(Phase 3)

今回のデモで作成する環境

  • 作成する環境

  • デモで使用するアプリケーション

Amazon Lightsail の概要

  • 新しいユーザーが素早く簡単に利用できる
  • シンプルで使いやすいコンソール
  • コンソールではリージョンを超えてすべてのリソースが管理できる
  • バンドルパッケージ
  • 月額固定料金
  • 実行したいパッケージを選択するだけ
  • 堅牢な API と CLI
  • スケーリングに対応
  • EC2 など他の AWS リソースへも接続できる

Lightsail でインスタンスを作成(Phase 1)

デモストレーションを交えて Lightsail の紹介をします。

デモストレーション手順

  1. Lightsail インスタンスを作成
  2. GitHub レポジトリをコピー
  3. データベース接続の設定

よりよいアプリケーションにするために

  • 潜在的な問題点
    • 単一障害点
    • アクセス増加への対応
    • データベース/Webフロントエンドの密結合
  • 解決策
    • データベースと Web フロントエンドを分ける
    • 複数のフロントエンドインスタンスを作成
    • Lightsail ロードバランサーの導入

Lightsail データベースの使用(Phase 2)

デモストレーション手順

  1. Lightsail データベースの作成
  2. Lightsail データベースを使用するようにフロントエンドを再構成

Lightsail データーベース

  • MySQL データベースの作成と管理が簡単
  • 標準および高可用性オプション
  • 選択できる4つのインスタンスサイズ
  • パブリックおよびプライベートアクセス
  • 自動バックアップ
  • フルマネージド ‐ 基盤システムの管理/パッチは必要はない

スナップショットによる水平スケーリング(Phase 3)

デモストレーション手順

  1. Lightsail ロードバランサーの作成
  2. フロントエンドのスナップショット
  3. スナップショットから2つの新しいインスタンスをデプロイ
  4. 3つのフロントエンドインスタンスをロードバランサーの配下に設置
  5. オプション: 管理しているドメインがあれば、ロードバランサーに cname レコードを作成する

スナップショットでの水平スケーリング

  • スナップショットはある時点でのバックアップ
  • 次のように使用
    • サーバーを新しいリージョンへ移動
    • サーバーを EC2 へ移動
    • 起動中のサーバーのアップグレード
    • 起動中サーバーの複製

Lightsail ロードバランサー

  • 簡素化されたAmazonロードバランサーの実装
  • 数クリックで設定可能
  • SSL証明書
  • http/https 通信の制御
  • ポート 80番と443番を交えたバランス

さいごに

デモストレーションの中では実際に20分間で環境を構築できました(DB インスタンスが立ち上がるまでの時間は含んでいません)。私は SAA の勉強で2つの EC2 インスタンスを接続する環境を作成しましたが、NAT ゲートウェイなどを一つひとつ設定していくのは少し大変でした。水平スケーリングでは追加するインスタンスを起動してから1クリックでアタッチできるのでとても簡単に使用開始できるサービスだと思いました。また、月額料金が明確なのでこれも AWS サービスを使い始めた方には魅力だと思います。

スライドの最後には今回のデモで使用した ToDoアプリのコードと Lightsail の step-by-step walkthrough URL も掲載していて、実際にやってみたいと思えるセッションでした。