macでMS公認の無料window10使用版を使う方法と、初期設定のメモ

事前準備 仮想マシンクライアントのVirtualBoxをダウンロードする www.virtualbox.org 無料です MS公式の動作確認用のwindows仮想マシンイメージをダウンロードする https://developer.microsoft.com/en-us/microsoft-edge/tools%E3%81%A1/vms/ 無料です 使…

ruby3.0で「hashをキーワード引数に自動変換する機能」の削除がリスケされた流れを自分なりに理解する記事

なにこれ ruby3.0で「hashをキーワード引数に自動変換する機能」を削除する予定だったけど、延期もしくは中止する と、Matzがrailsのフォーラムでコメントしていたので、その経緯とかを把握するために記事にしました discuss.rubyonrails.org そもそも、hash…

AWS WAF Regionalの情報を取りたい場合、使うのは Aws::WAFRegional::Client だよ! というお話

これで2H程度ハマってしまった... 言いたいこと AWS WAFには、グローバル(CDN用)と、Region単位の Regional がある ruby SDKでWAFの情報を取りたい場合、グローバルとRegionalでは使用するclientが異なる グローバルならば、 Aws::WAF::Client Regional なら…

Amazon EventBridge おぼえがき

Amazon EventBridge って何? Amazon EventBridge は、独自のアプリケーション、統合 Software-as-a-Service (SaaS) アプリケーション、および AWS のサービスからのデータを使用して、アプリケーションを簡単に接続することを可能にするサーバーレスイベント…

AWS Fargate のコスト削減アイデアいろいろ

AWS Fargate。便利だけど、EC2と比べるとコストも高いので、コスト削減の方法をいろいろまとめてみた 上から順に効果が高くて、適用コストも低いので、上から実施を検討すると良いです Compute Savings Plans EC2やFargateやlambdaの利用について、1時間いく…

bash にて、とあるドメインが存在するなら、環境変数にそのドメインを格納する、なければデフォルト値という処理を書いたときのメモ

コード API_URL=https://example.com BRANCH_API_URL=https://hoge.com host ${BRANCH_API_URL#https://} && API_URL=${BRANCH_API_URL} || : ポイント ${BRANCH_API_URL#https://} で、環境変数 BRANCH_API_URLの先頭の https:// を取り除いている host は…

AWS Codebuild で dig とか host コマンドを使う方法

先に方法 buildspec に以下を追加 phases: install: commands: - yum -y install bind-utils 解説 AWS Codebuild で動作させる、Amazon Linux 2 (centOSベース) には、host や dig コマンドがインストールされていない host や dig コマンド は、bind-utils …

Fargate Spot おぼえがき

