【RailsをAWSにデプロイ①】AWS登録、EC2の作成、SSHログイン

【RailsをAWSにデプロイ①】AWS登録、EC2の作成、SSHログイン

こんにちは、Mako(@makokamiya)です。

Startup Lab LagoonTOMONIとのコラボ、「実践!開発コース」での学習記録です。

この記事はRailsアプリケーションをAWSのEC2にデプロイした流れをまとめてみた、忘備録です。

AWSアカウント作成と設定

Amazon Web Service とは

 Amazon Web Service(AWS)は、クラウドコンピューティングサービスの1つです。
(中略)
 クラウドコンピューティングサービスとは、かんたんにいえば、サーバーやネットワークなどをインターネット経由で貸してくれるサービスで、いつでもどこでも始めることができます。
(中略)
 AWSでは、コンピューティング、ストレージ、データーベース、分析、ネットワーキング、モバイル、開発者用ツール、管理ツール、IoT、セキュリティ、エンタープライズアプリケーションなど、多岐にわたるサービスが用意されています。AWSのさまざまなサービスを組み合わせれば、あらゆるアプリケーションやインフラを実現することができます。

図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書

AWSアカウントの作成

こちらのリンクを参考にアカウントを作成。
AWSアカウント作成の流れ

ちなみにこのAWSのアカウントは、インターネット通販のAmazonアカウントとは別です。

AWSアカウントの初期設定

こちらのリンクを参考に設定
AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ

EC2インスタンスの作成と設定

Amazon EC2とは

Amazon Elastic Compute Cloud (Amazon EC2)は、コンピューティングキャパシティーを提供するサービスです。かんたんにいえば、サーバーに必要な一式をクラウドで借りられるということです。

図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書

IAMユーザーでログインしてEC2を作成

先ほど作成したIAMユーザーでAWSマネジメントコンソールへログインし、検索窓で「EC2」を検索して選択します。

左のメニューバーから「インスタンス」を選択して「インスタンスの作成」を選択します。

Amazonマシンイメージ(AMI)の選択

AMIとは、あらかじめOSやソフトがインストールされている型のようなものです。
とりあえず、一番上の「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択します。

セキュリティーグループの作成

セキュリティーグループはネットワークへのデータの出入りをコントロールするファイアウォールです。
任意のセキュリティグループ名を指定して、「タイプ」を「SSH・HTTP・HTTPS」と選択し、「ソース」を「任意の場所」と選択します。

SSH」は暗号化した通信で安全なEC2インスタンスへのアクセスを許可します。
HTTP・HTTPS」はブラウザからHTTP・HTTPSでアクセスすることを許可します。

キーペアを作成

キーペアとは、SSHでEC2インスタンス に接続する際に使用する、公開鍵秘密鍵のペアです。
任意の名前で新しいキーペアを作成しダウンロードします。

最後に「インスタンス の作成」をクリックするとインスタンス が作成されます。
下記のように「2/2のチェックに合格しました」と表示され、インスタンス の状態が「running」になると準備完了です!

SSHログイン

EC2インスタンス の準備ができたので、まずはブラウザベースでSSH接続してみましょう。
先ほどの画像の、「インスタンス の作成」ボタンの右にある灰色の「接続」ボタンをクリックしすると下の画像の画面が表示されます。

上の画像のように「EC2 Instance Connect (ブラウザベースの SSH 接続」を選択、青色の「接続」をクリックします。

EC2インスタンス へ接続できました!!!
ちなみに、「スタンドアロン SSH クライアント」を選択し、説明のとおり操作すると、いつも使っているターミナル等から接続することもできます。

次回から、この画面上でRubyやRailsなど必要なソフト等をインストールしていきます。

参考

個人開発のための Webサービス公開マニュアル
図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書
AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ
AWS アカウント作成の流れ

まとめ

いかがだったでしょうか!
SSH接続できたときは、やったーと感動しました!
学習の一環として実際にアプリケーションを開発する際、技術書やQiitaの記事をコピペして、とりあえず動ごいた!という感動を経験することって大切だと思います。
しかし、ある程度の感動体験をしたら、用語の理解やアウトプットもしていかないと、つまずく回数が多くなってくるなーと感じました!

プログラミング学習中のかたは、これからも一緒に頑張っていきましょう(^O^)
ではまた!