Vapor Trail

明るく楽しく元気よく

AWS Developer Associate(DVA)を取った

きっかけ

3年前に取ったSAAの有効期限が切れそうだったのでAWSの知識のアップデートも兼ねて受験することにした。(※受験申込後にアソシエイトレベルの資格を取ったらSAAの有効期限も伸びると思ってたけど伸びないことが判明した)

SAAを受けたときも黒本で勉強して合格できたので、今年の2月に販売されたDVAの黒本を使用して勉強を始めた。

3年前に使用したSAAの黒本よりも2倍くらい分厚くなっていた。

ただこの黒本は章の終わりごとに練習問題があるのだがテンプレートの細かい書き方まで問題として出されたりして合わないなと感じて読むのをやめた。

こちらの本に変えた。若干古いがこれで十分だった。

受けた感想

KMS、Lambda、API Gatewayの問題が増えた気がするが出題傾向はSAAとあまり変わらない気がした(覚えてないけど)。
前回受験してから3年経っていたが根本的な部分はあまり変わってないと思う。
責任共有モデル、最小権限の原則、IAMロールを使用して権限を付与すること、冗長構成にすること、VPCとNAT、静的コンテンツはS3に置いてCloudfrontを通して配信すること、ElastiCacheの使いどころ、とかを理解していれば受かりそう。
720点以上合格で784点と割と合格ギリギリだったけど・・・。

普段の業務ではAWSをほとんど触らないので結構内容を忘れていたがセキュリティグループやACLの違いとかを思い出せてよかったしRDS Proxyとかキャッチアップできて良かった。ただAssumeRoleとかをきちんと設定できる自信はない。
dev.classmethod.jp

だいぶ前に一年に一つ資格取る目標立てたが去年はできなかった。今回DVAを取ったおかげで年末に1年を振り返ったときに少なくとも今年はAWSの知識を更新できたと思えることができるので良かったかなと思う。

xhprofを試す

xhprofを試してみた。php8.1でも動く。

導入

github.com

Dockerfileに追加

RUN git clone https://github.com/tideways/php-xhprof-extension.git \
    && cd php-xhprof-extension \
    && phpize \
    && ./configure \
    && make \
    && make install

php.iniに追加

extension = tideways_xhprof.so
xhprof.output_dir = /tmp/xhprof

phpinfoで確認

GUIツール

github.com

任意のphpファイルに処理を追記する

tideways_xhprof_enable(TIDEWAYS_XHPROF_FLAGS_MEMORY | TIDEWAYS_XHPROF_FLAGS_CPU);

~~~~

$xhprof_data = tideways_xhprof_disable();
include_once "/var/www/html/xhprof/xhprof_lib/utils/xhprof_lib.php";
include_once "/var/www/html/xhprof/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

アクセスすると/tmp/xhprofにファイルが生成される。

graphvizをインストールするとグラフでも見れる。

Laravelのpublic/index.phptideways_xhprof_enableを追記しても動くがグラフ化すると重い。

github.com

参考: speakerdeck.com