CodePipeline で CodeBuild へ環境変数を渡し、上書きすることで CodeBuild を再利用する
CodeBuild を再利用し、不要に作成しない様にした話です。
CodeBuild を再利用し、不要に作成しない様にした話です。
Serverless Framework での上書き設定について詰まった点をまとめました。
基本的には以下公式ドキュメントを参考にしつつ、いくつか実装パターンを試験しました。
oreno-mssh、またの名を omssh という AWS EC2 Instance Connect API を利用した ssh ログインツールを作成しました。
View post on imgur.com
imgur.com2019-06-28 に EC2 Instance Conncet が発表されました!
これによって、セキュリティグループと IAM 権限で ssh アクセス許可が可能になります。
例えば、
会社の IP からのみ、特定の IAM User Group に所属している IAM User に ssh アクセス権限を付与、
別のプロジェクトへ異動した、退職した場合は、その IAM User Group から削除で ssh アクセス権限を剥奪できます。
1 | $ docker ps |
ある日、ECS で起動させている Datadog Agent コンテナが unhealthy になってしまう事象が発生しました。
その原因と対応法をまとめました。
Datadog Agent イメージを現時点の最新バージョン 6 系にすることで解決できました。
Datadog サポートに問い合わせた所、
今回のケースでは Datadog Agent イメージのバージョンが 5 系だったことに起因していました。
バージョン5が最新だった時には設定手続きは以下に沿って実施していました。
https://docs.datadoghq.com/integrations/faq/agent-5-amazon-ecs/
上記手順にて登場する datadog agent の ECS での起動用タスクが以下になります。
ここで指定しているイメージ (datadog/docker-dd-agent:latest) が 5系でした。
https://docs.datadoghq.com/json/dd-agent-ecs.json
datadog/docker-dd-agent:latest
は 5系の最新だった!
現最新バージョン 6系を扱うには以下設定手続きを参照します。
https://docs.datadoghq.com/integrations/amazon_ecs
手続きで変更点はタスク定義の変更くらいです。
https://docs.datadoghq.com/json/datadog-agent-ecs.json
今の所、datadog/agent:latest
が6系の最新になっています。
7系になった際には是非とも互換維持してほしいです。
サポートに問い合わせると、 caseID という問い合わせの ID をいただけます。
その後、caseID を設定し、起動時のログファイル (tar.gz) を取得し、サポート宛に添付しました。
ECS の管理下にある EC2 に ssh ログインし以下実行します。
1 | $ docker run --rm -v /tmp:/tmp -e API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx datadog/docker-dd-agent:latest /etc/init.d/datadog-agent flare <caseID> |
EC2 ホスト上に /tmp/datadog-agent-2019-01-03-12-27-44.tar.bz2
ファイルが取得できるので、それをサポート宛にメール添付しました。
上記でログも含めサポートに連絡した所、API バージョンにより接続中止されている、という指摘を受け、バージョン上げて!という話になりました。
1 | 2019-01-03 12:27:44,472 | ERROR | dd.collector | utils.dockerutil(dockerutil.py:148) | Failed to initialize the docker client. Docker-related features will fail. Will retry 0 time(s). Error: Error while fetching server API version: ('Connection aborted.', error(2, 'No such file or directory')) |
サポートさんありがとう♪
以上です。
参考になれば幸いです。
備忘録です。
AssumeRole でのアカウントスイッチで credentials 情報を持っている場合に対応した boto3.Session での認証の仕方です。
MFA 設定してる場合も付けときました。
AWS EC2 に t3 系インタスタンスが登場した為、サクッとできるかと思いきや、つまづいた箇所をまとめました。
今回対象のインスタンスは HVM で ubuntu 16.04.5 LTS を使用しました。
AWS で LB のログを S3 に保存設定をしている場合に、 インシデントがあった時間帯のログがまとめて欲しいという時に awscli でまとめてログ取得しています。
その時の手順を備忘録としてまとめました。