ばーろぐわにる

SIerからWEB系?インフラエンジニアにジョブチェンジした見習いの備忘録。投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

aws

aws-sdk-goでpaginate

なにこれ aws-sdk-goでpaginateするサンプル paginateとは一度のリクエストで全ての結果を出力できない際、NextTokenを引数にしてリクエストすることでページ割して全ての結果を取得することだと思ってる boto3であればPaginatorsというのを使うと上記の処理…

ECSサービスのオートスケーリングを停止する

なにこれ AWSコンソールからECSサービスを設定する中にオートスケーリングの項目があります。こいつを停止・再開してみるのが本記事の目的です。オートスケーリングなんて普段止めることは中々ないと思いますが、デプロイの際に古いバージョンのコンテナを一…

terraform-aws-providerでECS Capacity Providerが削除できるようになったので検証してみた

最近全然ブログを書いていなかったのでリハビリブログです。 ECS Capacity Provider(CP)は必要なタスク数に応じて自動的にEC2 Auto Scaling Group(ASG)のスケールイン・アウトを行ってくれるので便利でしたが、一度作成すると削除できないというちょっと扱い…

EC2インスタンスをELBから登録解除して再起動するツール作った

なにこれ EC2インスタンスをCLB/TargetGroupから登録解除、インスタンスを再起動してもう一度CLB/TargetGroupに登録するツール github.com 使い方はGitHubの方をご参照ください 仕組み 引数のインスタンスIDに紐づくCLB, TargetGroupを探してDeregisterする …

awscliからタグ付きでインスタンス起動する

ドキュメントに書いてある通りだけど何度か使いそうなのでメモ docs.aws.amazon.com aws ec2 run-instances \ --image-id ami-XXXXXXXXX \ --instance-type XX.XXXX \ --security-group-ids sg-XXXXXXXX \ --iam-instance-profile 'Arn=arn:aws:iam::XXXXXXX…

CloudWatch Logs InsightsでAurora(MySQL)のログイン失敗を調べる

fields @timestamp, @message | sort @timestamp desc | filter @message like /FAILED_CONNECT/ | limit 20 aws.amazon.com

EC2のユーザーデータでEFSをマウントする

やりたいこと タイトルの通り なぜやる? スポットインスタンス(SpotFleet)で開発環境を作成したとき、起動都度マウントするのはめんどくさいのでユーザデータで自動化したい。 セキュリティグループ設定 EC2, EFSの両方が所属するセキュリティグループを作…

Discord読み上げBOTを作り直した

概要 少し前に作ったDiscordのテキスト読み上げBOTを作り直す機会があったのでまとめてみた。読み上げBOT自体はすでに前例があり、あんまり新規性のない内容ですがご容赦くださいませ。 この記事は Sansan Advent Calendar 2018 - Adventar の24日目の記事で…

ECRにPushしたイメージをFargateで実行する

やりたいこと ECRにアップロードしたコンテナイメージをFargateで実行する ECRとは プライベートのコンテナリポジトリ デフォルトでは作成したAWSアカウントからのアクセスのみ許可。リソースポリシーを変更することで他アカウントからのPush/Pullの許可も可…

VPCエンドポイントを使ってみる

VPCエンドポイントとは 通常、S3やDynamoDB, API Gatewayなどのサービスはインターネットを経由してアクセスする。しかしVPCエンドポイントを利用すれば、インターネット上に出ることなくこれらのサービスにアクセスすることができる。これを使うと以下のよ…

EC2で怪しい通信を検知したとき

概要 Guard Dutyなどの脅威検出サービスでEC2が怪しい通信をしてるのを検知したときにやるべき行動をまとめてみた。 状態を保全する 調査やテストを行うなかでプロセス終了、ファイル作成削除などを実施する場合が出てくる。フォレンジック(今回は証拠保全…

Terraform使ってECS/Fargateでコンテナを稼働する

やりたいこと コンテナの勉強がてらみんなのアイドルTerraformを使ってECS/Fargateでコンテナが稼働するところまでを試してみる。今回はDockerHubのコンテナイメージをそのまま利用するためECRは使わない。 今回利用するAWSサービス ECSとは AWSのコンテナ管…

EC2のNameタグにプレフィックスがついてるインスタンスだけ操作させたい

やりたいこと Nameタグに任意のプレフィックスが付与されているインスタンスのみを対象に起動・停止・再起動ができるIAMポリシーを作りたい。たとえば"dev-*"みたいな感じ。操作できる環境を定義するのに利用できる。まあベストなのは"Env"みたいなタグを作…

S3にPutObjectするときの権限で注意したいこと

概要 S3にバケット指定で書き込み権限(PutObject)を付与する場合、JSONで編集してたらちょっと引っかかってしまったのでそのメモ。超絶小ネタ。 失敗した権限 { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "A…

LmabdaからS3のファイルを読み込む

やりたいこと LambdaでS3によってデフォルト暗号化されたファイルを読み込みたい。LambdaでS3上のデータを取得してガチャガチャするのに必要な処理。 テスト用S3バケット作成 まずはS3バケットの作成。今回はアップロードするファイルが機密性の高いものと想…

Lambdaで明日の予定をLINEで通知する

やりたいこと 嫁さんとGoogleカレンダーの予定を共有しているのだが、カレンダーをチェックすることを忘れてて何回かトラブルが起きた。 例えば飲み会、弁当不要みたいな予定を確認し忘れて、1日4食になったり。次の日遊びに行く予定を完全に忘れてたり(主…

AWSのパラメータストアを使ってシークレットキーを参照する

やりたいこと EC2やECSでシークレットキーを利用してAPIを叩く必要がある場合、ソースコードにべた書きは気持ち悪いしどうしようということがあると思います。 AWSのサービスであればもちろんIAMロールを利用するのですが、外部サービスの場合はどうしてもシ…

AWS CLI使ってそれっぽいVPC/サブネット/NATゲートウェイを作る

やりたいこと AWS CLIを使ってVPC/サブネット/NATゲートウェイを作成し、よくありそうなネットワークを作成する Cloud Formation使ったほうがいい気がするけど勉強ということで 構成 Ubuntuインスタンス作成 無料枠のt2.microでインスタンス作成 IAMロール作…

AWSのEC2とPollyを使ってDiscordのテキスト読み上げBOTを作る

Discordでマイクなしの聞き専の方向けに、テキストチャットをボイスチャンネルで読み上げてくれるBotの作り方。今回は登録して1年間は色んなサービスが無料で使えるAWSを利用。EC2(仮想サーバ)とPolly(音声読み上げサービス)を使って構築。 EC2インスタンス…