LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

AWS C4インスタンスからC5インスタンスへ移行しました

Webエンジニアの森脇です。

先日、EC2のC5インスタンスが東京リージョンでも利用可能になりました。早速、LCLで利用しているc4.largeのWebアプリケーションサーバを、c5.largeへ移行しました。

C5インタンスとは

コンピューティング最適化タイプの第5世代です。第4世代のC4と比較して、新しい世代のCPUが搭載され、ネットワーク帯域幅の拡張など性能アップが行われています。

aws.amazon.com

料金については、c4より20%弱安くなっています(東京リージョンでの比較)。

vCPU ECU メモリ(GiB) Linux/UNIX 料金
c5.large 2 8 4 $0.107 /1 時間
c5.xlarge 4 16 8 $0.214 /1 時間
c5.2xlarge 8 31 16 $0.428 /1 時間
c5.4xlarge 16 62 32 $0.856 /1 時間
c5.9xlarge 36 139 72 $1.926 /1 時間
c4.large 2 8 3.75 $0.126 /1 時間
c4.xlarge 4 16 7.5 $0.252 /1 時間
c4.2xlarge 8 31 15 $0.504 /1 時間
c4.4xlarge 16 62 30 $1.008 /1 時間
c4.8xlarge 36 132 60 $2.016 /1 時間

移行時の注意点

C4系からC5系に移行するにあたり、既存インタンスに対して変更が必要な場合があります。

ENAの有効化

C5系インタンスを利用するには、Elastic Network Adapter (ENA)を有効にする必要があります。

docs.aws.amazon.com

古い世代のAMIを利用している場合は、ENAを有効化する必要があります。有効化の際にはEC2インスタンスの停止が必要がありますが、以下の記事を参考にさせていただき簡単にできました。

dev.classmethod.jp

カーネルの最新化

カーネルが古い場合は、C5へインスタンスタイプを変更すると、EC2が起動しませんでした。カーネルを最新へアップデートすることで、起動できるようになりました。

ap-northeast-1cは利用不可 ( 2018/04/25 で利用可能になりました)

2018/04/22現在では、ap-northeast-1cでは利用できません。インスタンス起動時に以下のエラーが発生してしまいます。 ( 2018/04/25 で利用可能になりました)

f:id:lcl-engineer:20180423141114p:plain

C4インスタンスとの比較

Railsのアプリケーションサーバの数台の中で1台のみを、c4.largeからc5.largeへ移行しました。

マカレルでc4.largeとc5.largeのインスタンスのloadavgを比較したところ、2割ほどc5.largeのほうが平均して低くなるという結果になりました。 loadavg等の改善が見込めるかは、インスタンス上で可動させるアプリケーションの種類にもよると思いますが、サーバとしてのベース性能は上がっていると判断できます。

f:id:lcl-engineer:20180423141138p:plain

まとめ

C5インタンスは、C4インスタンスと比較して性能は向上しており、料金は下がっています。 リザーブドインスタンスの縛りがなければ、積極的に変更したほうがよいと考えております。LCLもap-northeast-1cで利用可能になった際は、随時切り替えていきたいと思います。