ばーろぐわにる

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

2018-01-01から1年間の記事一覧

Nuxt.jsをインストールしてつかってみる

Nuxt.jsとは Nuxt.js は Vue アプリケーションを作成するフレームワークです。ユニバーサルアプリケーション、静的に生成されるアプリケーション、シングルページアプリケーションの中から作成するアプリケーションを選ぶことができます。 本文ママ 何が嬉し…

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

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

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

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

IntelliJ UEをインストールしてからやったこと

なにこれ IntelliJ UEをゲットしたのでインストール・設定したときの備忘録 今後随時更新する。はず。 インストール・セットアップ メールで送られてきたリンクからIntelliJをダウンロードして起動 最初のセットアップ画面でコマンドラインからIntelliJを起…

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のコンテナ管…

git mergeで複数ブランチの変更を適用する

git

やりたいこと 複数のブランチの設定を適用した状態でテストを実施したい。目的が異なるため複数ブランチで修正を実施していたが、両方共適用しないと上手くアプリが動かないという状態に陥った。 やりかた git clone git@github.com:hoge/fuga.git -b dev1 c…

jqの小ネタ

この記事は? 業務でよく使う jq のTIPS記事。随時更新 -r オプションでraw文字列取得 出力結果から任意のキーを抜き出して再利用したいとき、普通にjq使うとダブルクォートも含めて格納されてしまう。そこで -r オプションを利用すればraw stringsとして格…

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

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

SSH接続元のid_rsa.pubのせいで公開鍵認証が失敗してた

ssh

概要 SSHの公開鍵認証を使ってパスワード無しでログインしようとしたとき、公開鍵も暗号鍵も正しく配置してかつ権限も間違ってないのにログインできなくてハマったのでメモ。知ってる人は当たり前じゃん?って内容なのかもしれませんが色々調べたのでメモ。 …

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

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

Terraformのtfvarsを使ってAPIキーを読み込む

概要 TerraformでAWSリソースをいじる場合、EC2インスタンス上で実行するならIAMロールで問題ないが、ローカルから実行するとAPIキーの設定が必要になる。tfファイルをGitHubで管理するとき、APIキーが書かれているとそのままPushするわけにはいかないのでち…

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

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

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

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

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

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

discordbotを使ってtwitterに投稿する

目的 所属しているゲームコミュニティの宣伝用ツイッターアカウントへdiscordbotのコマンドを使って投稿したい 環境 $ python --version Python 3.6.6 $ pip list Package Version ------------- ------- aiohttp 1.0.5 async-timeout 3.0.0 chardet 3.0.4 d…

fishでリダイレクトによる上書きを禁止する

背景 もともとはfishではなくzshを使っていました。キーバインドやghq/pecoなどを利用していろんなカスタマイズをしていました。ある日、.zshrcにexportを追加しようとシェルからリダイレクトで追記をしました。したつもりになっていました。コンソールを再…

tmuxでクリップボードにコピーする(tmux 2.6以降)

概要 tmuxでコピーした内容をクリップボードにコピーする方法について 何百番煎じかはわからないが、使ってるバージョンだと上手く動かないことがあったので書く 環境 macOS 10.13.6 tmux 2.7 設定 tmux-MacOSX-pasteboard使ってなんとかしようとしてたけど…

Git使ってみる

Gitとは バージョン管理ツール。Git≠GitHub。 インストール AWSのUbuntu 16.04.3 LTSだと不要。最初から入ってる。 設定 メールアドレス、名前を設定しておく。GitHub使うだけなら不要かも。 git config --global user.name "My Name" git config --global u…

pipが壊れた?

なにをしたか simplejsonをインストールしようとしたところ、pipのバージョンが古いといわれたのでpipを以下コマンドでアップデートしようとしてみた。するとこんなエラーが。 pip install --user --upgrade pip ubuntu@ip-172-31-0-101:~$ pip Traceback (m…

virtualenv使ってみた

virtualenvとは 独立したPythonの実行環境を構築できるツール。 なにがいい? 1つのサーバに複数のアプリケーションが存在している場合に使える。たとえばアプリケーションAはライブラリhoge 2.1が必要だが、アプリケーションBはライブラリhoge 3.4が必要み…

【PART6】Python勉強メモ

クラス変数 クラスオブジェクトが持つ変数。たとえばAppleクラスのオブジェクトap01が持っているap01.colorはインスタンス変数。Apple.colorがクラス変数。 特殊メソッド objectクラスが持つメソッド。これをオーバーライドすることで、たとえばクラス間で四…

【PART5】Python勉強メモ

オブジェクト指向の4大要素 カプセル化 クラスに変数、メソッドを定義することで複数の要素をまとめて保持したオブジェクトを作成することができる プライベート変数、プライベートメソッドを定義することで、クラス・オブジェクトの外から参照・実行するこ…

【PART4】Python勉強メモ

オブジェクト指向プログラミング クラス 複数の要素を持ったオブジェクトを表現する定義するしくみ。 たとえば、"タイトル", "作者", "ジャンル"という要素を持ったbookというクラスを定義できる。 インスタンス 定義したクラスで作成したオブジェクト=イン…

【PART1】Ansible勉強

なにこれ? これを読みながらAWSで実際にコードを実行してみた記録。 1章 イントロダクション 省略 2章 Playbook: 初めてみよう memo AWSのubuntuをansibleで管理するとき、デフォルトでは"python-apt"がインストールされてないので接続できない。 https://g…

Ansibleインストール、テスト

環境 ubuntu@ip-172-31-0-101:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS" ubuntu@ip-172-31-0-101:~$ uname -a Linux ip-172-31-0-101 4.4.0-1054-aws #63-Ubuntu…

【PART3】Python勉強メモ

モジュール 自分で作成したモジュールをimportしてみる ubuntu@ip-172-31-0-101:~$ cat my_module.py def helloworld(): print("hello world") >>> import my_module >>> my_module.helloworld() hello world モジュールファイル自身にテストコードを書いた…

【PART2】Python勉強メモ

タプル >>> my_tuple = ("hoge", "fuga") >>> print(my_tuple) ('hoge', 'fuga') 代入するオブジェクトが1つの場合はhoge = ([object],)のように最後に,をつけること。 これがないと算術演算子()と認識されてしまう。 >>> my_tuple.append("foo") Traceback …