AWS

CloudWatch Alarm と Slack の連携は SNS + Lambda ではなく SNS + AWS Chatbot が簡単で管理も楽

CloudWatch AlarmはCloudWatchのメトリクスを監視し、それが事前に決めた条件を満たすと通知してくれる便利なサービスです。 例えば、CPU利用率が80%を超えたら通知するといったことができます。 CloudWatch Alarmでの通知にはSNS(Simple Notification Servi…

AWS の CloudWatch Logs は CloudWatch Logs エージェントではなく 統合 CloudWatch エージェントを使ってインストールする

表題の通りで、それだけなのですが、一応続けます。 AWSにはCloudWatch Logsというサービスがあり、AWS上のあらゆるリソースであったり、EC2インスタンス、さらにはオンプレサーバーから、ログを収集して保存や監視を行うことができます。 特にEC2インスタン…

脳内ミルクボーイで AWS ソリューションアーキテクト アソシエイト (SAA-C01) に合格することができた

はじめに 実務として約1年間AWSを触ってきて、ある瞬間に「そうだ、資格をとろう」と思い立ち、しかも現行の試験がもうすぐ終わってしまうということでそれまでに頑張って取ろうと決意しました。 その結果、無事に合格したのでそれについて書きます。 前回の…

AWSのサービスや用語や仕組みについてややこしい部分を自分用メモとして残すだけ

AWS

自分用メモとしてややこしかったりする部分を比較などして残すものです。 EC2 インスタンスの種類 リザーブドインスタンス: 「1年間」「3年間」と期間を決めてEC2インスタンスを予約することで安く使える。 スケジュールドリザーブドインスタンス: 日次…

独自ドメインを持たずともEC2とALBとACMを使ってオレオレ証明書でHTTPSを実現してみる

はじめに AWSを使えば、EC2で簡単にWebアプリケーションを公開でき、ALBとACMを使えば証明書の発行から管理まで任せた上でHTTPS化することも簡単です。 これらに関するやり方を調べると、基本的に独自ドメインを使った方法が紹介されています。 お金やタイミ…

Terraformでaws_security_groupとaws_security_group_ruleの両方でルールを設定すると競合する

前回はセキュリティグループIDをソースに指定してセキュリティグループを作成する方法について書きましたが、今回はその流れでルールを書いていたらハマった話です。 ohshige.hatenablog.com セキュリティグループIDをソースに指定してセキュリティグループ…

TerraformでセキュリティグループIDをソースに指定したセキュリティグループを作成する

セキュリティグループを作成するときに、インバウンドのソースとして別のセキュリティグループIDを指定する方法はとても便利です。 よく使うのは、AWSで踏み台サーバを用意してアプリケーションサーバにはその踏み台サーバ経由でしかsshできないようにする場…

AWS CodeDeploy で ELB のターゲットになっていない EC2 でも勝手に追加されてしまう

AWS CodeDeployを使っていて少しハマったのでメモとして残しておきます。 CodeDeployでデプロイする場合、どこのコードを使ってどんな方法でどこにデプロイするか色々なパターンがあります。 EC2 or オンプレ GitHub or S3 インプレース or Blue/Green Elast…

AWSのAuroraからGCPのBigQueryにEmbulkを使ってデータを転送する

AWSのAuroraからGCPのBigQueryにデータを転送する必要があり、最終的にEmbulkを使うことに落ち着いた話です。 最初は、AWS Data Pipelineを使ってAuroraからS3にエクスポートしてBigQuery Data Transfer Serviceを使ってS3からBigQueryにインポートするフロ…

AWSのData PipelineでAuroraを使ったらDriverClass not foundが出るときの解消

AWSのData Pipelineを使って、AuroraからS3でテーブルをまるっとエクスポートしようというときがありました。 テンプレートとして「Full copy of RDS MySQL table to S3」が用意されているので、さくっとできるかと思っていましたが、そうでもありませんでし…

あとから Role をアタッチしてしまって CodeDeploy に失敗する場合は codedeploy-agent を再起動すれば良い

タイトルの通りです。 EC2インスタンスを作成した後で、CodeDeployを使いたくなり、色々設定してやってみてもなかなかデプロイに成功してくれませんでした。 必要なRoleはアタッチしているはずですが、以下のようなエラーが出続けました。 The overall deplo…

AWS CodeDeploy で登録した GitHub トークンを削除したい

AWS CodeDeployは、EC2、Lambda、オンプレサーバなどへのデプロイを自動化してくれるサービスです。 デプロイのリビジョンタイプとして、アプリケーションをS3に置いておくかGitHubに置いておくか選ぶことができます。 GitHubに置いておく場合はCodeDeployが…

Laravel の Storage で disk として S3 を指定したときに deleteDirectory できない

LaravelにはStorageというファサードがあり、ローカルだろうがS3だろうが簡単ファイル操作を簡単に行うことができ、とても便利です。 例えば、localにファイルを設置したい場合は、 Storage::disk('local')->putFile('', $file); などとすることができ、loca…

Laravel の Storage で S3 の特定のディレクトリをプレフィックスとして固定したい

LaravelにはStorage というファサードがあり、ローカルだろうがS3だろうが簡単ファイル操作を簡単に行うことができ、とても便利です。 config/filesystems.phpのdisksにはデフォルトで以下のような設定があります。 'disks' => [ 'local' => [ 'driver' => '…

EC2 の Ubuntu18.04 に PHP7.3 をインストールして Laravel 5.8 と BEAR.Sunday を試す

はじめに タイトルの通りで、AWSのEC2インスタンスにPHP7.3をインストールして使うことがあったのでメモしておきます。 最低限のことしかやらないので、これ以上のことをしようとすると色々足りないと思います。 環境 AWS EC2インスタンス t2.micro Ubuntu S…