N日以前・以後から起動しているEC2インスタンス一覧を取得する

動作環境 MacOSX 30日以前に起動したインスタンスを取得する DATE=`date -v-30d +%Y-%m-%d`; aws ec2 describe-instances --filter Name=instance-state-name,Values=running --query "Reservations[].Instances[?LaunchTime<=\`$DATE\`][].{id: InstanceId,…

Python boto3でAWS EC2のインスタンス起動・停止をする

MySQL wargingsが発生した場合の確認方法

SHOW WARNINGS; デフォルト表示数は64なので、変更したい場合はmax_error_countを変更する。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.7.5.41 SHOW WARNINGS 構文

ベーシック認証とダイジェスト認証

HTTPの認証方法で代表的なものとしてベーシック認証、ダイジェスト認証などがある。 ベーシック認証 ベーシック認証は基本認証と呼ばれることもあり、ユーザとパスワードをコロンで繋ぎBase64でエンコードしたものを送信する。 サーバには以下のようなフォー…

Apache(mod_wsgi) + Flask環境でベーシック認証が効かない

Apacheの設定にWSGIPassAuthorization Onを追加する必要があある。 例) /etc/httpd/conf.d/wsgi.conf LoadModule wsgi_module modules/mod_wsgi.so WSGIPythonHome /opt/python/run/baselinenv WSGISocketPrefix run/wsgi WSGIRestrictEmbedded On WSGIPassA…

Docker ERROR: 2 matches found based on name: network api_default is ambiguous

重複してるDockerネットワークを削除する $ docker network ls NETWORK ID NAME DRIVER SCOPE a09c35602c0f api_default bridge local c33c065d9280 api_default bridge local $ docker network rm c33c065d9280 参考 2 matches found based on name: networ…

visudo: command not found

visudoパッケージは存在しない。sudoをインストールする。 yum -y install sudo

WSGI(Web Server Gateway Interface)とは

WSGI(Web Server Gateway Interface)とは WebサーバーとWebアプリケーションをつなぐ共通のインターフェース どうしてWSGIが必要になったか WebサーバーによってWebアプリケーションフレームワークが利用できなかったり制限が起きる問題を解決するため WSGI…

ERROR: Named volume "data:/var/lib/mysql:rw" is used in service "xxxx" but no declaration was found in the volumes section.

トップレベルにもvolumesを指定しないとだめ。 version: "3" services: db: image: db volumes: - data-volume:/var/lib/db backup: image: backup-service volumes: - data-volume:/var/lib/backup/data volumes: data-volume: 参考 Compose file version 3…

yumでnode.jsをインスールする

6系の場合 $ curl -sL https://rpm.nodesource.com/setup_6.x | bash - $ yum install nodejs 参考 パッケージマネージャを利用した Node.js のインストール | Node.js

特定のIP、ユーザからはrootでのアクセスを許可する

特定のIPアドレス、ユーザからのアクセスの場合のみrootでのアクセスを許可する。 PasswordAuthentication no PermitRootLogin no Match Address 192.168.1.1/32 PermitRootLogin without-password Match User hoge PermitRootLogin without-password Match…

serverless framework で AWS lambdaのデプロイをする

主に利用方法のメモです。 前提 nodeはインストール済み AWSの権限は設定済み インストール serverlessコマンドのエイリアスとしてslsコマンドが登録される。 $ npm install -g serverless $ sls -v 1.30.0 新規サービスの作成 ここではpython3のテンプレー…

Error: Could not locate Flask application. You did not provide the FLASK_APP environment variable.

英文そのまま。環境変数FLASK_APPを設定する。 export FLASK_APP=application.py flask run

DynamoDB ローカルのDockerをつくった

Vagrantに入れてたDynamoDB ローカルをDockerに移行した。 from openjdk:8-jre RUN mkdir /usr/local/dynamodb RUN curl https://s3-ap-northeast-1.amazonaws.com/dynamodb-local-tokyo/dynamodb_local_latest.tar.gz | tar zx -C /usr/local/dynamodb WORK…

JetBrains 隠しディレクトリのプロジェクトを開く

command + shift + periodで隠しディレクトリが表示される。 Mac - Open Project from Hidden folder on OSX – IDEs Support (IntelliJ Platform) | JetBrains

You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

Webpackを利用している場合、以下の記述を追加 module.exports = { // ... resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js', } } } 参考 jp.vuejs.org

You have already activated rake x.x.x, but your Gemfile requires rake x.x.x. Prepending `bundle exec` to your command may solve this.

rakeをupdateする gem update rake または bundle update rake

AWS 特定のS3バケットへのアクセスのみ許可する

ポリシーでのアクセス許可を以下に設定 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::your-bu…

既存のEC2インスタンスにIAMロールを割り当てる

ようやく既存のEC2インスタンスにIAMロールを割り当てることができるようになった。 新しくIAMロールを割り当てる $ aws ec2 associate-iam-instance-profile --instance-id インスタンスID --iam-instance-profile Name=ロール名 結果 { "IamInstanceProfil…

RDS MySQLデータベース作成時に気をつけること

MySQLのスロークエリログの出力はデフォルトOFFになっているので、ONにする。 参考 MySQL データベースログファイル

EC2インスタンス作成時に気をつけること

IAMのロールはインスタンス作成後に割り当てることができないので、空のロールでも良いので割り当てておくとよい。 その他AWSサービスとの連携は、今後ないという場合はその必要はない。

Mac ファイルの中身をクリップボードにコピーする

viでファイルを開いて全選択してクリップボードにコピーは面倒くさい。 pbcopyを使えば瞬殺できる。 $ pbcopy < file.txt 同じ要領でコマンドの実行結果もクリップボードにコピーできる。 $ git status -s | pbcopy

bash promptに表示されるカレントディレクトリを省略する

bash4 > の場合、カレントディレクトリの表示を省略することができる。 PROMPT_DIRTRIMに指定した値より階層が深くなった場合、前方が…で置き換えられる。 ❯ ~/workspace/grmn/src $ export PROMPT_DIRTRIM=2 ❯ ~/.../grmn/src