コンテンツにスキップ

概要

Eponaは、新たなビジネスアイデアをサービス化する際に必要な開発環境、サービスを実際に稼働させる環境、 そしてこれらの環境へセキュアにアクセスできる手段をクラウド上に構築するためのツールキットです。

本リポジトリは、次の目的を達成するために作成されています。

  • Amazon Web Services (AWS)へのEponaの適用例を示す
  • Eponaでどのようなことが実現できるのか、アプリケーション例と共に示す
  • サービス固有の要件を満たすためのEponaの拡張例を示す

Eponaを初めて利用するユーザーに対して、Eponaとはどのようなものなのかを示し、その利用方法を学んでもらうためのコンテンツが含まれています。
また、Eponaの使用例としてのリファレンスともなるでしょう。

本リポジトリのガイドに沿って進めることで、サービスが動作する環境と、コンテナリポジトリ等を配置する以下の環境が構成されます。

Getting Started全体像

ℹ️ 描画スペース上、全ての構成要素を図示しているわけではありません。

実際に環境を構築してEponaに対する理解を深め、自分たちのサービスを作るためステップとして本リポジトリを使用してください。


ℹ️
本リポジトリが表現している環境の一部を、容易に構築できるEpona AWS Starter CLIも利用できます。

Epona AWS Starter CLIを使用すると、以下の2つの環境構築が容易になります。

  • Eponaが想定するTerraform実行環境
  • アクティビティ(デプロイメントパイプライン)が実現可能な環境

構築される環境は、本リポジトリと同様にexample-chatがデプロイされることを想定しています。

本リポジトリは、Eponaを使う際の参考としたり、理解度を高めることを目的としたリポジトリです。

まずはEponaを簡単に試してみたいようでしたら、Epona AWS Starter CLIの利用もご検討いただくとよいでしょう。


About Getting Started

Repository Contents

本リポジトリは、Eponaを利用するTerraformモジュール、およびガイドで構成されています。

Terraform Modules

Eponaの本体は、Terraformモジュールとして提供されています。

ℹ️ Eponaが提供し、利用者が使用するTerraformモジュールを、patternモジュールと呼んでいます。

本リポジトリには、Eponaのpatternモジュールを適用したTerraformの構成ファイル(ルートモジュール)が含まれています。

環境やモジュールごとにディレクトリが分かれており、利用者がガイドに沿って適用していくことで、環境が構築できます。

ℹ️ EponaではDelivery環境、Runtime環境と呼ぶ2種類の環境を使用します。

本リポジトリに含まれているTerraformの構成ファイルを見ることでpatternモジュールの利用方法を学ぶことができ、適用することで実感を得られるでしょう。

Guide

本リポジトリには、以下の内容を記載しているガイドが含まれています。

  • 本リポジトリの内容を実践するにあたっての、セットアップ手順
  • Terraformモジュールの実行順の説明
  • 各モジュールで構築される環境の解説

External Repository Contents

本リポジトリに含まれるものは、Terraformの構成ファイル(ルートモジュール)とガイドです。
Epona自身はTerraformモジュールであるため、実際に動作するアプリケーションを含みません。

しかし、Eponaを使用して構築した環境上でアプリケーションを動作させ、実際にユーザーとしても環境を使ってみる方がEponaに対する理解が進むでしょう。

本リポジトリでは、この目的のために次のアプリケーションを使用します。

example-chatは、サーバーサイドをコンテナ環境上、フロントエンドをSPAとして動作させることを意識したチャットアプリケーションです。
Eponaがサポートするアプリケーションアーキテクチャーとも合致するため、Eponaへの理解の助けとなるでしょう。

また、example-chatはアプリケーションの要件として、Eponaのpatternモジュールとして提供していないAWSリソースを必要とします。
本リポジトリでは、このようにEponaがモジュール提供していない場合にどうするのか、その拡張例も含まれています。

System Requirements

本リポジトリに含まれるTerraformモジュールを実行するには、以下の条件を満たしておく必要があります。

  • クラウドプロバイダーおよびSaaSを利用可能となっていること
    • クラウドプロバイダー
      • AWS
        • 2つのAWSアカウント(Delivery環境 × 1、Runtime環境 × 1)が必要です
        • Amazon SESで検証済みのEメールアドレスを保持していること
        • Amazon Route 53を使った独自ドメインを取得していること
    • SaaS
  • 以下のソフトウェアがインストールされていること
    • Git
    • Terraform
      • Eponaは、Terraform 0.14.10で開発および動作確認を行っています
      • こちらから、お使いのプラットフォームに合ったTerraform実行ファイルをダウンロードしてください
    • AWS CLI

ℹ️ Datadog、PagerDutyがなくてもある程度環境構築はできますが、モニタリングやインシデント管理等に支障が出ます。

Set up

以下のドキュメントに沿って、Eponaを使用した環境を構築してください。

  1. 環境構築
  2. patternモジュールの適用

本リポジトリを使用して、Eponaがどのようなものかイメージを掴めたら、次は自分たちが開発するサービスを動作させる環境を作ってみましょう。
Eponaのドキュメントを読み、本リポジトリの内容をサンプルとして活用してください。


※ このドキュメントはクリエイティブコモンズ(Creative Commons) 4.0 の「表示—継承」に準拠しています。

※ このドキュメントに記載されている会社名、製品名は、各社の登録商標または商標です。

© 2021 TIS Inc.