3月は、オカンが救急車で運ばれ、入院中に手術が連続であったり、この季節にやらなきゃならない漢字4文字の告があったりして、忙しかった。なので、大学のサーバの移行をガン無視状態になってしまった。先生たちは、今頃カンボジアのフリースクールで現地でパソコンを教えている最中。そこにタダでお泊まりできる権利もあるらしいが、次の転職のタイミングまで多分そんな時間は取れなさそう。さて、オカンがもし、来週無事退院ができると、居場所を実家に移すのだが、仕事環境が少し悪くなるかもしれない。なので、今週末は、大学のサーバの移行に充てることにした。間に合うのか俺w
大学で使うインスタンスは、めちゃ安のARMインスタンス。まぁ、今時、x86だろうが、ARMだろうがあまり影響はない。唯一影響が出そうなエントロピーは、学生は使っていないはずなので。
閑話休題
というわけで、以前も動かしたAWSのARMインスタンスを再度触ってみた。前回はほんとお触りだったのだが、今回はもう少し深く触ってみる。さて。。。安いインスタンスタイプは。。。とみていたら。
なんと、t4g.smallが2023年末まで無料やん。無料といっても720時間分。1インスタンスなら1ヶ月無料だった。
詳しくは以下に書いてある。
https://aws.amazon.com/ec2/faqs/#t4g-instances
しかし、以下に微妙な文言が
「T4g 無料トライアルプログラムの対象となる 750 時間中にインスタンスに割り当てられたクレジットを超えた場合、超過 CPU クレジットを支払わなければなりません。」
つまり、いい気になってバーストすると課金するぞぉという意味にも取れる。普段の仕事がレガシーインフラしか触っていないので、多分、常識な話なんだろうが、自分は知らなかった。いずれにせよ感覚的な発想ではなく、何かロジカルな課金があるのかと調べてみた。
平たく言うと、t系のインスタンスは、Standardとunlimitedの2つのモードがあって、unlimitedは、使っていないCPUリソースがあると残高としてバーストができる。残高が0になると課金が発生するということらしい。Standardは、残高0になっったらベースラインでしか動かない。
なので、Standardで使えば、追加課金はない。しかし、普通の利用ならunlimitedでも残高0になるようなことはないない?いや、予算や残高は使い切るどころか超過するのが世の常か。。。
ちなみに、こんな感じでコンソールにCPUクレジットが表示されている。
まぁ、Jumphost程度でしか使わないので、Standardで安心したいというのが本音。
アカウント毎にCPUクレジットのデフォルトモードが決まっていて、調べてみたら、t2以外は、unlimitedだった。
確認方法
aws ec2 get-default-credit-specification --region ap-northeast-1 --instance-family t4g
設定方法
aws ec2 modify-default-credit-specification --region ap-northeast-1 --instance-family t4g --cpu-credits standard
これで以後、生成されるt4gインスタンスは、デフォルトだとstandardになるはず。しかし、生成済みのインスタンスや、個別にインスタンスの設定を変えたい場合は、以下。
確認方法
aws ec2 describe-instance-credit-specifications --instance-id <Instance-ID>
設定方法
aws ec2 modify-instance-credit-specification --instance-credit-specification "InstanceId=<Instance-ID>,CpuCredits=unlimited"
t系のインスタンスって安いけど、ちゃんと理解して使わなければだめだなぁ。というわけで、ARMインスタンスでAmazon Linux 2023を動かしてみた。
とこれを書いていたらオカンの退院の目処がついたと連絡がきた。