1
0

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.

[Chapter-2]EC2の設定

Last updated at Posted at 2021-05-01
タイトル
[Chapter-1]VPCの設定
[Chapter-2]EC2の設定
[Chapter-3]EC2のサーバー環境構築
[Chapter-4]EC2にRailsアプリの配置
[Chapter-5]ロードバランサー(ELB)の作成
[Chapter-6]ACM(AWS Certificate Manager)でSSL証明書を取得
[Chapter-7]Route53の設定
[Chapter-8]https化に向けたロードバランサーの設定
[Chapter-9]https化によるRoute53の設定
[Chapter-10]https化によるNginxの設定
##はじめに
今回はEC2の設定をします。
画像なしで説明しますのであしからず。

手始めにAWSのサービス検索欄から「EC2」と検索し「EC2」を選択します。

##インスタンスを作成
画面左から「インスタンス」を選択して、その後「インスタンスの起動」を選択してください

1.AMIの選択
「Amazon Linux 2 AMI (HVM), SSD Volume Type」「64 ビット(x86)」を選択します。

2.インスタンスタイプの選択
無料利用枠(1年未満のユーザー)の「t2.micro」を選択

3.インスタンスの設定
インスタンス数:「1」
購入のオプション:「チェックなし」
ネットワーク:「VPC_for_アプリ名」
サブネット:「アプリ名_Subnet_1a」
自動割り当てパブリック IP:「サブネット設定を使用(無効)」
配置グループ:「チェックなし」
キャパシティーの予約:「開く」
ドメイン結合ディレクトリ:「ディレクトリなし」
IAM ロール:「なし」
シャットダウン動作:「停止」
停止 - 休止動作:「チェックなし」
終了保護の有効化:「チェック入れる」
モニタリング:「チェックなし」
テナンシー:「共有」
Elastic Inference:「チェックなし」
クレジット仕様:「チェックなし」
ファイルシステム:「空白」

4.ストレージの追加
初期設定で次へ

5.タグの追加
キー:「Name」
値:「アプリ名-instance」

6.セキュリティグループの設定
セキュリティグループの割り当て:「既存のセキュリティグループを選択する」
以前作成した「アプリ名-SecurityGroup」にチェック

「確認と作成」を選択する

「起動」を選択

すると「既存のキーペアを選択するか、新しいキーペアを作成します」というポップアップが表示されます。

選択ボックスから「新しいキーペアの作成」を選択し
空白のキーペア名に「アプリ名」を入力
「キーペアのダウンロード」を選択

すると「アプリ名.pem」がダウンロードされます。

そして「確認と作成」を選択します。

Elastic IPを作成して紐付ける

画面左から「Elastic IP」を選択して、「Elastic IP アドレスの割り当て」を選択
以下の様に記述 ※初期設定のままで良い
ネットワークボーダーグループ: 「ap-northeast-1」
IPv4 アドレスプール:「Amazon の IPv4 アドレスプール」

「割り当て」を選択

次にElastic IPをインスタンスに紐付けします。
先ほど作ったElastic IPを選択して「アクション」ボタンをクリックします。
その後「アドレスの関連付け」を選択します。

以下の様に記述
リソースタイプ:「インスタンス」
インスタンス:「アプリ名-instance」
プライベート IP:クリックして表示されるIPを選択
再関連付け:チェック入れる

「関連付ける」をクリックしてください

##EC2にログインする準備
作成したインスタンスが起動している事を確認します。
「インスタンス」をクリックして作成したインスタンスがrunningになっていることを確認する

ここでElastic IPアドレスをメモしておいてください

EC2にログインするために、ここからはコンソール画面を使います。

下準備としてこれらをインストールします。

  1. python
  2. pip
  3. awscli ※awsをPCのコンソール上から扱うためのもの

ターミナルで以下のコマンドを入力します

brew install python
sudo easy_install pip
sudo easy_install nose
sudo easy_install tornado
sudo -H pip install awscli --upgrade --ignore-installed six

これからEC2インスタンスへのログイン設定を行います。

