もちもち奮闘記

新卒3年目の田舎者エンジニア/思ったこととか、趣味の話とか、アウトプットしていく

AWSで小規模なwebサーバー環境を構築するための第一歩

やったこと

AWSで以下のRailsアプリのデプロイを目標に設計図を作成しました。

github.com

要件としては、

  1. ActionCableを使ったチャット機能

  2. 画像を投稿する

  3. Mysql(DataBase)を利用する

これらを考慮してAWSの設計図を作りたい。

完成した設計図

f:id:fussy113:20180510012652p:plain

作成した図

補足説明

AWSサービスの各役割

EC2
  • Webサーバー(Nginxをインストール)の役割を担っています。
  • インターネットに接続されています。
  • LocalからはSSH,Webブラウザを利用してアクセスが可能です。
    • ポート80番、22番を開ける必要があります。
RDS
  • DBサーバーとしての役割を担っています。
  • DBはインターネットから直接書き換えられるのは非常に困るので、インターネットからは接続できないサブネットに配置します。
    • Private Subnetと呼ばれます。これを利用することでDBサーバーなど、バックエンドシステムを隠しセキュリティを高めることができます。
  • ローカル環境からDBサーバーにアクセスするためには、

    1. WebサーバーにSSHでアクセス
    2. WebサーバーからDBサーバーにSSHでアクセス

    と、Webサーバーを踏み台にしてアクセスが可能です。

S3 Bucket
  • 写真などの静的コンテンツを保存するストレージとして利用しています。

今後やること

5月中に今回作った設計図を元にデプロイまでを行いたい所存であります。