dev-resources.site
for different kinds of informations.
AWS Fargateを利用した時刻固定したシステムテストの方法について
Published at
5/1/2024
Categories
fargate
faketime
japanese
Author
matyuda
Author
7 person written this
matyuda
open
この記事は先日英語版で投稿したHow to system test with fixed time on Fargateの日本語訳です。
AWS Fargateでの時刻を固定したシステムテストをどのように実現していますか?
aws ecs execute-command
を使用してコンテナにログインし、dateコマンドを使用して時刻を変更しようとしても、AWS Fargateでは特権コンテナがサポートされていないため、次のエラーが発生して変更することができません。
date: cannot set date: Operation not permitted
ところが、libfaketime を使用するとシステム時刻を調整することができます。
バージョンは古いですが、Keycloak 19.0.2のイメージで検証したDockerfileを以下に示します。
FROM quay.io/keycloak/keycloak:19.0.2 AS builder
USER root
RUN microdnf install -y git make gcc
RUN git clone https://github.com/wolfcw/libfaketime.git
WORKDIR /libfaketime/src
RUN make install
ENV LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1
ENV FAKETIME="2025-04-24 10:30:00"
RUN date
WORKDIR /opt/keycloak
ENTRYPOINT [ "/opt/keycloak/bin/kc.sh" ]
上記で作成されたイメージから実行されたコンテナに以下のように入ってdateコマンドを実行すると、FAKETIME変数で指定した値が固定されていることがわかります。
% aws ecs execute-command --cluster _clustername_ --task _taskID_ --interactive --command "/bin/bash"
The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.
Starting session with SessionId: ecs-execute-command-xxxxxxxxx
[root@ip-NNN-NNN-NNN-NNN keycloak]# date
Thu Apr 24 10:30:00 UTC 2025
ぜひ試してみてください。
japanese Article's
30 articles in total
re:Invent 2023に参加してから1年たってみて
read article
re:Invent 2023 day1
read article
IIS環境でのパス制御を考える
read article
ホストベースルーティングを活用してALBを集約した際のデメリットを検討する
read article
AWS Summit Japan 2024体験記
read article
AWS Step Functionsに入門する
read article
AWS Community Buildersになって変わったこと
read article
GenAI Use Cases JPを試してみた
read article
RDS for MySQLでスロークエリログの出力を有効化する
read article
AWS Fargateを利用した時刻固定したシステムテストの方法について
currently reading
ランブックを活用したWindows Serverインプレースアップグレードのススメ
read article
DocumentDBでマルチバイト検索を実現する場合の留意事項について
read article
JAWS DAYS 2024参加体験記
read article
OCR + SwiftUI + Japanese. Quite a training project! 😅
read article
Lambdaで.NET 7のカスタムランタイムを実行する
read article
$0.005 per In-use public IPv4 address per hour の明細が高額になる場合の対応を考える
read article
Ryuu - a Japanese dragon
read article
事務局長を2年やってみて感じたこと
read article
Mechanically Detecting Accessibility Violations
read article
Hello back! Sharing some projects
read article
Making Font Loading More Efficient with React Content Font
read article
How to Avoid Japanese Characters in Your Code!
read article
AI 基礎 Part 00 -- stable-diffusion / ChilloutMix を使って日本人美女の画像を作る
read article
Next 基礎 Part 02 -- axios で API を叩けるようにする。No 'Access-Control-Allow-Origin' エラーの解決。
read article
Next 基礎 Part 01 -- プロジェクト作成
read article
AWS 基礎 Part 0 -- EC2 などの AWS サービスと用途の整理
read article
Android 基礎 -- Part 00 Android Studio のインストールと Hello World
read article
Web エンジニアリング基礎 -- Part02 TS のメリットとブラウザのレンダリング詳細
read article
Web エンジニアリング基礎 -- Part01 同期 or 非同期の処理のコールスタックとタスクキュー
read article
Ubuntu Settings -- US キーで Mac のように ctrl space の英かな切り替えと ctrl h などでの削除ができるようにする。
read article
Featured ones: