tech.guitarrapc.cóm

Technical updates

AWS

CloudFrontでオリジンを書き換えるのにCloudFront Functionsを使う

AWS

これまではCloudFrontでオリジンを書き換えにLambda@Edgeを利用していましたが、CloudFront JavaScript runtime 2.0以降はCloudFront Functionsでもオリジンの書き換えが可能になりました。 今回は、CloudFront Functionsを利用してオリジンを書き換えるのが…

Amazon EFSのファイルコンテンツをS3にバックアップする

Amazon EFSといえば、ECS/EKS/EC2問わず複数マシンで単一ボリュームを参照できて非常に便利です。 EFS自身はAWS Backupでバックアップできるのですが、EFSの中身を直接見ることは出来ず不便なことも多いでしょう。 今回は、EFSの中身をS3にバックアップする…

AWSメトリクスをDatadogへ送信する方法と注意

AWS

以前の記事の通り、Datadogを使っていてAWSメトリクスを取得するには方法は2つあります。今回はしばらくAWS CloudWatch Metric Stream方式を運用した結果、それぞれの方法を改めて評価し直しました。合わせて公式ドキュメントにないコスト的な課題についても…

AWS IAM Identity CenterをTerraformで構成する

前回はPulumiを使ってAWS IAM Access Identityを構成しました。 Terraformで同じことをやってみましょう。 どのような構成にするのか TerraformでAWS IAM Access Identityを構成する まとめ 参考 どのような構成にするのか 全体構成は前回と同様です。Terraf…

AWS IAM Identity CenterをPulumiで構成する

AWS IAM Identity CenterをTerraformで構成するときはaws-ia/terraform-aws-iam-identity-centerが便利です。 同様にPulumiでも構成してみましょうという回です。 どのような構成にするのか グループと権限セットはアカウントごとに分ける 管理アカウントで…

AWS SSOで取得した一時認証をC#で利用する

IAM Userを利用してC#からAWSのリソースにアクセスする場合、AccessKeyやAccessSecretKeyを直接利用して認証します。AWS IAM Identity Center(旧AWS SSO)でも同様にAccessKeyやAccessSecretKeyを取得して利用できますが、SSOログインした一時認証情報を取得…

AWS CLIの認証情報をWSLとWindowsで共有する

前々からWindowsとWSL2 Ubuntuのどちらかで認証すればどちらでも使えるようにしていたのですが、ここ最近アップデートしたのでメモです。 AWS CLIの認証情報の保存場所 構成 Ansibleで構成と自動化 シンボリックリンクの対象で制御を分ける まとめ 参考 AWS …

AWS BudgetのAuto-adjustingが便利

AWSの予算管理といえばAWS Budgetですが、予算作成方法にAuto-adjustingがあります。これを用いると、過去の利用実績やトレンドを考慮して予算を自動調整してくれます。 今回はそんなAuto-adjustingが便利という話です。 AWS Budgetの予算タイプ Fixed予算の…

Amazon EKS Auto Modeを使っていく

2024/12/1にre:InventでEKS Auto Modeが発表されました。AWSとしては、EKS Auto Modeを今後EKSを構築する時のスタンダードにしていきたいんだろうなと感じます。ただ、Auto ModeはEKSアドオンやKarpenterをはじめ、組み込みコンポーネントが隠蔽されており違…

PulumiでAWSリソースのデフォルトタグを設定する

TerraformでAWSリソースを作成するときの定番がデフォルトタグです。Pulumiでもデフォルトタグを設定できるようになったのでメモです。 デフォルトタグは便利というレベルじゃない Pulumiのデフォルトタグはこれまで面倒だった Pulumiのスタックコンフィグで…

DatadogへのCloudWatch Metric Streamを使ったメトリクス送信をPulumi C#で書く

前回の記事でDatadogにCloudWatch Metric Streamを使ってメトリクスを送信するCloudFormation StackをPulumi/Terraformから呼び出す方法を書きました。今回は、CloudFormation StackでやっていることをPulumi C#にポートします。 なぜポートするのか Pulumi …

AWS CloudWatch Metric Streamを使ったDatadogメトリクス送信とPulumiやTerraformからのCloudFormation Stack呼び出し

DatadogはAWSのCloudWatchメトリクスの取り込みをPull方式とPush方式の両方サポートしています。いわゆるDatadog AWS IntegrationはPull方式でCloudWatchメトリクスを10分程度のレイテンシーで取り込みます。一方で、AWS CloudWatch Metric StreamはPush方式…

TertraformでStorage LensをFree metricsで展開する

S3のStorage LensはFree metricsだけでも割と便利なので、Terraformで展開したくなるのですがやったことなかったのでメモです。 うっかり展開するとすぐにAdvanced metricsが有効になるので罠っぽさありました。 Storage LensをFree metricsで展開する 失敗…

StackExchange.RedisでRedisフェイルオーバー時に追随する

C#のRedisクライアントライブラリといえばStackExchange.Redisが定番です。StackExchange.Redisを使っていて困るあるある筆頭は「デフォルト設定ではRedisのフェイルオーバーに追随しないこと」ではないでしょうか。今回は、ElastiCache for RedisやMemoryDB…

Route53からCloudFlareにDNS管理を移行する

2023年にAWS Route53からCloudFlareにドメインを移管していたのですが記事にしていませんでした。今回はその過程でやった、DNS管理をCloudFlareに移管する1流れの紹介です。当時の内容なので、今と画面が違ってもご容赦ください。 なぜCloudFlareのDNS管理を…

