php_modが非推奨になったのね

昔のバージョンのphp環境でphpバージョンを上げるという対応中。 apache + PHP8のインスタンスを構築してドキュメントルートまで到達を確認。 対応する人にドキュメントルートまで到達するからプロジェクトのファイルを置いてバージョンアップのエラーを確認してもらうため依頼しましたが HTTP 503 Service Unavailable のエラーが出ているとのこと。 HTMLファイルはアクセスできているからPHPの実行ができていないと思い調べると Apache HTTP サーバーで使用するために PHP に提供されている mod_php モジュールが非推奨になりました。 php-fpmをインストールして起動し、リクエストを流してphp-fmpでphpを実行するようにして解決。 しばらくPHPを触っていなかったのでモジュールが非推奨になったことに気づかずでした。

aws copilotを試しに使う⑤ 〜エラーの確認をして思ったこと

前回前々回でcopilotの実行awsユーザーの権限が最適なものを模索していて断念ということになったんですが、目的はクリアできませんでしたがわかったことがいくつかあって、今回はそれを記載したいと思います。

copilot実行時のエラーの確認について

コンソールから実行時に権限不足とかで

% copilot app init
Your workspace is registered to application demo.
✘ Failed to create the infrastructure to manage services under application demo.

✘ wait until stack demo-infrastructure-roles create is complete: ResourceNotReady: failed waiting for successful resource state

API: iam:GetRole User: arn:aws:iam::**********:user/copilot-user is not authorized to perform: iam:GetRole on resource: role demo-adminrole because no identity-based policy allows the iam:GetRole action

こんな感じ出るんでiam:GetRoleが必要なんだなと追加していけるんですがコンソールに明確に出ない場合もあり(リソースを削除できなかったというようなだけのエラー)、その場合はCloudFormationよりスタックの詳細で何のイベントで失敗しているのかを調べて、削除に必要な権限などを付与していました。

copilot cli のアップデートでの変更

私がcopilotに触れはじめたのが4月頃なのですが、その当時はcopilot initを実行すると以下ができました。

copilot ディレクトリ
copilot/.workspace
copilot/demo ディレクトリ(アプリケーション名のディレクトリ)
copilot/demo/manifest.yaml

という構成だったのですが、

copilot ディレクトリ
copilot/.workspace
copilot/environments ディレクトリ
copilot/environments/test ディレクトリ(作成した環境名のディレクトリ)
copilot/environments/test/manifest.yml
copilot/demo ディレクトリ(アプリケーション名のディレクトリ)
copilot/demo/manifest.yml

という構成が作成されるように変更されたようです。
git hubの履歴を見る限り3日前?
copilot env initではmanifest.ymlの作成になり、環境も削除せずに更新できるようになったみたいです。
ディレクトリ構成と新しい階層のマニフェストに少し混乱しました。

こんなエラーも。。。

Resource handler returned message: "The runtime parameter of nodejs10.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs16.x) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: ******)" (RequestToken: ******, HandlerErrorCode: InvalidRequest)

copilot cliのアップデートによるものかわかりませんが、こんなエラーも出ました。。
これは、copilot cliのアップデートとxcodeのアップデート(copilot cliアップデートの際にxcodeのバージョンも警告のようなものが出ていたためアップデートしました。)、docker desktopのアップデート、ついでにmacOSもアップデートしました。

copilot v1.20.0
macOS Monterey 12.5
xcode 13.4.1
docker for desktop 4.10.1

これで再び実行したところエラーは出なくなりました。
原因がもろもろのバージョンかはわかりませんが、lambdaのfunctionなんて作って利用しているわけではないし、私側の原因とするとアップデートする以外思いつかなかったので試した感じです。

copilotの実行はできるようになったので、いよいよECSを使って環境の構築をしていきたいと思います。

コメント

このブログの人気の投稿

nginxで画像が表示されない。。

AWSのS3バケットをマウントするs3fsでマウントが外れた件

CakePHP3でHTTPSにする