LoginSignup
2
1

More than 3 years have passed since last update.

AWSで割とモダンな技術使う大学生日記(アーカイブにしたい、、そんな機能ないか。。)

Last updated at Posted at 2020-06-04

環境構築を雑に設計

現在(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への理解が深まればシステム構成図を作成するつもりです。

スクリーンショット 2020-06-17 23.36.24.png
スクリーンショット 2020-06-17 23.43.29.png

下の図がCI/CD用の構成図です。
大体こんな感じで構築していくつもりですが、
運用しているサービスにあまり必要ないと感じたらバッサリいくつもりです。
次の更新から実際に構築していきます。(2020/06/17)

AWSS3 バケットの作成

AWSのストレージサービスであるS3を利用します。
バケットという概念があり、オブジェクトみたいなものです。とりあえず作成し、bucket名をつけてください

ec2.tf
terraform {
    backend "s3" {
        bucket = "バケット名"
        key = "tfstateがあるソースファイル"
        region = "地域"
    }
}

このような記述をすることがあると思うのですが、ここでbackendというものにつまづきました。
backendとはtfstateの参照先であり、これを記述することで
他ディレクトリを参照したterraform applyが可能となります。

Error: Unsupported block type

ec2.tf
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追記)

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1