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 日まで長期サポートを受けることができます。
Q: 既存バージョンの Amazon Linux AMI から Amazon Linux 2 へのインプレースアップグレードを実行できますか?
いいえ。既存バージョンの Amazon Linux から Amazon Linux 2 へのインプレースアップグレードはサポートされていません。アプリケーションの移行前に、新しくインストールした Amazon Linux 2 でテストすることをお勧めします。
これって再構築いうこと・・・
このblogさいとはEFSとかRDSを利用しているのでデータの移行は実施しなくても大丈夫なんだけど、色々とめんどくさい
このサーバで動いているのはh2o+phpなので再構築の時間はそんなにかからないかと思います。
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
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ぐらいまでいったけど・・・私なにかやらかした?
続きは次回^^;;