茶トラ猫エンジニア

フリーランスとして働く、先が見えないエンジニアのメモ帳

AWS

AmazonLinuxにMySQLクライアントをインストールする

AWS でデータベースを使う際、MySQL サーバを立てるよりも RDS(MySQL)を使う方が楽です。 ただし、データベースのメンテナンスには MySQL クライアントがあると便利なので、EC2 で実行できるようにしておきます。 RDS は MySQL5.7 ベースのエンジンで構築し…

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

RDS のインスタンスを作成する際、いきなりデータベースを構築すると後々パラメータグループを変更する手間が発生します。 それは、デフォルトのパラメータグループの文字コードが「utf8」や「utf8mb4」になってないからで、それらを使いたい場合は先にパラ…

AmazonLinuxにJenkinsをインストールする

CI ツールとして一世を風靡した Jenkins。 今では、CircleCI や Docker に置き換えられつつありますが、私は PHP で作った Web サイトのデプロイツールとして利用しています。 と言っても、実際にデプロイするのはシェルプログラムなのですが、ブラウザから…

AWSでElastiCache(Redis)を使用する

AWS

データベースの負荷を下げるというのは、まだ Web サービスが少なかった 20 年以上も前から叫ばれていたことです。 今では Web サーバのキャッシュやクライアントキャッシュ、そしてメモリキャッシュが当たり前に利用される時代になりました。 最近は、ログ…

AWSでWebサーバ用途にEC2(AmazonLinux)の環境を構築する

AmazonLinux2 が正式リリースされて 1 ヶ月以上が経過しました。 次に新しく EC2 を作るなら乗り換えるのもアリかなと思っていましたが、今回は古いアプリを動かしたいので断念。 これまでに何度も構築している AmazonLinux のディストリビューションでいき…

AWSのEC2にEIP(ElasticIP)を割り当てる

AWS

前回、AmazonLinux で EC2 を立ち上げました。 www.saratoga.jp パブリックな IP アドレスは「使用する」で設定しましたが、インスタンスを停止して再度起動すると IP アドレスが変わってしまいます。 これでは、自分の PC から直接 ssh などでアクセスする…

AmazonLinuxでnslookupしてELBのIPアドレスを確認する

ELB の IP アドレスってどんなものが割り振られているか知っているでしょうか? ELB を利用する場合は、Route53 などでエイリアス設定すると思うのであまり需要はないと思いますが、ELB の設定を変えて調査したい場合や、既存の構成に影響を与えずに裏側の E…

Route53のルーティングポリシーでGooglebotを弾いてしまいました

AWS

あるサイトの A レコードを編集していたのですが、海外からの邪魔なアクセスが多いサイトだったこともあり、何か楽に弾く方法はないかなっと調べてみました。 これまでは、VPC の「ネットワークACL」で大まかな IP アドレス帯を拒否していましたが、Route53 …

ElastiCache(Redis)のスケールダウンができない

AWS

先日、ElastiCache(Redis)のインスタンスタイプを t2.medium にして運用を開始したのですが、リソース的にかなりの余裕があったので、 t2.micro にスケールダウンすることにしました。 ちなみに、Redis は単一ノードで稼動させていて、レプリケーションやフ…

RDSやElastiCache(Redis)の死活監視をCloudWatchで管理

AWS

AWS の監視系サービスである CloudWatch には、残念ながら RDS(MySQL)や ElastiCache(Redis)の死活監視に直結する項目(メトリクス)が用意されていません。 これがあれば、CloudWatch からアラート通知の設定ができて便利だったのですが、この時点で死活監視…

AWSのEC2にgoofysを入れてS3をマウントする

AWS

過去に携わったプロジェクトで、S3FS の通信状態が悪い時があるので、アプリ側のプログラムを AWS SDK を使ったものに置き換えていこうという施策がありました。 S3FS の導入には関わっていなかったので、導入の経緯や不安定さは知らなかったのですが、確か…

AmazonLinuxでApache2.4+php7.1+Laravel5.5

以前書いた「VagrantでCentOS6.9のイメージを使う」の通り、CentOS6.9 には Apache2.4 と PHP7.1 で Laravel のフレームワークが使える環境を構築しました。 www.saratoga.jp ただ、将来的には AWS かつ Amazon Linux 上で動かしたいので、Amazon Linux だと…

AmazonLinuxでnginxを使ったWebサーバを構築する

ここまでで EC2 へアクセスするための最低限の設定が完了したので、いよいよ Web サーバを構築していきます。 今回は、無料枠期間を想定して Web サーバ 1 台に色々とサービスを詰め込む前提で進めていきます。 nginx(公開用、管理用) PHP MySQL(クライアン…

RDSのスロークエリのログテーブルを空にする

AWS

RDS で発生したスロークエリを slow_log テーブルに格納している場合、普通に DELETE や TRUNCATE でデータを消すことはできません。 そこで、AWS が提供しているストアドプロシージャを使うことになるのですが、毎回コマンドを忘れてしまっていたので備忘録…

CentOS7でawscliをセットアップしてS3に接続する

AmazonLinux だと最初から AWS コマンドラインインターフェイス(CLI)が使えるのでいいですが、今回は CentOS7 を使うことになったので、S3 のバケットの状況を確認するために awscli をセットアップしてみます。 awscli は pip コマンドを使ってインストール…

さくらインターネットからAWSへ全サイト移行する

AWS

初めて「さくらインターネット」のレンタルサーバを借りたのが 2006 年。 その時はスタンダードプランを契約しましたが、そこから仕事の兼ね合いもあって最終的に 6 アカウント分の契約をしました。 さすがに落ちてもいいサービスのホスティングには使えませ…