AWSではec2-userという名前のユーザが用意されていてデフォルトになっています。

以下の手順で進めます。

1 . ec2-userでEC2へのログイン
2 . 新たなユーザを作成
3 . 作成したユーザにec2-userと同様の権限を与える
4 . 新たなユーザで再度ログインする

##キーペアの移動、権限の変更
pemファイルを~/.ssh/へ移動させる

$ mkdir .ssh/
$ mv {ダウンロードしたディレクリのパス}/アプリ名.pem .ssh/

キーペアの権限を変更してアクセス権を与えます。

$ cd .ssh/
$ cdmod 600 アプリ名.pem

EC2へログイン

公開鍵を利用してec2-userとしてログインします。
先ほどメモしたElastic IPを使います。

$ ssh -i アプリ名.pem ec2-user@{Elastic IP}

yesかnoを聞かれたら、yesと入力してください
これでログイン成功です。

新規ユーザー登録

サーバー
[ec2-user@ip-10-0-0-246 ~]$ sudo adduser ユーザ名

新規ユーザのパスワード登録

サーバー
[ec2-user@ip-10-0-0-246 ~]$ sudo passwd ユーザ名

作成したユーザーにマスター権限を与える

viを使って設定を編集します。visudoコマンドを使って行います。
※viでファイルを指定しても良いがvisudoの方が簡単

サーバー
[ec2-user@ip-10-0-0-246 ~]$ sudo visudo

ファイルの中で以下の様になっている部分を探し作成したユーザに権限を与える記述をします。

#ここを探す
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL  


ユーザ名   ALL=(ALL)       ALL ←ここを追加

shift+ZZで保存して終了します。

##ユーザーの切り替え

サーバー
[ec2-user@ip-10-0-0-246 ~]$ sudo su - ユーザ名
[ユーザ名@ip-10-0-0-246 ~]

##SSH通信でインスタンスへログイン
続いてSSH通信を使ってインスタンスにログインします。

以下の流れで行います。
1 . ローカルで鍵の生成
2 . その鍵をどの通信の認証時に使用するか等を設定
3 . サーバーとの認証処理を行う。
4 . 実際に新ユーザーでログイン

###1.ローカルで鍵の作成
ローカルで作業するので新しくターミナルを開きます。

ローカル
$ cd .ssh
$ ssh-keygen -t rsa
------------
以下のメッセージが表示されたら、「アプリ名_key_rsa」と入力
Enter file in which to save the key ():{アプリ名}_key_rsa

そのままEnter ※passは指定しない
Enter passphrase (empty for no passphrase):

そのままEnter
Enter same passphrase again:

これで「アプリ名_key_rsa」と「アプリ名_key_rsa.pub」が生成される

ローカル
$ ls
アプリ名_key_rsa アプリ名_key_rsa.pub

##2.鍵をどの通信の認証時に使用するか等を設定
viで設定ファイルを編集する

ローカル
$ vi config

以下の様に編集する

Host アプリ名_key_rsa
  Hostname Elastic IP #自分の設定に合わせる
  Port 22
  User ユーザ名 #作成したのユーザー名
  IdentityFile ~/.ssh/アプリ名_key_rsa #秘密鍵の設定

shift + ZZで保存して終了

鍵の中身をターミナル上に出力、ssh-asa〜localまで全文コピーしておく

ローカル
$ cat アプリ名_key_rsa.pub
ssh-rsa ~
~
~
~.local

###3.サーバーとの認証処理
次はサーバー側で作業をします。
サーバーにログインしていたターミナルに移ります。

サーバー
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ vi authorized_keys

ここで「アプリ名_key_rsa.pub」でコピーしたssh-rsa ~~~ .localを貼り付けます。

ssh-rsa ~
~
~
~.local

shift + ZZで保存して終了します。

以下を入力して新ユーザーに権限を与えます

$ chmod 600 authorized_keys

これで権限が付与されました。

##新ユーザでログインする

ローカル
$ ssh アプリ名_key_rsa

ログインできればユーザー設定は終了です。

##参考

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?