先にまとめ コンテナが不定期に停止する代わりに 通常価格の70%OFF になるサービス Savings Plansとの併用はできない。らしい (伝聞のためソースなし 雑に始めたければ、Capacity Provider を FARGATE SPOT のみにする Fargete と Fargate Spot を併用したけ…

GitHub Actions で Action に失敗した時にslackに通知を投げる方法

先に方法 - name: Slack Notification when build failed if: failure() uses: rtCamp/action-slack-notify@master env: SLACK_CHANNEL: channel-name SLACK_COLOR: '#ff0000' SLACK_TITLE: ':fire::fire::fire: Build error! :fire::fire::fire:' SLACK_MES…

GitHub Actions で削除したブランチ名を取得する方法

課題 GitHub Actionsでは、ブランチ名は環境変数 GITHUB_REF から取ることができるが、ブランチ削除時には GITHUB_REF が refs/heads/master になってしまう なお、GitHub Actions で使用できる環境変数については、こちらを参照 help.github.com 解決方法 $…

GitHub Actions から AWS lambda を実行してみる

こちらのつづき blog.kasei-san.com GitHub Actions から AWS lambda を実行するまでの流れ lambdaを作成 lambdaの実行権限を持つIAMユーザを作成 AWS認証の action aws-actions/configure-aws-credentials を GitHub Actions に組み込む 認証に使用する、la…

GitHub Actions はじめの一歩

GitHub Actions とは GitHub の特定のアクションをトリガーにCI/CD的なことを実行できるサービス CircleCI とか AWS Codebuild みたいのを GitHub が提供してくれるようになった help.github.com アクションのつくりかた Githubのリポジトリから「Actions」…

httpのレスポンスの動作確認をしたい時に知ってると便利ないろいろ

httpstat.us httpstat.us http://httpstat.us/${コード} で任意のレスポンスコードを返してくれるサービス こんなかんじ $ curl -I https://httpstat.us/200 HTTP/1.1 200 OK $ curl -I https://httpstat.us/404 HTTP/1.1 404 Not Found どうやら個人で作っ…

AWS SDK for Ruby で Application Load Balancer にいろいろな Listener を追加する方法おぼえがき

Listenerとは リスナーとは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセスです。リスナーに対して定義したルールにより、ロードバランサーが登録済みターゲットにリクエストをルーティングする方法が決まります。 Application…

serverless で AWS lambda のログ出力の有効期限を制御する方法

サンプル function hoge_fuga-aaa の出力先ロググループの有効期限を30日にする場合 serverless.yml functions: hoge_fuga-aaa: handler: handler.api_create events: - http: path: api/create method: post resources: Resources: HogeUnderscoreFugaDashA…

lambdaプロキシ統合を使って、API Gatewayからlambdaへ各種パラメータを渡す方法

lambdaプロキシ統合って? API Gatewayが受け取ったパラメータやリクエストヘッダなどの情報をlambdaのevent引数にわたすようにする方法 Lambda プロキシ統合では、クライアントが API リクエストを送信すると、API Gateway は、統合された Lambda 関数に raw…

AWS CodeBuild の buildspec.yml のコマンドで curl の完了前に処理が終了する件とその対策

buildspec.yml(一部) post_build で curl を実行後にその戻り値をチェックする command を実行する 実際のコードでは、API Gatewayを叩いていた version: 0.2 phases: post_build: commands: - curl https://example.com - echo $? 実行結果 すると、 curl …

node.jsのリリースサイクルについてメモ

まとめ 6ヶ月に1度メジャーバージョンがリリースされる 6ヶ月後に、奇数バージョンは放棄される 偶数バージョンはLTS(Long Term Support)。通常、重大なバグが30ヶ月間は修正される 大企業や複雑なシステムはLTSを使うことを推奨 最新機能を使いたい場合、最…

curlは-fオプションをつけないとサーバエラーでも戻り値は0になる

サーバエラーが帰ってきても、curlの戻り値は0 $ curl -Is http://ozuma.sakura.ne.jp/httpstatus/500 HTTP/1.1 500 Internal Server Error Server: nginx Date: Tue, 04 Feb 2020 00:51:35 GMT Content-Type: text/html; charset=utf-8 Connection: keep-al…

dockerfileのARGの使い方おぼえがき

ARGとは build実行時にオプション --build-arg として渡せる可変の値 使いみち 環境毎になにかを変える時に使用する ビルド時に使用する環境変数 entrypoint.sh COPY元 など Dockerfileでの定義方法 ARG hoge="fuga" 解説 上記は、変数 hoge を時環境変数 HO…

Amazon Aurora serverless を知らなかった人が 2019/07 現在の Aurora serverless の最新状況を分かる範囲でまとめた

これの続編 blog.kasei-san.com Amazon Aurora serverless って何? インスタンスの管理が不要な Amazon Aurora 決して、serverless 専用の Aurora ではない サポートしているエンジンは? MySQL 5.6 互換の Amazon Aurora PostgreSQL 10.7+ 互換の Amazon Aur…

AWS Systems Manager パラメータストアを使って、ECSのtaskで環境変数を安全に運用する方法

AWS

概要 DBのパスワードとかの機密情報をECSのtask実行時の環境変数に入れたい場合、AWS Systems Manager パラメータストアを使うとかんたん&安全 AWS Systems Manager パラメータストア is 何? AWS Systems Manager パラメータストア は、設定データ管理と機密…

dockerfileのCMDやENTRYPOINTでの変数展開について

前提 dockerfileの CMD や ENTRYPOINT でコマンドを定義する方法は2通りある exec form(推奨) : JSONの配列で定義する ["echo", "${HOGE}"] 直接コマンドが実行される(変数展開が行われない ) shell form : 文字列で定義する "echo ${HOGE}" /bin/sh -c を介…

CMDとENTRYPOINT違いおぼえがき

きちんと理解したら全然意味が異なるものだった ENTRYPOINTとは docker run 時に実行されるコマンドを定義 例 apacheを起動させるコンテナ(オフィシャルじゃないけど、説明に最適だった) の ENTRYPOINT ENTRYPOINT ["/usr/sbin/apache2"] docker run した場…

herokuのビルドをキャンセルする方法

heroku.yml の設定を間違えたりすると、デプロイ後、以下のエラーが出てタイムアウトするまで待たされて困るので、キャンセル方法を調べた remote: Compressing source files... done. remote: Building source: remote: === Fetching app code remote: remo…

AWS cli で アカウントに紐づいたロールの切り替えをする方法

aws

課題 セキュリティ上の理由等で、普段管理画面上でロールの切り替えを行っているけれど、それをCLI上でやる場合どうするの? 解決方法 ロール切り替え用のprofileを設定して、それを指定してあげれば良い ~/.aws/config [default] output = json region = ap-…

Varnish4.1 では最初の `Set-Cookie` しか read/write できない

先に結論 Varnish4.1 では最初の Set-Cookie しか read/write できないし、writeすると他の Set-Cookie は消える varnish-modulesのcookieやheaderを使えば、他の Set-Cookie もread/writeできる サンプルコード vcl vcl 4.0; import std; import directors;…

Rubyでインクリメンタルする Quine AA を書いた

デモ 実行するごとにAAの白抜きの数字が増えていきます コード http://github.com/kasei-san/quine/blob/master/incremental/main.rb コードジェネレータ 前回解説したように、Quine AA は、AAを作るコード自身をAAに変換するジェネレータを作って作成します…

Rubyで書く! Quine AA!

こちらの記事を元に自分で作ってみた時の記録です mickey24.hatenablog.com ソースコード eval$s=%w' b="BAhsK2Lgf4 D/D/7/8/9///j/B/9 /8P8H/3/w/wf/f/7/7/ ///+//P/ j/Af5/AOA PAPwAAM CHH3z4wY cffPjBh x98+MGHH /z/wf8/ /P+D/z/g nwMAAAA PAPgBAA8 AAADA…

Rubyで書く! Quineのサンプルと解説

Quine ってなに? クワイン(英: Quine)は、コンピュータプログラムの一種で、自身のソースコードと完全に同じ文字列を出力するプログラムである。 クワイン (プログラミング) - Wikipedia 基本の Ruby Quine eval s="puts'eval s='+s.inspect" 解説 eval s=…