既存の環境にEC2を追加作成して既存のRDS及びEFSと接続したい

タイトルの内容の依頼が発生した際の手順を記載します。
お客様からの要件はざっくりと以下。

・EC2インスタンス作成  
 - インスタンス名:sample-prd-01  
 - class:t2.medium  
 - OS:AmazonLinux2  
 - Disk:100GB  
・SG設定  
 - 既存のRDSに接続できること
・本番環境のEFS(/export)への接続設定  
 - マウントポイント:/export/ds1file01  
・OS設定(お任せ)  
・efsユーティリティー追加  
・aws cli 及び mysql client のインストール  

以下の作業手順の通り実施しました。 EFSとの接続はutilityが必要、RDSとのmysql接続はmysqlクライアントの導入が必要です。
OS設定は最低限必要なものをピックアップ

作業手順

1.サーバ起動

1-1. 要件のSPECのサーバを起動する
1-2. 1-1で作成したサーバにEIPをアタッチする
1-3. 1-1で作成したサーバに要件を満たすSGを設定

2.OS設定

以下内容を実施する

2-1.パッケージ更新

$ sudo yum update -y

2-2.vimのインストール

AmazonLinux2ではデフォルトで存在

$ sudo yum list installed | grep vim
vim-common.x86_64                     2:8.1.1602-1.amzn2             installed  
vim-enhanced.x86_64                   2:8.1.1602-1.amzn2             installed  
vim-filesystem.noarch                 2:8.1.1602-1.amzn2             installed  
vim-minimal.x86_64                    2:8.1.1602-1.amzn2             installed 

2-3.タイムゾーン変更

$ timedatectl status
$ sudo timedatectl set-timezone Asia/Tokyo

2-4.日本語ロケール追加

$ localectl status
$ sudo localectl set-locale LANG=ja_JP.UTF-8
$ sudo localectl set-keymap jp106

2-5.ホスト名の変更

$ sudo hostnamectl set-hostname sample-prd-01
$ hostname

2-6.プロンプトの変更

$ vim /etc/profile.d/prompt.sh

以下の内容を追加

export NICKNAME=sample-prd-01

3.awscli,mysqlclient,amazon-efs-utilsのインストール

3-1.awscliのインストール

AmazonLinux2ではデフォルトで存在

$ aws --version
aws-cli/1.16.300 Python/2.7.16 Linux/4.14.154-128.181.amzn2.x86_64 botocore/1.13.36

3-2.mysqlclientのインストール

mysql8.0リポジトリの追加(このリポジトリに5.7も含まれています)

$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y

mysql8.0リポジトリの無効化

$ sudo yum-config-manager --disable mysql80-community

mysql5.7リポジトリの有効化

$ sudo yum-config-manager --enable mysql57-community

インストール

$ sudo yum install -y mysql mysql-devel

インストール確認

$ yum list installed | grep mysql

3-3.amazon-efs-utils パッケージをインストール

$ sudo yum install -y amazon-efs-utils

4.EFS接続設定

4-1.EFS用SG設定

設定済みのため不要

4-2.EFS用マウントディレクトリ作成

$ sudo mkdir /export/ds1file01

4-3.マウント

$ sudo mount -t efs fs-0216f023:/ /export/ds1file01

4-4.自動マウント設定

$ sudo vim /etc/fstab

以下を行追加

fs-0216f023:/sample_export /export/ds1file01 efs defaults,_netdev 0 0

4-5.マウント確認

以下コマンドで再起動し、/export/ds1file01配下にマウントされていることを確認

$ reboot
$ ls -l /export/ds1file01

さぁ、確認ポイントを確認しよう

2-3.タイムゾーン変更確認

$ timedatectl status
      Local time: 金 2020-02-14 14:23:48 JST
  Universal time: 金 2020-02-14 05:23:48 UTC
        RTC time: 金 2020-02-14 05:23:47
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

2-4.日本語ロケール追加確認

$ localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp

2-5.ホスト名の変更、2-6.プロンプトの変更

[ec2-user@sample-prd-01 ~]$ hostname
sample-prd-01

3-2.mysqlclientのインストール確認

$ yum list installed | grep mysql
mysql-community-client.x86_64         5.7.29-1.el7                   @mysql57-community
mysql-community-common.x86_64         5.7.29-1.el7                   @mysql57-community
mysql-community-devel.x86_64          5.7.29-1.el7                   @mysql57-community
mysql-community-libs.x86_64           5.7.29-1.el7                   @mysql57-community
mysql-community-libs-compat.x86_64    5.7.29-1.el7                   @mysql57-community
mysql80-community-release.noarch      el7-1                          installed  

3-2.RDS接続確認

$ mysql -h <endpoint> -P 3306 -u dbuser -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13519165
Server version: 5.6.10-log MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

4-5.マウント確認 →想定のディレクトリが見えることを確認

[ec2-user@sample-prd-01 ~]$ cd /export/ds1file01
[ec2-user@sample-prd-01 ds1file01]$ ls -la
合計 16
drwxr-xr-x  5 15002 15002 6144  214 11:33 .
drwxr-xr-x  3 root  root    23  214 11:25 ..
drwxr-xr-x  2 15002 15002 6144  516  2019 dummy
drwxrwxr-x 53 15002 15002 6144  920 10:20 private
drwxrwxrwx  5 15002 15002 6144  820 11:33 public

以上で完了です。
参考にしたサイトは以下。 EFSは初めて触ったけれど、すごく設定簡単で便利なのを痛感しました〜。 その分、ちょっと料金高いけれどw 費用見合いですね。。

▼参考サイト
・EFS構築
https://dev.classmethod.jp/etc/relay-re-introduction-2019-efs/

yum関連コマンド uxmilk.jp

mysqlのインストール
https://qiita.com/2no553/items/952dbb8df9a228195189

・OS設定
oji-cloud.net