less is more

心のフルスタックエンジニア👨‍💻バイブスでコードを書いています🤘

2020-04-01から1ヶ月間の記事一覧

CloudFormationのスタックのdiffをGithubで参照できるようにする

続きです。 bluepixel.hatenablog.com 自前のGithub Actionを作っていきます。 ワークフローの内容 CloudFormationで作成したスタックを更新する際、変更セットというものを作る必要があります。 この変更セットには、どのリソースの何が変更されるのが、置…

自前のGithub Actionsを作ってみる

この記事を書いた時に、プラットフォームの発展に結構可能性を感じたので自分でも作ってみる。 bluepixel.hatenablog.com 何を作るかはさておき、まずは作り方を一通り調べてみる。 ドキュメントはここから。 help.github.com 基本的な仕様 About actions - …

Slackのスラッシュコマンドとダイアログを使ってEC2のセキュリティグループを編集する

経緯 フルリモート体制になっているので、sshの接続元などにオフィス以外の任意のIPアドレスを追加する必要が出てきた。 メンバーの自宅はIPが固定されていないため、IPアドレスが変わるたびにインフラ担当に作業を依頼する必要がある。 作業の手間とヒュー…

yumパッケージの依存関係がぐちゃぐちゃになってしまったら

途中でネットワークが切れてyum updateが中断されたりすると、中途半端な状態でパッケージの更新が終わり、直せなくなることがあります。 この状態で再度yum updateを実行すると以下のようなエラーが出る。 setup-2.8.71-10.amzn2.0.1.noarch は次のインスト…

EC2のジャーナルログを手動で削除する

長いこと起動しっぱなしのEC2インスタンスのストレージがかなり圧迫されていた。 調べてみると/var/log/journalが2GBくらいになっていたので、手動で削除する。 こういうことです。 ちゃんとローテートしてあげるのがベストなんでしょうが、サクッと対処しま…

Fargateにおけるpuma+Nginxのソケット通信のやり方

やること pumaサーバーのアプリをFargateにデプロイする。 リクエストはNginxで受ける。 Nginxとpumaの通信はソケットを用いて行う。 pumaとNginxは同じFargateタスクの別コンテナとして扱う。 こちらの記事にある下図の右側の部分のイメージです。 bluepixe…

Gitに深刻な脆弱性が報告されたのでアップデートする

Git

CVE-2020-5260 として報告されているissue malicious URLs may cause Git to present stored credentials to the wrong server · Advisory · git/git · GitHub 要約すると、攻撃者がリポジトリに細工をしておくと、git cloneの際にユーザー の認証情報を窃取…

Github ActionsでFargateをデプロイする

Github Actions github.co.jp これまではCodePipeline上に構築することが多かったんですが、もう少しサクッと作れないかなーと思い試してみました。 環境 Ruby製のアプリケーション 。 コンテナは、pumaを動かすアプリケーションとNginxの2台構成。 ECS Serv…

Rubyのバージョンアップ手順

経緯 Security fix が入ったパッチバージョンがリリースされていたので。 www.ruby-lang.org 影響を受けるバージョンは以下。 Ruby 2.5 系列: 2.5.7 およびそれ以前のバージョン Ruby 2.6 系列: 2.6.5 およびそれ以前のバージョン Ruby 2.7 系列: 2.7.0 comm…

ある日RubyがIllegal Instructionを吐いて死んでいたらそれはきっとsasscのせい

突然 Ruby が以下のエラーを吐いてお亡くなりになっていました。 より詳しくいうと、rakeタスクを実行した時に発生していて、rails cにも失敗します。なんかのgemが悪さしてる感がありますね /usr/local/app/vendor/bundle/ruby/2.6.0/gems/ffi-1.11.1/lib/…

ECSのタスク実行をCLIからやる

すでに作成済みのタスク定義を指定して、CLIから任意のタスクを実行する環境を整えます。 IAMポリシーのセットアップ タスク実行に必要な ecs:RunTask の他に、タスク定義を参照するための ecs:DescribeTasksや、 CloudWatchへのログ出力のためのポリシーが…

SQSを完全に理解する🧘‍♀️

AWS SQS Amazon Simple Queue Service とは デフォルト 全部デフォルトでいいならこれだけのテンプレートでキューが作成できる。 AWSTemplateFormatVersion: "2010-09-09" Resources: SampleQueue: Type: AWS::SQS::Queue 名前すら指定する必要はない。 名前…

Lambda@Edgeを完全に理解する🧘‍♀️

とは 2017年7月17日に正式リリースされたサービス。 Lambda@Edge の一般提供を開始 AWS Lambda にコードをアップロードし、Amazon CloudFront イベント (ビューワーリクエスト、ビューワーレスポンス、オリジンリクエスト、オリジンリクエストなど) によって…

ECSのサービスディスカバリーを試す

概要 サービスディスカバリーとは、マイクロサービスなんかを作るときには必須となるあれである。 AWSにおいては、各種リソース間で通信を行う際に、相手先のエンドポイントを解決する仕組みが用意されている。 外向き、つまり対インターネットに対しては、…