ぴよ丸水産

週末ファゴッティストによる技術ブログ

【AWS概要】EC2(概要、小ネタなど)

はじめに

EC2についての概要、小ネタをまとめました。
EC2って何ぞ?ってところと、
実際使っている中で感じたこととか、小ネタとか、
雑多に書いてます。

EC2とは?

正式名称は、Elastic Compute Cloud。
ぽちっとしたら、魔法のようにポン!って
仮想サーバが生成されるAWSのサービス。
と、理解してます。

ポイントはその柔軟性で、
載せるアプリケーションの規模や負荷に合わせて、
スペックや台数を変えられます。

もちろん、スペックが高いサーバを、多数起動したら、
それなりに費用がかさみますが、
必要な時だけ増強することができます。

テキストの言葉を借りると、
最小の投資で最大の効果を得ることができる
とのことです。

メモリが足りない!時の対処

一度作成したEC2インスタンスを使ってて、
GitLabコンテナを起動すると、
502-Whoops, GitLab is taking too much time to respond
とか、出てきて、「くそぅ、メモリが足りぬ」ってなります。
※502の原因が必ずしもメモリが原因ってわけではありませんが。

そんな時は、
一度EC2インスタンスを停止して、
インスタンスタイプの変更で簡単にメモリ増強できます。

なんか、洋服みたいですね。
太ってきたら、
大きいサイズに着替えればよいんです!

私が使用しているのは、EBSインスタンスのため、
何も意識してませんでしたが、
テキストによると、
Instance Store-Backedインスタンスの場合、
そう簡単にいかないみたいです。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-resize.html#resize-instance-store-backed-instancedocs.aws.amazon.com


イメージ作って、
新しいインスタンスタイプを指定して起動するみたいです。

ディスクが足りない!時の対処

EC2インスタンスで、
かなり大きめのファイルを扱うことがあり、
今度はディスクが悲鳴を上げました。

df -hで確認すると、使用率ほぼ100%…
この記事を参考に、
EBSボリュームを拡張しました!

dev.classmethod.jp

以前は、AMI作って、ボリューム増強して、
新しインスタンスとして起動する。
という手順を踏んでいたようですが。

なんと、インスタンスを停止せずに、
ボリューム増強ができるみたいです。

SELinux小ネタ

SELinuxは、
Linuxカーネルに強制アクセス制御機能を付加するモジュールです。
有効にすると、サービス毎に与えるアクセス権限を制御したり、
繊細なことができるみたいです。

個人的には、なんかうまくいかないことがあると、
おまえかぁ!ってなるので、あんまり好きじゃないです。

Amazon Linuxでは、デフォルトで無効になってるみたいです。
これを有効にするってなると、
CentOSと同じように、
安直ですが、/etc/selinux/configをEnforcingにして、
再起動したら、
EC2インスタンスが帰らぬ人となりました。

blue-38.hatenablog.com

これではまってた時に、 適当なEC2インスタンスで、SELinux有効にして、
動作確認してみようと思った時に発覚しました。

先にこの記事を読めばよかったぁ。
機会があれば、試してみます。

qiita.com

まとめ

Amazon Linuxはなんか、CentOSになれてるからか、
たまに、同じ感覚で触ってると、「ほ?」ってなります。
セキュリティグループの概念とかもそうですね。
firewall-cmdたたいたら、「ほ?」ってなりました。

参考書籍

Amazon Web Services 実践入門 (著:舘岡守、今井智明、永淵恭子、間瀬哲也、三浦悟、柳瀬任章)
https://af.moshimo.com/af/c/click?a_id=1120360&p_id=170&pc_id=185&pl_id=4062&s_v=b5Rz2P0601xu&url=https%3A%2F%2Fwww.amazon.co.jp%2Fexec%2Fobidos%2FASIN%2F4774176737%2Fref%3Dnosim f:id:blue-38:20190923113931j:plain

シリーズアーカイブ

blue-38.hatenablog.com

blue-38.hatenablog.com