環境構築を雑に設計
現在(2020/06/04)で公開しているサイトではAWS EC2のみを使用した設計となっているため、
それをよりトレンド風に修正していく記事です。
ちなみに作成したサイトは(スマホ用のUIのため見るときは検証モードでご覧ください)
http://ec2-18-180-131-224.ap-northeast-1.compute.amazonaws.com/
です。なるべくお金を掛けたくなかったのでドメインも取得せず、ロードバランサーも通信の暗号化もしておりません。
Dockerすらも使用していないので、そのあたりからやっていくつもりです。
あと、日記ですのであまり期待しないでください、よわよわなエンジニアの卵ですので。笑
サービス内容
GitHubのレポジトリはhttps://github.com/maaaaakoto35/UniFood
ですのでよければスターつけてください笑
ReadMeも雑に作成したのでサービス内容を記述していきます。
当初、京都産業大学の口コミサイト等は調べても出てこなかったので
当サイトの目的は、学食に対してレビューができる、ということです。
また、UI設計がスマートフォン向けになっております。
この記事が完成する頃には拡張機能も追加していくつもりです。
中身のロジックはものすごく簡単なんですが、ご要望があれば
当サイトを作成した際のつまづいた点なども投稿しようかなと思っております。
参考にしているサイト
当記事は下記のサイトを参考にしております。
https://dev.classmethod.jp/articles/aws-eaws-ecs-fetch-run-shell/
これから記事の追加していくつもりです。(2020/06/04)
terraform
を学習する上で参考にしたサイトを記載しておきます。
https://qiita.com/fukubaka0825/items/68506b1e6644404d6cc0
また、学習する上であまりにも知識が少なかったので
「コンテナ時代のWebアプリケーションの作り方」という出典も参考にしました。
pdfのダウンロード/1000円ですのでぜひ購入してみてください
設計
ある方からご教授いただきまして、Infrastrucre as CodeでAWSを設計していきたいと思います。
なので、今までこの記事をご覧いただいていた方、すみません。
まぁほぼいないからいいか
別記事でTerraformの入門備忘録を掲載していきますのでお暇があればご覧ください。
まだ僕は自分でAWSのシステム構成図がスラスラ書けるほどではないので他サイトから拝借した構成図に
基づいて構築していきます。
この投稿を通してAWSへの理解が深まればシステム構成図を作成するつもりです。
下の図がCI/CD用の構成図です。
大体こんな感じで構築していくつもりですが、
運用しているサービスにあまり必要ないと感じたらバッサリいくつもりです。
次の更新から実際に構築していきます。(2020/06/17)
AWSS3 バケットの作成
AWSのストレージサービスであるS3を利用します。
バケットという概念があり、オブジェクトみたいなものです。とりあえず作成し、bucket名をつけてください
terraform {
backend "s3" {
bucket = "バケット名"
key = "tfstateがあるソースファイル"
region = "地域"
}
}
このような記述をすることがあると思うのですが、ここでbackend
というものにつまづきました。
backend
とはtfstateの参照先であり、これを記述することで
他ディレクトリを参照したterraform apply
が可能となります。
Error: Unsupported block type
data "terraform_remote_state" "vpc" {
backend = "s3"
config {
bucket = "バケット名"
key = "tfstateがあるソースファイル"
region = "地域"
}
}
terraformアプデ前のソースコードを参照している場合はここで
Error: Unsupported block type config
のようなエラーが出てきます。
config = {
のように実装すればエラーは回避できます。
他にもバージョンアップでエラーが出た際は良いQiitaの記事があったので貼っておきます。
https://qiita.com/KsntsTt/items/d06651df8dcdfe463381
(2020/06/18追記)
トラブルシューティング IAMユーザーの参照
こちらのQiita記事を参考にしました。
https://qiita.com/akashixi/items/889f43562d16fd2f9367
(2020/06/27追記)