4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RailsアプリをAWSにあげるために必要な知識

Posted at

はじめに

プログラミング未経験の筆者がRailsアプリをAWSにあげるのに、必要となった最低限の知識をざっくりとまとめました。

まとめた内容は以下の通りです。
・AWS
・VPC
・EC2
・RDS

AWSのネットワークサービス

image.png
参照:アベイラビリティゾーンとは

まずはじめにAWSのネットワークについてです。
AWSを使うときにはじめに触れるのがリージョンと**アベイラビリティーゾーン(AZ)**です。

リージョン

リージョンはAWSがサービスを提供している拠点(国と地域)のことを指しています。
遠いリージョンをを使うとネットワーク遅延が発生してしまう可能性があるので、基本的には東京リージョンを使いましょう。

アベイラビリティーゾーン(AZ)

**アベイラビリティーゾーン(AZ)**はデータセンター(サーバー機などのIT機器を設置・収容する場所を提供し、安定的に運用できるようさまざまなサービスを提供する施設)とほぼ一緒です。
AZはリージョンごとに用意されていて、東京リージョンでは4つのAZが用意されています。

AWSでは複数のAZを利用すること(マルチAZ構成)が推奨されています。
マルチAZ構成であれば、もし一つのAZに障害が起きても、別のAZを利用することでネットワーク障害を回避できるからです。

続いてAWSのサービスについて説明していきます。

VPC(Virtual Private Cloud)

image.png

参照:VPC とサブネット

VPCはネットワークを作成するサービスです。
上図の通りAWSのネットワークの中にVPCのネットワークを作成します。
そしてVPCはサブネットを作成することで分割できます。

ざっくり言うと
大きな箱(AWS)の中にそこそこ大きい箱(VPC)があって、その中に小さな箱(サブネット)があるイメージですね。

そして、この小さな箱(サブネット)の中にこれから説明するEC2やRDSが入っていきます。

EC2(Elastic Compute Cloud)

image.png

参照:インスタンスの開始方法

EC2は仮想サーバ(インスタンス)、**ファイアウォール(セキュリティグループ)**などを利用できるサービスです。

知らない単語が出てきましたね...

ざっくり説明していきます。

インスタンス

インスタンスは従来のオンプレミス環境上のサーバに相当します。

インスタンスはOS、CPU、メモリ等の情報を持っています。

つまり「インスタンスを作成する」というのは
**「OS、CPU、メモリ等の条件を選択し、自分が求めるサーバーを作成する」**ことです。

###セキュリティグループ
セキュリティグループはAWS標準のファイアウォール機能です。
EC2インスタンスへのアクセスを許可したり、トラフィックを制御することができます。

デフォルトでは全ての通信が遮断してあります。(重要)
そのため特定の通信を許可する必要があります。

アクセスの許可は通信の方向で分けられ、インバウンドアウトバウンドに分けられています。
インバウンド: 外部からインスタンスへの通信を許可(外側→インスタンス)
アウトバウンド: インスタンスから外部への通信許可(インスタンス→外側)

初心者がAWSを扱う上で一番エラーが発生しやすい部分がこのセキュリティグループだと思います。

複数のサービスを紐づけるためにセキュリティグループは必須なのでよく理解しておきましょう。

RDS(Relational Datebase Service)

image.png

参照:VPC の DB インスタンスにアクセスするシナリオ(公式)

RDSはクラウド上でリレーショナルデータベース(RDBMS)を利用できるサービスです。

AWS上でRDBMSを利用する方法は2種類あります。(重要

1. EC2インスタンスにRDBMSをインストールする方法
2. RDSを利用する方法

RDSではデータベース用のインスタンス(仮想サーバー)が作成され、その上にOSやデータベースエンジンが構築されます。そのため、利用者はサーバやミドルウェアのメンテナンスが不要となります。

基本的にはRDSを利用した方が構築・運用のコスト削減できるため、RDBMSを運用する場合はRDSを選択されることが多いです。

まとめ

かなりざっくりですがAWSに関する知識をまとめました。

以下の記事を参考にしながら実際にAWSを触れば、詳細についての理解も深まると思います。

参照

世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで

【画像付きで丁寧に解説】AWS(EC2)にRailsアプリをイチから上げる方法【その1〜ネットワーク,RDS環境設定編〜】

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?