Help us understand the problem. What is going on with this article?

つくって終わりじゃない!継続的に開発できるポートフォリオサイトをつくる!

つくって終わりじゃない!継続的に開発できるポートフォリオサイトをつくる!

by ohakutsu
1 / 34

これはなに

社内LTで使った発表資料です


自己紹介

profile-image.png

ohakutsu(おはくつ)

  • 20卒の新卒エンジニア
  • 青森県出身
  • なまりまくり
  • 最近、家系ラーメン食べてる🍜
  • サウナ初心者
  • 将棋

できること

  • Rails
  • JavaScript
  • TypeScript
  • React

が少し出来る程度


SNS

  • Twitter
  • Facebook
  • Qiita
  • サウナイキタイ

やってます

ohakutsuでGoogle検索すると大体出てきます
フォローしてくれると嬉しいです


Yaminabe-13


本題に入ります


以前まで公開していたポートフォリオサイト

以前までのファイルをS3にあげています
http://s3-old.ohakutsu.com.s3-website-ap-northeast-1.amazonaws.com/


  • 運用費 月100円くらい
    • いい感じ!

だけど、問題点が...


インフラどうやって構築したか覚えてねーよ


  • 少し盛りましたw
  • 多少は覚えてます

以前のポートフォリオサイトのインフラ図

b6ccc7cf-1517-4d0a-1c4b-e690b57d08af.png


覚えてるのはこれだけ


なぜこれだと問題なのか?

将来的にインフラをいじりたいってときに、詰む

ゼロからつくるしかない


どうすれば詰まないか?


f645786e-e222-1af4-dca4-9d711c5c7f1c.png


インフラをコードで管理できる!

あとからでも見直せる!


メリットはそれだけ?


んなこたぁない


  • コピペすれば再利用ができる!
  • インフラのバージョン管理ができる!

新しいポートフォリオサイト

https://ohakutsu.com/


新しいポートフォリオサイトのインフラ図

87250217-5d744800-c49e-11ea-9bcd-93d3600c0c85.png


さっきお見せした以前までのポートフォリオ


実はこれもTerraformを使ってます!


インフラ図

94fedb94-d843-3f8e-88a3-e7653bdd2ba7.png


シンプルだけど、スッとできないかも


Terraformならこれだけ!

https://gist.github.com/ohakutsu/2845f2b6f60bb58f27b2df0c3f0180c3

variable "bucket_name" {
  default = "s3-old.ohakutsu.com"
}

provider "aws" {
  region = "ap-northeast-1"
}

data "aws_iam_policy_document" "s3_policy" {
  statement {
    actions = ["s3:GetObject"]
    effect  = "Allow"
    principals {
      type        = "AWS"
      identifiers = ["*"]
    }
    resources = ["arn:aws:s3:::${var.bucket_name}/*"]
    sid       = "PublicReadGetObject"
  }
}

resource "aws_s3_bucket" "b" {
  bucket = var.bucket_name
  acl    = "private"
  policy = data.aws_iam_policy_document.s3_policy.json
  website {
    index_document = "index.html"
    error_document = "error.html"
  }
}

output "url" {
  value = aws_s3_bucket.b.website_endpoint
}

たったこれだけです


もうおわりなの?


終わりですw なぜなら...


Yaminabe-13


まとめ

Terraformを使ってインフラをコードで管理

一回きりのインフラをやめよう!


ありがとうございました!

ohakutsu
20卒のWebエンジニア
https://ohakutsu.com/
increments
「エンジニアを最高に幸せにする」ために Qiita、Qiita Team、Qiita Jobs を開発・運営しています。
https://increments.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした