[AWS] EC2-Classicの利用状況を確認する

予てから案内されているが、EC2-Classicのサービスが2022年8月15日を以って終了するとのこと。

EC2-Classic Networking は販売終了になります — 準備方法はこちら | Amazon Web Services ブログ
https://aws.amazon.com/jp/blogs/news/ec2-classic-is-retiring-heres-how-to-prepare/

現在主流となっているAmazon VPC (Virtual Private Cloud) がスタートしたのが2009年。それ以前は、2006年のAWSサービス開始当初から、1つのフラットなネットワークを他のユーザと共用する形のサービスが提供されていた。VPCに対してEC2-Classicと呼ばれるそれがほどなく終了するということで、EC2-Classicが有効なアカウントに向けて、まだEC2-Classicのサービスを使っているならお急ぎVPCへ移行してくださいね、といった感じのアナウンスが熱心に行われている。

EC2-Classicのリソースを使っているか確認する方法

自分はEC2-Classicのリソースを使っていないはずだと思っていても、もしかして見落としているかもしれない。それを確かめるためのシェルスクリプトが公開されているので、実行して確認してみるのが間違いないだろう。

GitHub – aws-samples/ec2-classic-resource-finder
https://github.com/aws-samples/ec2-classic-resource-finder

実行したディレクトリ直下にいくつかのCSVファイルが作成される。それぞれのCSVファイルには、サービスごとに使われているEC2-Classicリソースがリストされたり、EC2-Classicリソースの実行が可能なリージョンがリストされたりするので、ファイルを1つずつ開いて内容を確認すること。

[WordPress] wlwmanifest.xmlは何のため?

最近、WordPressサイトを訪れるcrawlerの中に、wlwmanifest.xmlというファイルを探すものがちらほら見受けられるようになった。

wlwmanifest.xmlってなんだ?

Windows Live Writerマニフェストファイルだそうだ。Windows Live Writerを使ってWordPressサイトが更新できるようになるらしいが、自分にとっては必要が無い。このファイルがあるおかげで無駄なアクセスが増えるので、いっそのこと消してしまおうかと思わないでもない。

参考サイト

wlwmanifest_link() | Function | WordPress Developer Resources
https://developer.wordpress.org/reference/functions/wlwmanifest_link/

wlwmanifest.xml file | WordPress.org
https://wordpress.org/support/topic/wlwmanifest-xml-file/

[Windows] Windows 11 アップデート可否チェック

10月5日からWindows 11の配布が開始されるらしい。

【10/5 提供開始】Windows 11の登場で、どうなるどうするWindows 10 – @IT
https://atmarkit.itmedia.co.jp/ait/articles/2109/09/news021.html

Windows 10からのアップグレードには様々なハードウェア要件があるらしい。自分の常用PCがその要件を満たしているか、Windows Insider Preview PC Health Check Application なるソフトを使って確認してみる。

Windows Insider Preview PC Health Check Application
https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewpchealth

常用PCで動いているWindows 10は64ビット版なので、[64-bit Download] のリンクからインストーラをダウンロードする。

ダウンロードしたインストーラを実行してPC Health Checkをインストールする。

インストールしたPC Health Checkを実行する。

[Check now]ボタンをクリックしてチェック開始。

ほどなく結果が表示される。自分の常用PCはWindows 11アップグレードの条件を満たしているようだ。

[See all results]ボタンをクリックすると、以下のような要件一覧が表示された。

  • This PC supports Secure Boot.
  • TPM 2.0 enabled on this PC.
    TPM: TPM2.0
  • The processor is supported for Windows 11.
    Processor: Intel Core i7-8550U CPU @ 1.80GHz
  • There is at least 4 GB of system memory (RAM).
    System memory: 16 GB
  • The system disk is 64 GB or larger.
    System storage: 500 GB
  • The processor has two or more cores.
    Processor cores: 4
  • The processor clock speed is 1 GHz of faster.
    Clock speed 2 GHz

購入して3年経過したPCだけど、まだ買い替えずに済みそう。

[Windows] WSL2をシャットダウンする方法

WSL2で立ち上げてUbuntu 20.04 LTSを再起動したくて以下コマンド叩く。

ダメだった。どうしたらいいのかググってみると、WSL2の画面ではなく、コマンドプロンプトからコマンドを実行する必要があるらしい。

というわけで、コマンドプロンプト開いてwslコマンドのヘルプを見る。

シャットダウンは –shutdown オプションを付ければ良いらしい。

とりあえずシャットダウンだけ覚えておけば良かろう。再起動は、シャットダウンしてから再びUbuntu 20.04 LTS起動すれば済むし。

参考サイト

WSL:WSL2でディストリビューションを再起動する方法 | もためも
https://motamemo.com/wsl/wsl-tips/wsl-terminate/

[Laravel] Class ‘DOMDocument’ not found 対処法

OSSのCMSを試していたら以下のエラーに直面したので覚え書き。

足りないPHPモジュールを追加して

Apacheを再起動したら直った。

参考サイト

php – Class ‘DOMDocument’ not found – Stack Overflow
https://stackoverflow.com/questions/14395239/class-domdocument-not-found

[Unix] シェルで日本語の表示・コピペを可能にする

自分はサーバーにシェルでログインして、vimでファイルを開いて日本語を直で入力するなんてことはしない。どうしても日本語をいじりたい場合には、ローカルマシンの使い慣れたIMEで入力した日本語をシェルの画面上でコピペする。

だけど、もし日本語をコピペすると壊れた文字が入るような場合には、ターミナルの環境変数を変更する以下の通り必要あり。

参考サイト

CentOS7・日本語の文字化け
http://www.ajisaba.net/linux/centos7/character_corruption.html

[WordPress] アップデート時にFTP情報を求められる場合の対処法

まずはファイルのパーミッションの確認。Webブラウザ経由でファイルを更新するので、Webブラウザの実行ユーザがファイルを更新できなければならない。

パーミッションに問題が無ければ、wp-config.phpの末尾に以下の行を追加すれば解決する、たぶん。

参考サイト

Editing wp-config.php | WordPress.org
https://wordpress.org/support/article/editing-wp-config-php/

[WordPress] xmlrpc.phpは何をしているのか

仕事柄毎日一定時間以上はアクセスログを眺めているが、WordPressサイトで攻撃を受けやすいファイルの1つにxmlrpc.phpがある。このファイルはどんな機能を担っているのだろうか。今更ながら予備知識を入れておく。

xmlrpc.phpの役割

その名の通り、XML-RPC経由でAPIを提供している。XML-RPCは、エンコードにXML形式、転送にHTTPを採用した、RPC (Remote Procedure Call)のプロトコル。XML-RPCのプロトコルでxmlrpc.phpを叩くことでAPIをコールすることができる。

具体的にどんなAPIが提供されているかは、公式サイトに説明ページがある。WordPress独自のAPIに加えて、他ブログシステムのAPIもサポートしているようだ。

XML-RPC WordPress API « WordPress Codex
https://codex.wordpress.org/XML-RPC_WordPress_API

xmlrpc.phpは必要か?

自分のサイトには必要無し。だって、外部からサイトを操作したりデータを取得することはないから。

というわけでブロックしとく

[AWS] EC2/CWAgentでカスタムメトリックスを収集する

CloudWatchで参照できるEC2のメトリックスには、メモリ使用量やボリュームの空き容量など、自分が欲しい情報が含まれていない。これらは、対象のEC2インスタンスでCloudWatchエージェントを実行して、カスタムメトリックスとして取得しなければならない。

以下、CloudWatchエージェントのセットアップの覚え書き。

CloudWatchエージェントのインストール

CloudWatchエージェント設定ファイルの作成

AWS CloudWatch Agent Configuration Managerを使って対話的に作成することができるが、

JSON形式の書式が分かっていれば、エディタで作成することも可能だ。

IAMロールの作成

IAM Management Console

  • Roles
  • [Create role]
  • Select type of trusted entity: AWS service
  • Choose a use case: EC2
  • [Next: Permissions]
  • [*] CloudWatchAgentServerPolicy
  • [Next: Tags]
  • Add tags (optional):
  • [Next: Review]
  • Review
  • Role name: CloudWatchAgentServerRole
  • Role description:
  • Trusted entities: – AWS service: ec2.amazonaws.com
  • Policies: CloudWatchAgentServerPolicy
  • Permissions boundary: Permissions boundary is not set
  • [Create role]

EC2へのIAMロールのアタッチ

EC2 Instances

  • 対象のEC2インスタンスを選択
  • Actions>Security>Modify IAM role
  • IAM role: CloudWatchAgentServerRole
  • [Save]

CloudWatchエージェントの起動

実行されているか確認

これでClouwWatchエージェントは稼働するようになったので、CloudWatchにメトリックスが送られてきているか確認する。

CloudWatch

  • Metrics>All metrics
  • Custom Namespaces
  • CWAgent

参考サイト

CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスとログを収集するhttps://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html

CloudWatch エージェントにより収集されるメトリクス
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html

新しいCloudWatch AgentでEC2インスタンスのメモリ使用率を監視する – Qiita
https://qiita.com/hayao_k/items/d983177510b3b3a69561

[ソフト] PostmanからWSL2内のサーバーにアクセスできない

WSL2のUbuntu 20.04 LTSでLAMP環境を作ってウェブアプリケーションをセットアップ。Windowsのブラウザからのアクセスは問題ないけど、Postmanからアクセスすると Error: connect ECONNREFUSED 127.0.0.1:80 のエラーとなる。

散々自分の環境を疑ったけど原因と思しき点は見つからず。

Postmanのコミュニティにあたったら、既に報告されていた。

Error: connect ECONNREFUSED 127.0.0.1:443 – Just getting started – Postman
https://community.postman.com/t/error-connect-econnrefused-127-0-0-1-443/18698

Issueも立っていたので、近い将来解決されることを期待したい。

WSL2, Error: connect ECONNREFUSED 127.0.0.1:80 with Postman, however cUrl returns HTTP200 · Issue #9981 · postmanlabs/postman-app-support · GitHub
https://github.com/postmanlabs/postman-app-support/issues/9981