タグ

ブックマーク / qiita.com (354)

  • 10年モノのインフラを3年がかりでカイゼンした - Qiita

    CI いちおうJenkinsが立ってました。失敗して赤くなってるジョブが大半で、かといって誰が治すわけでもなく、よくわからないけど失敗したり成功したり、とにかく不安定でした。 CloudWatchのメトリクスで眺めて、EBSのIOPSクレジットの枯渇から激遅になって、Jenkinsジョブのタイムアウト設定で失敗になる、まで明らかにしました。その時の対処は、IOPSクレジット上限サイズの1TBのSSDのEBSを付けることと、同時並行で動けるJenkinsジョブ数に上限を設けることで、落ち着くようになりました。 とはいえ「Jenkinsおじさん」問題があるので、CIをどうにか民主化する必要があります。SaaSから検討して、TravisCIとCircleCIが最終候補になって、トラブルシュートをSSHでできるのを決め手に、CircleCIを導入しました。 8月末にCircleCI1.0が死んだと

    10年モノのインフラを3年がかりでカイゼンした - Qiita
    zsiarre
    zsiarre 2018/09/18
  • Vim でヌルヌルページめくり - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Vim でヌルヌルページめくり - Qiita
    zsiarre
    zsiarre 2018/09/03
  • AWSのParameter StoreとSecrets Manager、結局どちらを使えばいいのか?比較 - Qiita

    AWSのアクセスキー/シークレットアクセスキーのコード書き込みは危険 GitHubにAccess Key/Secret Access Keyを含むコードをPushしてしまい、 公開されたキーで犯罪者にAWS環境へのアクセスを許してしまい、 ハイスペックインスタンスタイプ(料金が高い)のインスタンスを 仮想通貨マイニング等に利用されてしまい、 請求書を見て青ざめる、 というインシデントが定期的に発生しています。 今年の2月にその危険性を検証された方がおられ、 **「git pushから13分でご利用開始」**とのこと。 GitHubAWS キーペアを上げると抜かれるってほんと???試してみよー! - Qiita GitHubからアクセスキーを抽出するスクレイピング、 完全に自動化されてますね。 AWSもユーザへの啓蒙として、 AWSアクセスキーを管理するためのベストプラクティスを公開し

    AWSのParameter StoreとSecrets Manager、結局どちらを使えばいいのか?比較 - Qiita
    zsiarre
    zsiarre 2018/09/03
  • LPICとLinucの関係調べたのでできる限り中立にメモ - Qiita

    #結論 よくある「お家騒動」。 現状(2018年8月時点)ではどっち受けても変わらなさそう #ポイント もともと、LPI-JapanがLPICの日代理店だったが、いざこざで分裂。 夏からLPI部が「LPIC日支部」(LPI-Japanとは別組織)を立ち上げた。 「LPICが廃止された(Linucに移行した)」わけじゃなく、「団体が分裂した影響で、資格が2つになった」と認識すべし。 #所管 LPI-Japan(元LPI代理店):Linuc LPIC日支部:LPIC #時系列 LPI-Japan ( Linuc ) 2018初春にLinucを新資格を立ち上げ 2018夏までLPIC有資格者はLinucを無料で取得できる移行措置を実施 しばらくはLPICとほぼ同等範囲の受験範囲(フェーズ1) 2019に”日市場に特化した(売り文句)”テストとしてリニューアル予定(フェーズ2) 2018

    LPICとLinucの関係調べたのでできる限り中立にメモ - Qiita
    zsiarre
    zsiarre 2018/09/03
  • AWSにOpenVPN[AmazonLinux]を構築(冗長化 + SimpleADでユーザー認証編) - Qiita

    これだけです。 上に記載したものが優先度が高いので、まずは1台目に接続しにいきます。 keep-aliveのデフォルト値まで応答がなかったら2台目に接続しにいきます。 冗長化としてはこれで完了です。(負荷分散ではないです) ・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・ これで終わりではないです!! 実際に運用しようと考えた時、いろいろ問題があります。 ユーザー管理どうしよう? ローカルのOSユーザーを2台でそれぞれ追加?イケてない 接続先のEC2をプライベート向け(外部に公開しない)のWebサーバーとした時、InternalELBを前段にかましたい InternalELBをRoute53で名前解決したい でもRoute53のPrivateHostedZoneはVPC内でしか使えない (VPNクライアントはRoute53のレコードを参照し

    AWSにOpenVPN[AmazonLinux]を構築(冗長化 + SimpleADでユーザー認証編) - Qiita
    zsiarre
    zsiarre 2018/08/05
  • SendGridとAmazon SESを比較してみる - Qiita

    これはSendGrid Advent Calendar 2016の14日めの記事です。 昨日は@kikutaro_さんのSalesforceからSendGridを利用してメール送信する!でした。 SendGridエバンジェリストの@nakansukeです。今日はタイトルの通りSendGridとAmazon SESの比較をしてみたいと思います。比較と言っても価格等の公開情報や、送信前の制限解除などすぐに見つかる情報は置いておいて、サービス選定時におさえておいたほうがよい内容に絞って取り上げます。 細かな情報について、SESBlack Beltのスライドを見るのが一番早いと思います。 SendGridは、ブログ、FAQ、ドキュメントあたりをご確認ください。 SendGridエバだからといってSESをディスろうとかそういう意図は全くありませんが、もし誤っている部分があったらコメント等いただける

    SendGridとAmazon SESを比較してみる - Qiita
    zsiarre
    zsiarre 2018/07/19
  • 【SIer新人向け】研修では教えてくれないノウハウ集 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 「ようこそ 魔境 SIerへ!」 はじめに この記事は、SIer(Systems Integrator)に入ったシステム開発未経験者の新人さんたちへ送る、研修では教えてくれないノウハウ集です。 実際、弊社の長い研修では実務に使えそうなことをあまり教えてくれませんし、ノウハウは現場の人の頭にしかない状態なので、新人さんは暗中模索で仕事を覚えていくことになります。 それも非効率なので、実際に私が2年半1で失敗したこと、やってきてよかったこと(ノウハウ)を体系化したので共有します。 (当はガッツリ社内向けに書いたものなので、一部汎用的でない

    【SIer新人向け】研修では教えてくれないノウハウ集 - Qiita
    zsiarre
    zsiarre 2018/07/18
  • 障害対応で一番最初にやるべきことは全体への周知じゃね? - Qiita

    結構「障害対応ハウツー」みたいなのはググればいくらでも記事が出てくるけどここに言及してる記事が案外少ないなあと思ってどうしても書きたくなりました. 新人でもすぐできるからぜひ覚えてもらいたくて「新人プログラマ応援」のタグも付けました. 監視ツールの通知によってとか, 誰かに「このページ見れなくなってるよ」って教えてもらうとか, 何らかの手段によってエンジニアが障害の発生に気づいたとき, 一番始めにやることは全体への周知だと思っています. 「一番始めに」 一番始めにというのは, まさに何を差し置いても一番始めにということです. 障害に気づいたエンジニアはつい 「どこのページだ」 「レスポンスタイム10秒って出てるけどホントかよ試しに俺もアクセスしてみよう」 「さっきのデプロイが原因じゃねえか?」 などと口走りがちですが, これらの気持ちをグッと堪えてまずは周知に意識を向けるべきです. 「全体

    障害対応で一番最初にやるべきことは全体への周知じゃね? - Qiita
    zsiarre
    zsiarre 2018/07/02
  • nginx+ngx_luaで証明書動的読み込みの常時HTTPS用リバースプロキシを手軽に立ててみる - Qiita

    Google Chrome 68 による非 HTTPS サイトの Not secure(保護されていません)警告待ったなし!の今頃になってこの記事を出すのもどうかとは思うのですが、 nginx+ngx_lua を使って(実際には OpenResty を導入するのがお手軽) 静的な設定ではなく、動的に SSL/TLS 証明書を読み込む形の SSL/TLS ラッパー兼リバースプロキシを手軽に立ててみる ということを(今更ながら)やってみます。 なお、想定している環境・状況等は、 ドメイン名(FQDN)はそこそこたくさんある(数百~)が、万単位までは行かない アクセス数(PV)はそれほど多くない(リバースプロキシをたくさん立てないといけない状況ではない) Let's Encrypt などを使って証明書を自動更新している/したい 但し、証明書の発行はある程度人手でコントロールしたい(「初回アクセス

    nginx+ngx_luaで証明書動的読み込みの常時HTTPS用リバースプロキシを手軽に立ててみる - Qiita
    zsiarre
    zsiarre 2018/07/02
  • HTTP/1.x⇒HTTP/2 仕様変更で困ったこと (利用暗号の制約・httpヘッダーの小文字化) - Qiita

    はじめに こちら、そろそろ知っておきたいHTTP/2の話という良くまとめられた記事を見ていて、色々と苦い記憶がよみがえってきたのですが、そういうHTTP/2仕様に困った系記事があまり見当たらなかったのでまとめました。 HTTP/2とは 機能 現在支流のHTTP 1/1よりもより効率よく、セキュアな通信をもらたす為に色々なアップグレードを施したHTTPの規格です。 特徴をざっというと、こんな感じ。 ストリーム、メッセージ、フレームという新しいデータの交換方式を利用することによる、実TCPセッション数削減 サーバー プッシュ機能により、複数のレスポンスが送信可能 HTTPヘッダーの仕組みを見直し、ヘッダー圧縮によるネットワーク負荷軽減 HTTPS(TLS)との関係 実はHTTP/2はHTTPSと深い関係があります。 実質的にHTTPS必須、しかもTLS1.2以上、cipher-suiteはTL

    HTTP/1.x⇒HTTP/2 仕様変更で困ったこと (利用暗号の制約・httpヘッダーの小文字化) - Qiita
    zsiarre
    zsiarre 2018/06/27
  • オートスケールグループのヘルスチェックについて調べてみた - Qiita

    オートスケールグループのヘルスチェックについて調査してみたのでその時のメモ。(ELBのヘルスチェックではない) オートスケールのヘルスチェックについて オートスケールのヘルスチェックを利用することで不正なインスタンスを自動でterminateすることができる機能です。 ヘルスチェック(Auto Scaling インスタンス対象) ELB ヘルスチェックのチェック間隔は ELB で設定します。 EC2 のヘルスチェック間隔は規定値に基づいて行われ、ユーザ側で変更する事はできません。 以下のいずれかの場合にオートスケールは対象のEC2インスタンスを不正なインスタンスとみなし、自動でterminateさせます。 インスタンスステータスがrunning以外の場合 システムステータスが impaired である場合 オートスケーリンググループのElastic Load Balancingの設定を行っ

    オートスケールグループのヘルスチェックについて調べてみた - Qiita
    zsiarre
    zsiarre 2018/06/04
  • nginxの設定ミスで起こるパス トラバーサル - Qiita

    はじめに この記事は下記リンクの日語翻訳記事です 翻訳が誤っている場合はコメントか@no1zy_secまでお知らせいただけると幸いです。 [alias_traversal] Path traversal via misconfigured alias aliasディレクティブは指定されたlocationのパスのreplaceに使用されます。 例えば以下の設定:

    nginxの設定ミスで起こるパス トラバーサル - Qiita
    zsiarre
    zsiarre 2018/06/04
  • systemd環境におけるハードウェアクロック調整 - Qiita

    切迫した事情があったわけではありませんが、気になって調べたので結果をまとめておきます。 テスト環境はopenSUSE Tumbleweedですが、まぁsystemd環境では大概同じでしょう。 まずはsystemdに尋ねる $ timedatectl statusして、得られる出力はこんな感じになります。 $ timedatectl status Local time: 火 2017-11-07 18:29:15 JST Universal time: 火 2017-11-07 09:29:15 UTC RTC time: 火 2017-11-07 18:29:15 Time zone: Asia/Tokyo (JST, +0900) Network time on: no NTP synchronized: yes RTC in local TZ: no $ ただし上例は一点を除いて全く正

    systemd環境におけるハードウェアクロック調整 - Qiita
    zsiarre
    zsiarre 2018/06/04
  • CentOS 7.2でdnfを使う方法 - Qiita

    dnfとは何か? dnfとはyumに代わる次世代のパッケージマネージャ。 背景 CentOS 7.2ではdnfがインストールされていないためインストールを行う必要がある。 インストール方法 以下のコマンドでインストールを行った。 wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/dnf-conf-0.6.4-2.sdl7.noarch.rpm wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/dnf-0.6.4-2.sdl7.noarch.rpm wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/python-dnf-0.6.4-2.s

    CentOS 7.2でdnfを使う方法 - Qiita
    zsiarre
    zsiarre 2018/06/03
  • 【今更】Zabbixのicmpping監視について - Qiita

    Zabbixのicmppingですが、実際はfpingを実行して値を取得してます。 なので、icmpping監視を設定している場合、下記のようにpsコマンドを実行するとタイミングが合えばfpingのプロセス情報が取得できます。 ]# ps -ef|grep fping zabbix 20186 1494 0 16:52 ? 00:00:00 sh -c /usr/sbin/fping -C3 2>&1 </tmp/zabbix_server_1494.pinger;/usr/sbin/fping6 -C3 2>&1 </tmp/zabbix_server_1494.pinger; zabbix 20187 20186 0 16:52 ? 00:00:00 /usr/sbin/fping -C3 root 20189 20149 0 16:52 pts/0 00:00:00 grep fpi

    【今更】Zabbixのicmpping監視について - Qiita
    zsiarre
    zsiarre 2018/05/31
  • 超入門訳TensorFlow MNIST For ML Beginners - Qiita

    はじめによりはじめに プログラミングもデータ分析も初心者、高校数学しか知らないのにTensorFllowに手を出したのですが、TensorFllow入門で調べてみても、全く入門でなかったのでTensorFlow MNIST For ML Beginnersチュートリアルを訳してくださっていたものを自分なりに解釈して書き換えました。 せっかくなので投稿します。 自分のために作ったので、よくわからないところは赤字、分かった気になったところは太字にしてあります。 理解の助けとなるサイト等ありましたら教えていたただけると幸いです。 はじめに このチュートリアルは機械学習と TensorFlow の初心者を想定しています。もしMNISTやsoftmax(多項ロジスティック)回帰について知っているなら、より早いペースのチュートリアル が良いかもしれません。 プログラムを学ぶ時、最初に “Hello W

    超入門訳TensorFlow MNIST For ML Beginners - Qiita
    zsiarre
    zsiarre 2018/05/25
  • ゲームでよく見落とされるテストケースとその再現手法 - Qiita

    システムの開発をしていれば、開発したものをテストすると思います。 単体テストや結合テストなど、テスト手法はいくつか存在しますが、想定していなかったケースに対してテストを行うことは難しいです。また最後はシステムテスト(実際に動かして、触ってみるテスト)を行うことになると思います。 (テスト手法などについてはこちらを参照) テストを行うには相応の時間がかかり、テストに時間をかけられない場合もあります。また、開発者以外の人がテストを行うことも多くあります。 そして、いくらテストを行っても、バグを全て発見、修正することはできませんし、実際にゲームを公開し、運用していくことで見つかるバグも多くあります。(ユーザーは基的に開発時には想定していなかったことも行なってきますので...) 実際の開発段階では見落とだったしがちな割と特殊なテストケースを(実際に自分がデバッグするときの備忘録として残すために)

    ゲームでよく見落とされるテストケースとその再現手法 - Qiita
    zsiarre
    zsiarre 2018/05/25
  • Nginx balancer_by_luaの話とupstream名前解決の話 - Qiita

    balancer_by_lua_xxxxx いつの間にやら1 lua-nginx-module に balancer_by_lua_xxx という新しいディレクティブが増えていました。 以下ドキュメントより抜粋。 http { upstream backend { server 0.0.0.1; # just an invalid address as a place holder balancer_by_lua_block { local balancer = require "ngx.balancer" local host = "127.0.0.2" local port = 8080 local ok, err = balancer.set_current_peer(host, port) if not ok then ngx.log(ngx.ERR, "failed to set

    Nginx balancer_by_luaの話とupstream名前解決の話 - Qiita
    zsiarre
    zsiarre 2018/05/21
  • ngx_dynamic_upstreamでnginxのアップストリームを動的に変更する - Qiita

    nginxのアップストリームを変更する 通常nginxでアップストリームの変更をするにはnginx.confを変更した後、nginxをreloadないしはrestartしなければなりません。例えば以下のようにアップストリームが定義されている場合、

    ngx_dynamic_upstreamでnginxのアップストリームを動的に変更する - Qiita
    zsiarre
    zsiarre 2018/05/21
  • [Google Maps Platform]既存サービスが2018年6月11日までにやらなければいけないことと新料金体系の比較 - Qiita

    [Google Maps Platform]既存サービスが2018年6月11日までにやらなければいけないことと新料金体系の比較JavaScriptAndroidiOSGoogleMapsAPI 2018年5月3日に [Action Required] Important changes to your Google Maps APIs account のタイトルでメール通知があり、以下記事のアナウンスがありました。 Introducing Google Maps Platform 2018年6月11日からサービスが一新され、アカウントが紐付いてないAPIキーまたはAPIキーを利用してないアクセスはできなくなるとのことでした。 主な変更内容 ・「Google Maps API」から「Google Maps Platform」に名称変更 ・利用するにはAPIプロジェクトと課金アカウントの紐付け

    [Google Maps Platform]既存サービスが2018年6月11日までにやらなければいけないことと新料金体系の比較 - Qiita
    zsiarre
    zsiarre 2018/05/13