タグ

Yudoufuのブックマーク (2,898)

  • CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき

    1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor activerecord-compatible_legacy_migration index_shotgun デメリット yamlのanchorが使えない マトリクステストだとSlack通知がつらい 合わせて読みたい メリット 1リポジトリ辺り20並列までジョブを並列実行できる これに尽きる。 CircleCIにしろTravis CIにしろorganization(user) *1単位で並列数が縛られているため、例えば同じuserの他のリポジトリでジョブが詰まっていると別リポジトリではqueueが詰まってジョブが実行され

    CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき
  • ECS ScheduleTaskの登録をAPI経由で行う - Qiita

    CloudWatchイベントのAPIを使ってECS ScheduleTaskにスケジュール登録する手順について簡単にまとめた。 下記のブログを書いた時点では理解できておらず、いつか書かないとな思っていたAPI経由でのScheduleTaskの登録手順になります。 Amazon ECS ScheduleTaskで実現するスマートなDockerベースのバッチ実行環境 aws-cliを使ってScheduleTaskを登録する ①CloudWatchEventsにルールを登録 例)毎朝9:00(JST)に起動する「ecs-task-schedule-hogehoge」という名前のイベントを登録する。 ※CloudWatchイベントの時刻はGMTなので注意 ## イベントの登録 $ aws events put-rule --schedule-expression "cron(0 0 * * ? *

    ECS ScheduleTaskの登録をAPI経由で行う - Qiita
  • Elastic Network Interface のトランキング - Amazon Elastic Container Service

    awsvpc ネットワークモードを使用する各 Amazon ECS タスクには、独自の Elastic Network Interface (ENI) が割り当てられ、その ENI はそれをホストするコンテナインスタンスにアタッチされます。Amazon EC2 インスタンスにアタッチできるネットワークインターフェイスの数にはデフォルトの制限があり、プライマリネットワークインターフェイスも 1 つとしてカウントされます。例えば、デフォルトでは c5.large インスタンスには最大 3 つの ENI がアタッチされています。このインスタンスのプライマリネットワークインターフェイスも 1 つとしてカウントされるため、このインスタンスに追加でアタッチできる ENI は 2 つです。awsvpc ネットワークモードを使用する各タスクには ENI が必要なため、通常このインスタンスタイプでは、このよ

  • 【レポート】Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門 – Developers.IO TOKYO 2019 #cmdevio | DevelopersIO

    Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門 2019年11月1日(金)に、クラスメソッド主催の技術カンファレンス「Developers.IO 2019 TOKYO」が開催されました。 【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数! 記事では、瀬良和弘氏によるセッション「Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門」をレポートします。 スピーカー Slack Japan 株式会社 ディベロッパーリレーションズ パートナーエンジニア 瀬良和弘 様 セッション資料 レポート Slack Platformの紹介 APIだけでなくUIも合わせてSlack Platformと呼んでいる Slackクラ

    【レポート】Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門 – Developers.IO TOKYO 2019 #cmdevio | DevelopersIO
  • Announcement: ELB stickiness updates to support Feb 2020 Chromium CORs changes

    You have been redirected here because the page you are trying to access has been archived. AWS re:Post is a cloud knowledge service launched at re:Invent 2021. We've migrated selected questions and answers from Forums to AWS re:Post. The thread you are trying to access has outdated guidance, hence we have archived it. If you would like up-to-date guidance, then share your question via AWS re:Post.

    Announcement: ELB stickiness updates to support Feb 2020 Chromium CORs changes
  • テストコードを除外したDockerイメージをテストする

    Docker番環境で利用する場合、ユニットテストとイメージの関係は次のようにいくつか考えられます。 ユニットテストをパスしたコードで番用イメージを作成する テストコードを含むイメージを作成しユニットテストを実行。通ったものを番で利用する。 テストコードを除いたコードでイメージを作成し、そのイメージをテストをする。通ったものを番で利用する。 今回は下記の理由から3.の方法をやってみました。 テストをパスしたイメージをそのまま番環境で利用したい テストコード自体は番環境では不要 イメージは小さければ小さいほどPullやPushなどの取り回しが楽になる テスト対象のコードとテストコードの用意 テストコードを含むパッケージを用意します。 今回用意したパッケージ構成はこちらです。 $ tree . ├── Dockerfile └── pkg ├── __init__.py ├── m

    テストコードを除外したDockerイメージをテストする
  • DockerfileのCMDとENTRYPOINTを改めて解説する - Qiita

    TL;DR dockerで、コンテナ内で実行するプロセスを指定してのコンテナ起動方法は以下のとおり。 docker run <コンテナ指定> <プロセス指定> [ <プロセスに与える引数指定> ] docker runで、起動するプロセスを毎回指定するのが面倒で、決まった特定のプロセスを指定したいなら、以下のどれかを選択する。 (ENTRYPOINTを指定しない場合) DockerfileのCMD項目でプロセスおよびそれへの引数を指定する。この場合、docker run <コンテナ指定> [RET] のようにプロセス指定を省略して起動したときに、CMD項目で指定した内容が起動するプロセスのおよびそれへの引数の指定となる。 docker run <コンテナ指定> <プロセス指定> [ <プロセスに与える引数指定> ] <----------CMDで省略値を与えられる---------> (E

    DockerfileのCMDとENTRYPOINTを改めて解説する - Qiita
  • Session Manager経由でEC2にsshする - Qiita

    クラメソさんのブログ以上のことは何もやっていないですが、いくつかハマったポイントが有ったので記録に残しておきます。 手順 サーバにssm-agentをインストールする 通常のEC2を立ち上げる場合はデフォルトでインストールされているようです。 https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-manual-agent-install.html 2017 年 9 月以降の Amazon Linux AMI にインストールされます。SSM エージェント は、デフォルトで、Amazon Linux 2 AMI にもインストールされます。 ECSで使うインスタンスの場合は、自分でssm-agentを入れないといけないようなのでuserdata.shに以下のように書いてインストールするようにします

    Session Manager経由でEC2にsshする - Qiita
  • AWS CloudWatch LogsでECSのログを手軽に取り扱う - UUUMエンジニアブログ

    AWSの監視といえばCloudWatchですが、CloudWatchの中に、CloudWatch Logsというログ管理用のサービスがあります。 特にECSとの連携が強力なので、そこに焦点を当てて紹介したいと思います。 CloudWatch Logsの概要 簡単に言えば、そこにログを出力しておいて、コンソール等からログを確認できるサービスです。 ログ分析といえばSplunkやTreasure Dataといったサービスを思い浮かべますが、それらよりはもう少しシンプルで、基的には現在時刻近辺のログを見ることに特化しております。過去のログから集計というような機能はありません。 格的に使うには物足りないところも多いですが、AWSで手軽かつ低予算でログを管理するにはお勧めです。 ECSからコンテナのログをCloudWatch Logsに出力する ECSというかDockerには logging d

    AWS CloudWatch LogsでECSのログを手軽に取り扱う - UUUMエンジニアブログ
  • [AWS]ECSを利用し、コンテナのログをCloudWatch Logsへ出力する | DevelopersIO

    コンニチハ、千葉です。 ECSでは様々なログドライバーがサポートされています。(2017/8現在)※最新情報はこちらで確認 json-file syslog journald gelf fluentd awslogs splunk この中からCloudWatch Logsを試して見ました。また、ECSではIAMロールをサポートしているのでアクセスキーを払い出さなくんても様々なAWSサービスと連携が可能です。今回は、このCloudWatch LogsのログドライバーとIAMロールを利用してログを出力してみます。 やってみた コンテナへのIAMロールアタッチは不要 ECSインスタンス用のEC2には「AmazonEC2ContainerServiceforEC2Role」をアタッチしているかと思います。このIAMロールにCloudWatchへのログ出力権限が付与されています。そのため、タスク定義

    [AWS]ECSを利用し、コンテナのログをCloudWatch Logsへ出力する | DevelopersIO
  • ECSのチュートリアル - コンテナ運用を現実のものにする - Qiita

    皆さんこんにちは 以前にコンテナの何がいいのかを説明する資料を作りました。 「やっぱりコンテナ運用しか無いな」 「コンテナを使わざるを得ない」 「とりあえずdocker入れとけばいいや」 という声が聞こえてきそうです(幻聴) 一方で、コンテナで運用するとなると、新たなる監視体制が必要となります。 例えば、Dockerのコンテナが突然停止した場合、その状況を検知し、新しくコンテナを立ち上げる必要があります。 また、そもそもコンテナが乗っている環境をスケールする必要が出たりして、その場合は新しくスケールされた環境でもコンテナを立ち上げなければならないし、その設定をサーバに書かなければならないけど、そうなると結局コンテナが乗っているサーバがブラックボックス化したりするわけで、なんとかうまく回そうとすると、それなりに気を配ることが多くなってきます。 最近はlaradockを使用する開発者が増えてき

    ECSのチュートリアル - コンテナ運用を現実のものにする - Qiita
  • MySQLのVARCHARサイズについて

    正確な最大長がわからないときの最小かつ十分なサイズの値ってどう決めるのが良いのだろうーと思ってつぶやいてみたところ、多くの方々に返信いただけました。ありがとうございます。

    MySQLのVARCHARサイズについて
  • MySQL(InnoDB) で charset を utf8mb4 にする注意点の現在

    絵文字に対応したいなどの理由で utf8mb4 を使う。 ただ、utf8mb4 に設定するだけだと以前は問題があった。 MySQL 5.7.9 以降では解決されたので、その話をまとめる。

    MySQL(InnoDB) で charset を utf8mb4 にする注意点の現在
  • MySQL(InnoDB) で "Index column size too large. The maximum column size is 767 bytes." いわれるときの対策 - かみぽわーる

    tl;dr: MySQL 5.5.14以降だとinnodb_large_prefixオプションで3072バイトまでインデックス張れる MySQL(InnoDB)では、ひとつのカラムのキープレフィックスの最大値が767バイトという制限があるので、ついうっかりして Index column size too large. The maximum column size is 767 bytes. とか Specified key was too long; max key length is 767 bytes といったエラーを見たことある人は多いのではないかと思います。 よくあるケースだと、varchar(256)以上のutf8なカラムにインデックスを張ろうとするとこのエラーとご対面できます。 CREATE TABLE t (c varchar(256), index (c)); ERROR

    MySQL(InnoDB) で "Index column size too large. The maximum column size is 767 bytes." いわれるときの対策 - かみぽわーる
  • AWS Systems Manager を使用してコンテナインスタンスをリモート管理する - Amazon Elastic Container Service

    AWS Systems Manager (Systems Manager) で Run Command 機能を使用すると、Amazon ECS コンテナインスタンスの設定を安全にリモートで管理できます。Run Command を使用すると、インスタンスにローカルにログオンしなくても一般的な管理タスクを簡単に実行することができます。複数のコンテナインスタンスでコマンドを同時に実行することで、クラスター全体の設定の変更を管理できます。Run Command は各コマンドのステータスと結果をレポートします。 ここでは、Run Command を使用して実行できるタスクのタイプについていくつか例を示します。 パッケージをインストールまたはアンインストールする。 セキュリティ更新プログラムを実行する。 Docker イメージをクリーンアップする。 サービスを停止または起動する。 システムリソースを表

  • AWS Systems Manager を使用してコンテナインスタンスをリモート管理する - Amazon Elastic Container Service

    AWS Systems Manager (Systems Manager) で Run Command 機能を使用すると、Amazon ECS コンテナインスタンスの設定を安全にリモートで管理できます。Run Command を使用すると、インスタンスにローカルにログオンしなくても一般的な管理タスクを簡単に実行することができます。複数のコンテナインスタンスでコマンドを同時に実行することで、クラスター全体の設定の変更を管理できます。Run Command は各コマンドのステータスと結果をレポートします。 ここでは、Run Command を使用して実行できるタスクのタイプについていくつか例を示します。 パッケージをインストールまたはアンインストールする。 セキュリティ更新プログラムを実行する。 Docker イメージをクリーンアップする。 サービスを停止または起動する。 システムリソースを表

  • Amazon EC2 Container Service(ECS)の概念整理 - Qiita

    概念図 とりあえずECSに出てくるエンティティがそれぞれどんな多重度で関連しているのかをまとめてみました。ここからはそれぞれのエンティがどんな概念なのかを解きほぐしていきたいと思います。 図1 概念図 Serviceが中心 ECSは平たく言うと クラスター(=複数EC2インスタンスの集合)の上で Dockerコンテナを使って、 Serviceを動作させる ものです。 図2 例えばの構成 上図は、 Front Service (裏にいるAPIをCallしてWEB UIを提供するもの) API Service (ビジネスロジック、DBへの読み書きをRESTful APIで提供するもの) と言う2つのService で構成されるWEBアプリケーションの例です。 ECSで言うServiceは、Serviceは利用者から見た「サービス」よりも一段階か二段階細かいもので、APIサーバーとか、フロントサ

    Amazon EC2 Container Service(ECS)の概念整理 - Qiita
  • AWSのコンテナサービスECSをALBで分散処理する on Fargate - Qiita

    はじめに AWSエコシステムの中で、コンテナを使ったシステム開発・構築をするための全部入りです。 KubernetesベースなEKSもありますが、執筆時点では東京リージョンで利用不可なことと、Kubernetesを使うのであればGKEのほうがいいと思いますので記事では割愛します。 何を作るのか さて、この記事の目標ですが、 AZ safetyで http to httpsで 独自ドメインな Webサービスを、なるべくAWS内で完結するように構築します。 また、AWS management consoleの画面の行ったり来たりを極力減らしたいと思います。 記事では、セキュリティグループとネットワーク構成については触れませんので、別途ご用意ください。 大まかな構成について おおまかにはApplication load balancerからのトランザクションをデプロイされているコンテナ群に振

    AWSのコンテナサービスECSをALBで分散処理する on Fargate - Qiita
  • インターネットに公開する ELB は Private Subnet に配置してはいけない - Qiita

    はじめに ここに書く内容は、発生したある問題に対して「何故だかわからないけどこうやったら解決した」というやつなので、あまり信用しすぎないようにお願いします・・・。もしこの現象について詳細をご存じの方がいましたらコメントいただけますとうれしいです。 この現象の謎は解明されたので最後に追記してあります。 やりたかったこと ELB から EC2 インスタンスに HTTP リクエストを流す EC2 インスタンスは Private Subnet1 に置く インターネットに出ていくときは Public Subnet にある NAT インスタンスを経由する 発生した問題 ELB に対して HTTP リクエストを投げたときに、レスポンスがものすごく遅いときがある。 ちゃんと返ってくるときは1秒以内に返ってくるのだが、返ってこないときは1分以上待たされる。 ブラウザの開発者ツールで内訳を見てみると、 このよ

    インターネットに公開する ELB は Private Subnet に配置してはいけない - Qiita
  • 外部キー制約に伴うロックの小話

    神戸Pythonの会での SQLAlchemy 入門ハンズオンの資料です。 座学パートの多いSQLAlchemy Primerよりもハンズオンに重点を置いて、日語で書き直しました。

    外部キー制約に伴うロックの小話