CloudFormationで自動化する際の過程メモ(Amazon Linux)

Cloudformationでphpの実行環境を自動化しようと適当にネットから引っ張った情報で試行錯誤している。 一応EC2が立上るとこまでは自動化できているけどUserDataいれるところでうまくいっていない(phpがうまく入っていないようにみえる)

UserDataでセットしたコマンドをsshで入って直たたきしてみたけれどエラーになる (クラウドのインフラに対するデバッグのアプローチってこんなんでいいのだろうか)。

かつてはこれで入れられたのかもしれないけど情報古くなって入れられられなくなってしまったのか。 こういうのってどのように運用というか付き合っていけばいいのだろう。

あとネットで調べると結構php導入する際にいろいろな手段が出てくるけどベターなのがどれかよくわからない。 と探していたらAmazon Linux Extrasとかいうのを使えば手軽に入れられるっぽい。

Amazon Linux Extrasで楽々パッケージ管理 - 株式会社ネディア │ネットワークの明日を創る。

そう思ってコマンド叩いたらコマンドがないよと怒られる

docs.aws.amazon.com

注記 sudo: amazon-linux-extras: command not found というエラーが表示された場合、インスタンスAmazon Linux 2 AMI で起動されていません (おそらく、代わりに Amazon Linux AMI を使用しています)。次のコマンドを使用して、Amazon Linux のバージョンを表示できます。

叩いてみたらたしかにインスタンスが異なるっぽい

cat /etc/system-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)

短絡的にじゃあAmazon Linuxがいいかなと思って少し調べたところ

[AWS]新設サーバーはAmazon Linux,CentOS,Ubuntuのどれが良いか考える │ TEAM T3A

個人用や手軽に検証したいときは、利便性を考えて「Amazon Linux 2」を利用する。 仕事用サーバー、特に長期運用を想定する必要があるサーバーは「Centos」か「Ubuntu」の LTS 版を利用することをおすすめします。

Amazon Linux と CentOS の違い | 大きなメリットとデメリットを理解する

Amazon LinuxAWSとの連携に便利なコマンドがあるけどRedHatCentOS用のパッケージが使用できない可能性がある。 これは長期的に運用してたら思わぬところで嵌りそうな匂いがする

また適当にAmazon Linuxとか言ってたけど

Amazon LinuxRedHat 6がベース。 AMazon Linux 2は RedHat 7がベースとなります。

との差があるみたいなので意識しないといけない。

ただ一旦Amazon Linux 2の恩恵を感じたいのでそちらで試したいと思う