1. 2019-08-21
  2. 2019-08-02
  3. 2019-07-31
  4. 2019-07-30
  5. 2019-07-25

2019-08-21

AMIから復元したEC2インスタンスに踏み台から接続しようとしたら Permission denied(publickey)

AMIから作成したインスタンスは勝手にパスワードログインが無効化されるらしい

/etc/ssh/sshd_configPasswordAuthentication yes にしてSSH再起動 sudo service sshd restart

2019-08-02

upstart 登録

/ect/init 以下に {ジョブ名}.conf ファイルを作る

piyopiyo.conf
# 説明
description "hello"

# ランレベル3,4,5かつnetworkが開始したら動き出す
start on (runlevel [345] and started network)

# ランレベル3,4,5以外またはnetworkが停止したら止まる
stop on (runlevel [!345] or stopping network)

# プロセスが死んだら自動で復活する
respawn

# やること (例: ユーザー kiriukun で /my/terrible/program.sh を叩く)
exec sudo -u kiriukun /my/terrible/program.sh

upstart 設定をリロード

ジョブ追加したらやる

sudo initctl reload-configuration

upstart 起動、停止、再起動

piyopiyo はジョブ名。Amazon Linuxではログは /var/log/messages に出てたから、動かなかったら見る。

sudo initctl start piyopiyo
sudo initctl restart piyopiyo
sudo initctl stop piyopiyo

2019-07-31

ApacheのMPMを確認する方法

httpd -l コマンドで『Server MPM』を見る (※Windowsでしか確認してない)

WinNTはスレッド増える系だから、PHP乗せるならスレッドセーフ版にする

Server version: Apache/2.4.39 (Win64)
Apache Lounge VS16 Server built:   May 28 2019 17:12:51
Server's Module Magic Number: 20120211:84
Server loaded:  APR 1.7.0, APR-UTIL 1.6.1
Compiled using: APR 1.7.0, APR-UTIL 1.6.1
Architecture:   64-bit
Server MPM:     WinNT
  threaded:     yes (fixed thread count)
    forked:     no
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/apache"
 -D SUEXEC_BIN="/apache/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error.log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

2019-07-30

Amazon Linux 秘密鍵じゃなくてパスワードでログインできるようにする

/etc/ssh/sshd_config を編集して PasswordAuthentication yes に変更する

変更したら /etc/rc.d/init.d/sshd restart で反映する

しくじると鍵でも入れなくなるから、他から入れることを確認するまで今のSSHを切ってはいけない

2019-07-25

Amazon Aurora (PostgreSQL互換) Serverless

  • PostgreSQLのバージョンは必ず最新のものになる。
  • パブリックアクセスは不可。踏み台EC2だの作って、そこからアクセスする。
  • 作成時にデータベース名を決められないっぽいので、デフォルトの postgres データベースでログインして作業する。
  • サブネットグループはRDSの画面の左メニュー『サブネットグループ』から作れる。
AmazonLinuxにpsqlインストール
yum install postgresql96.x86_64
psqlでRDSに接続
psql -h ${RDSのエンドポイント} -U ${データベース作成時に設定したユーザー名} -d postgres

Amazon Linux 踏み台サーバーの作り方

以下サイト様を参照

Amazon Linux sudoできるユーザーの作り方

sudo useradd kiriukun
sudo passwd kiriukun
sudo visudo

visudo すると /etc/sudoers を書き込み可能状態で開ける。開いたら以下を追記する。root ユーザーで似たような記述があるはずだから、そこらへんに書けばいい。

kiriukun    ALL=(ALL)       ALL

これで作ったユーザーは、sudo するときに自分自身のパスワードを求められる。rootユーザーのパスワードを入力させたいとか、パスワード入力しなくていいようにするには、以下サイト様を参照。

Amazon Linux ログインできないユーザーの作り方

sudo useradd -s /sbin/nologin kiriukun

もしこれで追加したユーザーで作業したいことがあったら、他のユーザーでログインしてから root に昇格 → su -s /bin/bash - kiriukun で入れる

プライベートVPC内のEC2でyumできるようにする

プライベートなVPCはプライベートだから当然 yum も無理。でもAmazon Linuxの yum リポジトリがS3にあるらしいので、VPCにS3へのエンドポイントを追加してやれば yum できるようになる。

ただVPCのエンドポイントは存在するだけで有料なことは留意。