t3a Instanceに乗り換え 前半

移行理由

移行理由は現行のサーバがAmazon LinuxなのでAmazon Linux2への移行が必要となったため。

よくある質問 – Amazon Linux AMI | AWSによると

Q: Amazon Linux AMI はどれくらいの期間、サポートされますか?

AWS では 2020 年 6 月 30 日まで、Amazon Linux AMI 2018.03 の最新バージョンに対するセキュリティ更新の提供を継続し、Amazon Linux 2 への移行を促進します。Amazon Linux 2 では、2023 年 6 月 30 日まで長期サポートを受けることができます。

Amazon Linux 2 に関するよくある質問によると

Q: 既存バージョンの Amazon Linux AMI から Amazon Linux 2 へのインプレースアップグレードを実行できますか?
いいえ。既存バージョンの Amazon Linux から Amazon Linux 2 へのインプレースアップグレードはサポートされていません。アプリケーションの移行前に、新しくインストールした Amazon Linux 2 でテストすることをお勧めします。

これって再構築いうこと・・・

このblogさいとはEFSとかRDSを利用しているのでデータの移行は実施しなくても大丈夫なんだけど、色々とめんどくさい

このサーバで動いているのはh2o+phpなので再構築の時間はそんなにかからないかと思います。

Amazon EC2 T3 インスタンスとは

Amazon EC2 T3 インスタンス

T3a インスタンスには、最大 2.5 GHz の全コアターボクロック速度をサポートする AMD EPYC 7000 シリーズプロセッサが搭載されています。 T3a は、T3 インスタンスよりも 10% 低い価格で提供されるため、Amazon EC2 コンピューティング環境のコストをさらに最適化したいとお考えのお客様に適しています。

Amazon EC2 インスタンスAMD EPYC プロセッサーを搭載によると

類似のインスタンスと比較してコストを 10% 低減する、AMD EPYC プロセッサーを搭載した Amazon EC2 インスタンス

t3インスタンスとの性能差についての名言はないけどコストが下がるということなのでAMD系を選択することにします。

ちなみに今まで使っていたのはt2.microだから

Instance Type vCPU Memory Price/h
t2.micro 1 1G 0.0152USD/時間
t3a.micro 2 1G 0.0122USD/時間

現行サーバがmicro Instanceなので同じmicroで計算しました。ケチるコスト最適化を実施するためにt3a.nanoでやってみる価値あるかも。

vCPUが2になっているのでCPU処理速度は向上しているはず。

現行サーバとの値段差は0.003USD/時間なので1日0.072ドル。1ヶ月で2.16ドルぐらいの削減が可能となる計算になります。今の使用料が月々43ドル程度なので5%弱コスト削減が可能となる計算・・・(あたっているかな

というか場末のblogサイトで43ドルってお金かけすぎだろ!!!って思う。

t3a.micro×2+ロードバランサー(ALB)導入とか考えたけど金額で諦めました。

再構築手順

Timezone変更

JSTじゃないとぱっと見わからないので変更。

sudo timedatectl set-timezone Asia/Tokyo

ホスト名変更

ぶっちゃけホスト名はデフォルトの内部IPアドレスでもいいんだけど、複数サーバにLoginした時にわからないので

sudo hostnamectl set-hostname hogehoge.example.com

たぶん最近はサーバにLoginするという行為がかっこ悪いとは思うんだよなぁ

EFSをmount

EFSを自動mountするために /etc/fstabに追記

fs-XXXXXXX.efs.ap-northeast-1.amazonaws.com:/ /var/mountpoint/efs nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0

EFSを使っているからファイル移行しなくてもいいという年に1回あるかないかのメリットを享受

remi/epel Repository追加

remiがないとPHP7.4系のInstallができないから、ついでにepelも入れておく。

sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7.4系 Install

さすがに今からデフォルトの5.4系は入れたく無いよね。

sudo yum -y install php74 php74-php-mysqlnd php74-php-mbstring php74-php-gd php74-php-cli php74-php php74-xml

7.x系は5.4系に比べて高速化という話は聞いているけど7.2から7.4へのUpdateでも高速化されているのだろうか?PHP 7.4公開 – 新機能導入と高速化には
 

PHP 7.4系は、ベンチマークからこれまでのバージョンよりも高速に動作すると見られている。現在開発版とされているPHP 7.5系はさらにパフォーマンスが向上すると見られており、しばらくはリリースごとにパフォーマンスの向上が期待できる。

ただ動作するとみられている。という不思議な表現・・・数値で取っていないのか?まぁEoLを考えても最新版をいれていて損はないはず
certbot-auto Install

Let’s Encryptを利用するために入れます。Let’s Encryptのおかげで手軽にHTTPS化ができて嬉しいね。

wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
Let’s Encryptの証明書取得

取得の前にAmazon Linux2で動かすには落としてきたcertbot-autoを修正する必要があります。Amazon Linuxで検索してその行を下記のように修正します。

elif [ -f /etc/system-release ] && grep -iq "Amazon Linux" /etc/system-release ; then
これでインストールが可能となります。–debugをつけて実行します。

./certbot-auto --debug
 色々とインストールされるので放置

./certbot-auto certonly
 standardを選べば証明書が入ります。

まとめ

まだ途中ですけど力尽きた^^;;

なぜCPUが跳ねた???最大10ぐらいまでいったけど・・・私なにかやらかした?

続きは次回^^;;