hoomin.kani

KANISAN WEB

インフラ・サーバーサイドを頑張るカニが学んだあれこれ。

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

Terraform workspaceの使い方

Terraform workspaceを使う ワークスペースの作成、切り替え # dev という名前の workspace を作成して切り替え terraform workspace new dev # dev という名前の workspace に切り替え terraform workspace select dev ワークスペースの一覧を表示 terrafor…

IPv6で疎通確認&サーバーのアドレスを取得

IPv6で疎通確認 通常のping ではなく ping6 を使用します。 $ ping6 xxxx:xxxx::xxxx:xxx:xxxx:xxxx IPv6のアドレスを取得する nsloopupでAAAAレコードを検索 -type=AAAA を設定するのが肝です。 $ nslookup >>set type=AAAA >>domain $ Server: XXX.XXX.XX.…

サーバーのマシンスペックを確認するコマンド【macOS, LInux】

macの場合 system_profiler SPHardwareDataType $ system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro14,3 Processor Name: Intel Core i7 Processor Speed: 3.1 GHz Number of Proces…

誰でも簡単!composerの使い方

composerとは パッケージ・ライブラリの依存関係を管理するツール 使い方 初期化 composer init 対話式でcomposer.jsonが作成される パッケージをインストールする時 composer install パッケージを追加する時 composer require ${PACKAGE_NAME}:${VERSION} …

ECS on EC2からFargateへの移行(Terraform ver.)

はじめに 元々WebシステムをECS on EC2で管理していましたが、EC2の管理から解き放たれるべく、そのままFargateへと移行しました。 今回は移行の際にどのような変更が必要であったかを共有します。 なお、インフラリソースの管理はTerraform v0.11.10を使用…

awslogs-datetime-formatとawslogs-multiline-patternの使いどころ

awslogs-datetime-formatの使いどころ awslogs-datetime-formatを使用すると、同一時間帯のログレコードが細分化されず、まとまって表示されるため、可視性が上がります。 awslogs-multiline-patternと同時に設定されている場合、このオプションは常に優先さ…

【簡単】RDSのバイナリログ(binlog)保存期間を設定する

昨今のバックアップ事情 今回はRDSのバイナリログ保存期間を変更する方法を紹介します。 前提として、RDS for MySQLではトランザクションログがデフォルトでS3に保存されており(5分間隔)、 エンジニアは管理画面から復元したい時間を指定するだけでデータの…

【Elixir】DateTime.compareで時間を比較する

Elixirで時間の比較をしたい!と思ったら、真っ先に思い浮かぶのがDateTime.compareですよね。 今回はDateTime.compareの使い方をサクッと紹介します。 DateTime.compareの使い方 使い方 Datetime AとDatetime Bを比較する場合 DateTime.compare(A, B) たっ…

【2019年版】3行でmacOSにAWS CLIをインストールする方法

前提(pythonが入っていることを確認) $ python --version AWS CLIのインストール $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" $ unzip awscli-bundle.zip $ sudo ./awscli-bundle/install -i /usr/local/aws -b …

Macのファイルディスクリプタ上限を変更する方法

稀にERROR: ulimit -n is XXX; XXX is the recommended minimum.のようにファイルディスプリタが足りないよーというエラーに出くわすことがあるので、解決法を共有。 まずは現在の状態を確認 MacBook-Pro$ ulimit -a core file size (blocks, -c) 0 data seg…

【git stash】間違って退避していた変更を適用してしまったら

git stash popやgit stash applyをやっちゃったけど、間違ってコンフリクト起きちゃった!退避させていた状態に戻したい!という時の対処法 git reset HEAD . git stash save 基本的にはこれでok

【git stash】コミットせずに変更を退避・確認・復活させるコマンド

変更を退避 git stash save 退避させた変更の一覧を確認 git stash list 退避させた変更を復活 # stash@{0}の分を復活させたい場合 git stash apply stash@{0}

Elixirで四則演算

Elixirで四則演算するときはどう書く? 足し算 ... + iex> 1 + 1 2 引き算 ... - iex> 2 - 1 1 掛け算 ... * iex> 2 * 2 4 割り算 ... / (返りは浮動小数) iex> 4 / 2 2.0 おまけ 整数同士の割り算 ... div iex> div(8, 2) 4 剰余 ... rem iex> rem(5, 3) 2

結局、REPLって何なの?

当たり前のように言うけどさ 「さぁ〜て、REPL使ってサクッと動かしてみるか」 そんな言葉を耳にする機会がたまにありますが、そもそもREPLって何なのか、ちゃんと説明できるか、自分の胸に問いかけたことはありますか? そもそもREPLってなんて読むのか分か…

Elixirのイミュータブルなデータ構造って?

イミュータブルとは? Elixirにおけるイミュータブル 再束縛を禁止したい場合 最後に: Elixir的イミュータブルのメリット イミュータブルとは? あの言語はイミュータブルで、あっちはミュータブルで……という話をちらほら聞くことがありますが、そもそもイミ…

【解決】Dockerの時刻設定、/etc/localtime:/etc/localtime:ro でCannot start service XXX: Mounts denied:のエラー

docker-compose upでマウントエラー 現象 以下のような設定のdocker-compose.ymlを使い、docker-compose up -dを行ったところ volumes: - /etc/localtime:/etc/localtime:ro このようなエラーが出た。 ERROR: for XXX Cannot start service XXX: b'Mounts de…

Dockerのコンテナ、イメージ、ボリューム、ネットワーク、全部を削除するコマンド

Dockerのリソース、全部消したくなったら。 もう何が必要で何が不必要なのかも分からない。 このPCの不要なリソース全部消したい。 生きていると、こんなこともあると思います。 そんな時に大活躍するのがdocker pruneコマンドです。 便利コマンド集 とにか…