EC2 Maintenance

表題の件について。

■ 環境

  • Amazon EC2

■ mail

下記の件名のメールが届いていた。

Amazon EC2 Maintenance - Maintenance [AWS Account: XXXXXXXXXXXX]

使用しているインスタンスでメンテナンスがあるようだ。1インスタンスのみであったし、対象は別に再起動されても問題のないものであったのだが、先に自身で再起動してしまうことにした。

対象のインスタンスで`reboot`コマンドで実施した。

再起動後にManagementConsoleから確認したが、「予定されているイベントが1件あります」は変わらず。下記を参照した。

Amazon EC2のメンテナンスのヘルプページ
https://aws.amazon.com/jp/maintenance-help/

上記によると、再起動後にManagementConsoleに反映するのに1時間ほど掛かるようである。よってしばし待つ。

と思って1時間ほど待っていたのだが、反映されず…。はて?と思っていると下記に気がついた。

インスタンスの予定されたイベント
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html?icmpid=docs_ec2_console#schedevents_actions_reboot

確認してみると今回通知が来ているのは”system-reboot“の方であった。「予定されたメンテナンス期間中にシステムの再起動が実行されるまで待つことをお勧めします。」とのことなので放置することにした。

以上。

AmazonLinuxでJSTに固定

AmazonLinuxにおいて表題の通り。”glibc“のパッケージを”update“した際に”JST“にしておいた時間が”UTC“に戻ってしまっていた。

■ 環境

  • Amazon Linux

■ /etc/localtime

/etc/localtime“はいつも変更をしている。

$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime

これで”JST“に変わったと満足してしばらく放置してしまうことが多々ある。前述の通り”glibc“のパッケージを”update“した際に再度”UTC”に戻ってしまうという現象が発生する。

■ /etc/sysconfig/clock

このファイルも下記のように変更する。

$ cat /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=true
$

後はおとなしく次の”update“を待つべし。

以上。

特定のpathにIP制限をかける

httpdにおいて表題の通り。

■ 環境

  • Apache httpd 2.4.25
  • AmazonLinux

■ IP制限

アクセス元のIPを下記のように制限することができる。

<Directory /var/www/html/www.example.com/path1>
  Order Deny,Allow
  Allow from XXX.XXX.XXX.XX1
  Allow from XXX.XXX.XXX.XX2
  Allow from XXX.XXX.XXX.XX3
  Deny from all
</Directory>

上記設定では、3つのIP以外からのアクセスは”403“のステータスが返される。

ちょっとしたものを置いておくけど、関係ない人には見せたくない時に便利である。

以上。

NameVirtualHostはもういらない

httpdにおいて表題の通り。久しぶりに設定をしたら怒られた。

■ 環境

  • Apache httpd 2.4.25
  • Amazon Linux

■ NameVirtualHost

core – Apache HTTP version 2.4
http://httpd.apache.org/docs/current/ja/mod/core.html#namevirtualhost

ここにもちゃんと”NameVirtualHost“が書かれているのだが、実際に書き加えて`configtest`をしてみると下記のようなメッセージが表示された。

$ sudo service httpd configtest
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/www.example.com.conf:8
Syntax OK
$

次のリリースでは削除されるのか。ドキュメントにも書いておいてくれれば良いのにと思う。

このメッセージの通り”NameVirtualHost“は削除し再起動したが、設定通りに名前ベースのVirtualHostが効いている。

以上。

ELBのヘルスチェックをログに記載しない (Apache)

表題の通り。以前はnginxでの方法を書いていたが今回はapacheである。

■ 環境

  • Apache httpd 2.4.25
  • Amazon Linux

■ httpd.conf

下記を追記した。

SetEnvIf User-Agent "ELB-HealthChecker/2\.0" nolog

また”CustomLog“ディレクティブで下記のように編集した。

CustomLog "logs/www.example.com/access.log" combined env=!nolog

これでELBのヘルスチェックログが出力されないようになった。

以上。

■ 関連

ELBのヘルスチェックログを出力しない