GitHub Actionsでconfigure-aws-credentialsを使ったOIDCではまったこと

GitHub ActionsのOpenID ConnectorとAWSのOIDC Providerを使うことで、IAM RoleをAssumeできるというのは前回書きました。 https://tech.guitarrapc.com/entry/2021/11/05/025150 構築中によく出るエラーに関しても書いたのですが、いざ実際に使おうとしたら…

GitHub ActionsがOpenId Connectに対応したのでAWS OIDC Providerと連携する

GitHub ActionsでOpenID Connectを経由して各種Cloud Providerの認証を得る機能のがGAしました。 めでたい。 https://github.blog/changelog/2021-10-27-GitHub-actions-secure-cloud-deployments-with-openid-connect/ これにより、aws-actions/configure-a…

AWS Secret Managerを使ってASP.NET Coreのシークレット情報を扱う

.NET CoreでAWSにおいて機微情報を扱うときに、AWS Secret ManagerやSystem ManagerのParameter Storeが候補に上がります。 ここでは、Secret Managerを使ったASP.NET Coreでの組み込みについて書いておきます。 概要 AWS Secret の選択 AWS SecretManager …

Serverless Conf Tokyo 2018に来ている記事7 - Serverworks Session

毎年参加しているServerless Conf Tokyoです。3回目になります。 集中力の限界なので、ここで終わりです。 http://tokyo.serverlessconf.io/ 他のセッション http://tech.guitarrapc.com/entry/2018/09/29/110107 http://tech.guitarrapc.com/entry/2018/09/…

Serverless Conf Tokyo 2018に来ている記事6 - Epsagon Session

毎年参加しているServerless Conf Tokyoです。3回目になります。 http://tokyo.serverlessconf.io/ 他のセッション http://tech.guitarrapc.com/entry/2018/09/29/110107 http://tech.guitarrapc.com/entry/2018/09/29/114953 http://tech.guitarrapc.com/en…

Serverless Conf Tokyo 2018に来ている記事5 - Game Server Service Session

毎年参加しているServerless Conf Tokyoです。3回目になります。 http://tokyo.serverlessconf.io/ 他のセッション http://tech.guitarrapc.com/entry/2018/09/29/110107 http://tech.guitarrapc.com/entry/2018/09/29/114953 http://tech.guitarrapc.com/en…

Serverless Conf Tokyo 2018に来ている記事4 - Acroquet Technology Session

毎年参加しているServerless Conf Tokyoです。3回目になります。 昼を食べると眠くなるので、最近はランチを取らない様になってきました。サクッと集中してやって、さくっと、ね。 http://tokyo.serverlessconf.io/ 他のセッション http://tech.guitarrapc.c…

Serverless Conf Tokyo 2018に来ている記事3 - Recruit Session

毎年参加しているServerless Conf Tokyoです。3回目になります。 http://tokyo.serverlessconf.io/ 他のセッション http://tech.guitarrapc.com/entry/2018/09/29/110107 http://tech.guitarrapc.com/entry/2018/09/29/114953 引用は私のコメントです。 Titl…

Serverless Conf Tokyo 2018 に来ている記事1 - AWS Session

毎年参加しているServerless Conf Tokyoです。3回目になります。 http://tokyo.serverlessconf.io/ 今年も場所が変わって、東京タワースタジオなのですが、例年よりこじんまりしています。 周りにお店が少しはあるので、今までよりいいかも? (会場は古めです…

.NET CoreアプリをDockerコンテナとして公開する

C# を使っていて最も困るのがランタイムと感じます。 C#は書きやすい、Visual Studioも使いやすいは良く耳にします。実際享受しやすいメリットですが、C# をWindows以外で実行したいはどうでしょうか? 今回はその実行方法についてコンテナを用いるのはどうか…

ServerlessConf Tokyo 2017に参加してきた(キーノート編)

勉強会、カンファレンス、ミートアップ、言い方は違っても参加するたびに多くのことを学ばせてもらっています。普段、参加ログを書かないのですが、多くのことを人の参加記事から学んでいるので参加したセッションについて書いてみます。 ※ この記事ではキー…

.NET Core on LambdaでUnity Cloud BuildのWebhook処理とLambdaをネスト実行する

今回は、Unity開発に欠かせなくなってきたUnity Cloud Buildのビルド通知をAWS Lambda (.NET Core) でいい感じに処理することを考えてみます。手始めに、他のチャット基盤 (Chatwork) への通知に取り組んでみましょう。 結果こんな通知がくるようにします。 …

.NET Core on LambdaのCIを組んでみる

パッケージの利用、ローカルテスト、ビルド、Visual Studioからのデプロイまで来たのでローカル開発は問題なくできそうですね。ただCIがないままではチーム開発がしにくいです。 http://tech.guitarrapc.com/entry/2016/12/05/055458 http://tech.guitarrapc…

.NET Core on LambdaでNuGetパッケージを利用してみた

といいつつ、当初からJson.NETを利用しているのですが、そこはおいておきましょう。 今回は、AWS Lambdaでnugetパッケージを利用してみます。とはいっても難しいことは何もなく、通常の.NET Coreアプリと同様です。 Azure Fucntionsとは少し違うのでそのあた…

.NET Core on Lambdaのローカルデバッグでロガーと変数確認する

Serverlessといっても大事なのはローカルで実行できるかです。どんなに便利でも高速なイテレーションが回せないものは継続せず触らなくなったり進化の波に乗れません。 さて、.NET Core on Lambdaが出た当初にローカルデバッグでILambdaContextがないためcon…