タグ

ブックマーク / dev.classmethod.jp (355)

  • 「UNIXという考え方」から連想されるすべてのアイデア | Developers.IO

    ちゃだいん(@chazuke4649)です。 今社内で改めて名著であるとしてその名前をよく見聞きする「Unixという考え方」。積ん読になっていたので最近ようやく読みました。すると驚くほど気づきが多かったので今回ブログで書いてみることにしました。 前提として日頃考えていること ちょっと自論ですが、IT(情報技術)、コンピューター、インターネット、これらの分野の質は「課題解決」であると考えます。それを実現するための道具(手段)として現在私たちがありがたく使っている様々な技術が存在すると思うのです。それはどういうことかというと、これらの技術が発達した背景にはいつも何かの課題があり、それを解決するための工程や軌跡がこれらの歴史を作ってきたという風にみて取れるからです。例えば、ワールドワイドウェブの誕生は多くの場面で語り尽くされていますが学会の論文にて引用している文献をいちいちメールや郵送でやり取

    「UNIXという考え方」から連想されるすべてのアイデア | Developers.IO
    syuu256
    syuu256 2020/09/02
  • [初級編] なぜ「AWS で負荷分散は3AZ にまたがるのがベストプラクティス」と言われるのか 可用性の面から考えてみた | DevelopersIO

    水平分散のアーキテクチャを考えるときに、「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」「AWS であれば3 AZ にまたがるとよい」とはよく聞かれます。それがどういう意味をもつのか、主に可用性の面から考えてみました。 みなさん、AWS使ってますか!(挨拶 AWSに限らず、ある程度の規模の何かしらの番システムを組もうというときに、こういう言葉を聞いたことはないでしょうか。 「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」 「AWS であれば3アベイラビリティゾーン (AZ) にまたがるとよい」 負荷分散装置(ロードバランサー)は負荷を分散するのがお仕事です。分散するだけなら 2 台でもよさそうですよね? AWS の3 AZ に至っては、そもそも AZ 単位の障害なんてそうそうないし、あったとしてももう片方の AZ が生きていればなんとかなりそうに思えます。

    [初級編] なぜ「AWS で負荷分散は3AZ にまたがるのがベストプラクティス」と言われるのか 可用性の面から考えてみた | DevelopersIO
    syuu256
    syuu256 2020/08/24
  • AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO

    こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きなネクストモード株式会社の吉井 亮です。 日国内においても多くのシステムがクラウド上で稼働していることと思います。 俊敏性、拡張性、従量課金、IaS、セキュリティなどクラウドのメリットを享受しやすい所謂 SoE で多くの実績があるように感じます。 ここ1~2年は、社内基幹システム・情報システム、SoR 系のシステムのクラウド移行が格化してきたというのが肌感覚であります。 クラウドでのシステムインフラ構築は従来のようにゼロから非機能要件定義を行っていくものではなく、ベストプラクティスをまず実装して少しずつ微調整を行っていくものと考えています。とはいえ、システムごとの要件は予め明らかにしておくことがインフラ構築においても重要になります。 クラウド上では出来ること出来ないこと

    AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO
    syuu256
    syuu256 2020/07/27
  • ECSのオペレーションを劇的に簡略化するAWS Copilotが発表されました! | DevelopersIO

    ECSの運用において作成しなければならない膨大なAWSリソースを劇的に簡単なコマンドでまるっと作成〜運用〜管理できるコマンドラインツールCopilotの紹介です。 「いざECSの運用はじめようとしても、作らないといけないものめっちゃあるよなぁ。正直しんどい…」 ECS環境の構築って考慮が必要な項目ってものすごく多いんですよね。ネットワーク関連、ロードバランサー、リポジトリ、データベース、ECSそのもの、さらにそれをデプロイするためのパイプラインやデプロイ設定。 そんな辛さを一気に解消するAWS Copilotが発表されました! AWS Copilot のご紹介 | Amazon Web Services ブログ 英語のブログ記事と同じタイミングで日語がでるとは、toriの人も相当気合が入ってますね! Amazon ECS でのコンテナ実行に新たな体験を提供する AWS Copilot の

    ECSのオペレーションを劇的に簡略化するAWS Copilotが発表されました! | DevelopersIO
    syuu256
    syuu256 2020/07/10
  • [アップデート] Lambda から共有ファイルストレージの EFS が利用可能になりました! | DevelopersIO

    日のアップデートLambda から EFS が利用可能になりました! AWS Lambda support for Amazon Elastic File System now generally available 何が嬉しいのか S3 を介さないファイル連携 Lambda でファイル連携を行うには一般的に S3 を介して利用されてきましたが、そもそも連携するためには連携させたいシステムが S3 にアクセスできるような仕組みになっている必要がありますが、オンプレからそのまま AWS に移行してきたようなシステムの場合、S3 へアクセスするための改修にハードルを感じる方も少なからず居られたかと思います。 今回、EFS に対応したことで単純にファイルシステムとしてファイル連携することが可能となりますので、そういった改修をせずとも Lambda と連携させた処理が実装しやすくなるのではな

    [アップデート] Lambda から共有ファイルストレージの EFS が利用可能になりました! | DevelopersIO
    syuu256
    syuu256 2020/06/17
  • Cognito ユーザープール + ALB の認証にソーシャルサインイン(Google)を追加してみた | DevelopersIO

    ちゃだいん(@chazuke4649)です。 Amazon Cognito と Application Load Balancer を使用すると、AWSサービスだけで簡単に認証機能を実装できます。 過去に以下エントリにてこれらの構成は紹介されていました。 今回は、この構成にさらにソーシャルサインインを追加して、Cognitoユーザープールの認証でも ソーシャルサインインとしてのGoogle認証でも選べる状態を目指します。つまり、ALB + Cognito ユーザープール + ソーシャルサインイン(Google) という状態です。下図のような構成となります。 ちなみに、似ているようで違うパターンとして、「ALB + OIDC(Google)」の構成があります。詳細は以下エントリです。 こちらは、Cognito を経由せずに、直接 ALBの組み込み認証機能とOIDCとしてのGoogle認証を連

    Cognito ユーザープール + ALB の認証にソーシャルサインイン(Google)を追加してみた | DevelopersIO
    syuu256
    syuu256 2020/06/16
  • EC サイトの決済(与信)処理を非同期的に実施する場合の処理フローについて紹介 | DevelopersIO

    概要 先日 EC サイト決済で特によく用いる 「与信」 と 「売上」 および関連する決済処理 についての記事をまとめました。 上記では主にクレジットカード決済での同期的な処理フローを例に話をしました。ただし、決済方法によってはこのような単純なフローではなく、非同期的な処理フローとなる場合があります。 当記事では非同期処理の代表的なフローをご紹介します。特に「与信」の処理は非同期で行うことが多いので、以下与信の非同期処理フローについて紹介します。 クレジットカード人認証(3Dセキュア) その他オンライン決済 prismatix ( EC / CRM 向け API プラットフォーム) の決済サービスは、以下で紹介するフローを考慮した機能を提供しております。 非同期的な処理フローについて 「完了の結果を受け取る処理は、そのリクエストを受けた処理とは別となる」 フローのことを、ここでは非同期的

    EC サイトの決済(与信)処理を非同期的に実施する場合の処理フローについて紹介 | DevelopersIO
    syuu256
    syuu256 2020/06/11
  • そのトラフィック、NATゲートウェイを通す必要ありますか?適切な経路で不要なデータ処理料金は削減しましょう | DevelopersIO

    コスト最適化のご相談をいただくなかで、NAT Gateway に不要なコストが掛かっているパターンが多くみられます。また、そのような環境に限って NAT Gateway にかなりのコストが掛かっていることを把握されていないケースも少なくありません。 今回は見落としがちな NAT Gateway で無駄なコストが発生してしまうケース、何処へのアクセスで NAT Gateway を浪費してるかを確認する方法、そしてどのような改善パターンがあるかをご紹介します。 (記事中で記載の価格はいずれも、執筆時点の東京リージョン価格を参考にしています) 目次 よくある構成 NAT Gateway に関わる料金のおさらい NAT Gateway 料金 AWS データ転送料金 実際の料金例 何が NAT Gateway を使ってるのか見当がつかない データ通信の方向を確認 VPC フローログから NAT G

    そのトラフィック、NATゲートウェイを通す必要ありますか?適切な経路で不要なデータ処理料金は削減しましょう | DevelopersIO
    syuu256
    syuu256 2020/06/09
  • LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO

    こちらの記事はRDS ProxyがGAされる前に執筆した記事です。現在はLambdaからRDSを利用する場合、間にRDS Proxyを挟むという選択肢が増えているので、まずはRDS Proxyを使う/使わないの検討をお願いします。以後で紹介しているトピックの一部はRDS Proxy利用時は考え方が変わってきます。 CX事業部@大阪の岩田です。私が現在関わっているプロジェクトではLambda × RDSというアーキテクチャを採用して開発を進めています。開発を進める中でLambda × RDS(RDB)という構成についてある程度ノウハウが貯まってきたので、注意したいポイントやオススメの設定をTIPS的に紹介していきます。 環境 以後の説明では以下の環境の一部もしくは組み合わせを利用しています。具体的なコードやSQLの例はプログラミング言語やDBエンジンに依存しますが、根底の考え方はどの言語、

    LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO
    syuu256
    syuu256 2020/06/08
  • Lambdaのログレベル方針について、チームで話して明文化してみた | DevelopersIO

    Lambdaを実装しているとき、ふと「ログのレベルって決めてたっけ?」となりました。 個人の基準はあってもチームとしては曖昧だったので(開発者のさじ加減)、チームで話し合って明文化してみました。 前提 対象はLambdaのログです ERRORレベルのログがあるとき、Slackに通知する仕組みがあります この通知を元に開発者が確認を行い、必要に応じて対処します AWSの環境は3つです development staging production ログを残す理由 Lambdaの処理で何かあったことを認識するため 何らかの対応(暫定・恒久)を行うとき、参考情報とするため CloudWatch AlarmでLambdaのエラー監視をすればLambdaの実行が失敗したことは分かりますが、適切なログが無ければ、「何をしようとして失敗したのか?」「その時のパラメータは何か?」などが分かりません。 また、

    Lambdaのログレベル方針について、チームで話して明文化してみた | DevelopersIO
    syuu256
    syuu256 2020/05/20
  • 【アップデート】DynamoDBの文字列型/バイナリ型項目に空文字列が登録できるようになりました!! | DevelopersIO

    CX事業部@大阪の岩田です。2020/5/18付けのアップデートにより、DynamoDBの文字列型/バイナリ型項目に空文字列が登録できるようになりました。 簡単ですが、このアップデートについてご紹介します。 何が変わったの? これまでDynamoDBでは文字列型およびバイナリ型の項目に空文字列を登録することができませんでした。 例えばBoto3を使って以下のようなデータを登録しようとすると、、、 { "id":1 , "attr1": "" } 以下のようなエラーが発生して登録することができませんでした。 One or more parameter values were invalid: An AttributeValue may not contain an empty string そのため、アプリケーションから空文字列を扱いたい場合は一旦空文字列をNULLに変換してからDynam

    【アップデート】DynamoDBの文字列型/バイナリ型項目に空文字列が登録できるようになりました!! | DevelopersIO
    syuu256
    syuu256 2020/05/19
  • CentOS 6~CentOS 8の違いをざっくりまとめてみた | DevelopersIO

    CentOS 6~CentOS 8の違い 移行にあたり、重要そうな部分を抜き出してみました。 足りなかったら追記します! CentOS 6 とCentOS 7の主な違い serviceコマンドがsystemctlコマンドへ移行 nmcliコマンドの追加 firewalldコマンドの追加 デフォルトのDBMySQLからMariaDBに変更 ファイルシステムがext4からxfsに変更 CentOS 7 とCentOS 8の主な違い yumコマンドがdnfコマンドへ移行 iptablesコマンドがnftablesコマンドへ移行 NTPコマンドがchronyコマンドへ移行 TLS 1.1以下はサポート対象外 デフォルトのPythonのバージョンがPython 3.6になる デフォルトのPHPのバージョンがPHP 7.2になる 暗号化ボリュームのデフォルト形式がLUKSからLUKS2に変更 yum

    CentOS 6~CentOS 8の違いをざっくりまとめてみた | DevelopersIO
    syuu256
    syuu256 2020/05/19
  • OBSとAWS Elemental MediaLiveでライブ配信をしてみた | DevelopersIO

    こんにちは、大前です。ハロウィンです。 今回は AWS Elemental MediaLive を使ったライブ配信をやってみました。 手順としては以下ブログを参考に進めたのですが、当時と異なる部分もあったため、2019年verとして改めてブログに記して行こうと思います。 【やってみた】AWS Elemental MediaLiveとAWS Elemental MediaPackageでライブ配信してみた #reinvent やってみた AWS Elemental MediaPackage の設定 まず、AWS Elemental MediaPackage でチャンネルを作成していきます。 Create Channel でチャンネル作成画面に移動し、ID, Description, Input type を以下の様に入力します。 CloudFront のディストリビューションを作成する事も出

    OBSとAWS Elemental MediaLiveでライブ配信をしてみた | DevelopersIO
    syuu256
    syuu256 2020/05/05
  • ついに来た! AWS Chatbot が一般公開(GA)になりました! Slack連携が捗ります! | DevelopersIO

    ついに、AWS Chatbotが一般公開(GA)になりました!! AWS Chatbot Now Generally Available AWS Chatbotを使えば、「AWSSlack」または「AWSAmazon Chime」の連携が超簡単にできます! AWS上のイベントをSlackに通知する SlackのコマンドでLambdaを実行する など 追加料金が無いのも嬉しいですね! AWS Chatbotとは AWS Chatbot を使用すると、複数の AWS のサービスを Slack チャンネルおよび Amazon Chime チャットルームと安全かつ簡単に統合し、ChatOps を実現できるようになります。AWS Chatbot を使用すると、運用イベント、セキュリティ検出結果、または予算アラートに関する通知を、チーム全体が確認して議論できるチャットルームで受信できます。 Sla

    ついに来た! AWS Chatbot が一般公開(GA)になりました! Slack連携が捗ります! | DevelopersIO
    syuu256
    syuu256 2020/04/23
  • AWS Simple Monthly Calculator がついに勇退するようです! | DevelopersIO

    2020/05/26 時点で、サポート終了日に関して変更がありましたので、更新いたします。 とはいえ 2020/6/30 以降の明確な日程は記載されていないため、引き続き AWS Pricing Calculator への移行を進めることをお薦めします。 園部です。 出オチ・タイトルオチ 失礼します! AWS Simple Monthly Calculator(SMC) は、AWS をご利用の皆さんであれば、一度は利用または見たことがあるのではないでしょうか? そんな SMC ですが AWS Pricing Calculator が登場したことで、いつの日か訪れるであろうと思われていた引退の日が、ついにやってくるようです。。今までありがとう!! 現在 SMC にアクセスする以下のメッセージが表示されます。そのまま利用する場合は 簡易見積もりツールを続行 を選択することで利用可能です。 (2

    AWS Simple Monthly Calculator がついに勇退するようです! | DevelopersIO
    syuu256
    syuu256 2020/04/10
  • TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO

    みなさんTypeScriptでサーバアプリケーション(Node.js)のロジックを書く時に、異常系の表現をどのようにされていますでしょうか?ここでいう異常系とは、仕様上想定される異常のことです。準正常系と言ったりもするかと思います。 私はJavaScriptの延長でTypeScriptをはじめたので、最初は null や undefined を返したり throw を用いるやり方をしていましたが、次第にTypeScriptが持つ型を生かし、できるだけ型安全に異常系を表現したいと考えるようになりました。そして試行錯誤した結果、いい感じの落とし所に落ち着いたので、その内容についてお伝えしたいと思います。 また記事の後半では、異常系の型を実装する中でハマった点についてもお伝えしたいと思います。 TypeScriptの異常系表現について 1. nullやundefinedを返す 冒頭でも述べたよう

    TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO
    syuu256
    syuu256 2020/03/30
  • Fargate for EKSでチュートリアル「Kubernetesダッシュボードのデプロイ」を試してみた | DevelopersIO

    「Fargate for EKS」を使用して、AWSドキュメントに用意されているチュートリアル「Kubernetesダッシュボードのデプロイ」を試してみました。 みなさん、こんにちは! AWS事業部の青柳@福岡オフィスです。 re:Invent 2019で発表された「Fargate for EKS」を使って、AWSドキュメントに用意されているチュートリアルを試してみました。 チュートリアル: Kubernetes ウェブ UI (ダッシュボード) のデプロイ - Amazon EKS ほぼほぼチュートリアルの手順通りに進めることができましたが、1点だけ注意すべき点がありました。 以下の流れの中でご説明します。 Kubernetesダッシュボードのデプロイ 準備 各種ツールを最新に更新しておきます。 今回使用したのは以下のバージョンです。 $ eksctl version 0.15.0 $

    Fargate for EKSでチュートリアル「Kubernetesダッシュボードのデプロイ」を試してみた | DevelopersIO
    syuu256
    syuu256 2020/03/17
  • [アップデート] より高速に!より低コストに!プライベート統合も可能に!API Gateway の HTTP API が GA されました!

    Working with Stages for HTTP APIs Lambda ペイロードバージョン2.0 Lambda プロキシ統合でペイロード形式バージョン2.0をサポートするようになりました。ペイロードバージョン2.0は、Lambda に送信されるイベントオブジェクトの形式を簡素化します。HTTP API ではデフォルトでペイロードバージョン2.0を使用します。 OpenAPI/Swagger サポート OpenAPI または Swagger構成ファイルのインポートをサポートするようになりました。サポートされたことにより、他の API Gateway サービスから HTTP API への移行が容易になります。 AWS SAM のサポート 2020年3月20日までに、これらの GA で追加された機能が AWS SAM でサポートされるとのことです! AWS SAM support f

    [アップデート] より高速に!より低コストに!プライベート統合も可能に!API Gateway の HTTP API が GA されました!
    syuu256
    syuu256 2020/03/13
  • CloudWatch 複合アラームが利用可能になりました!! | DevelopersIO

    園部です。 CloudWatch アラームで複数のアラームの状態を条件にする複合アラームが可能となりました! Amazon CloudWatch now allows you to combine multiple alarms 複合条件などについてはドキュメントに記載がありますのでご確認ください。 Creating a Composite Alarm やってみる 前置き 今回は、以下の内容でやってみます。 アラーム ① EC2 / CPUUtilization ② EC2 / EBSReadOps 複合アラーム アラーム① AND アラーム② 上記条件がともに 「アラーム状態」になったら SNS でメール通知 アラーム作成 アラーム① CPUUtilization CloudWatch >>> アラーム >>> アラームの作成 検証のため、閾値は極端な値を指定しています。 複合条件とする

    CloudWatch 複合アラームが利用可能になりました!! | DevelopersIO
    syuu256
    syuu256 2020/03/06
  • Amazon EventBridge APIを見てSaaSパートナー実装ができそうな気になろう | DevelopersIO

    ども、ゲストのソラコム大瀧(takipone)です。 AWSで様々なイベント連携を扱うサービスAmazon EventBridgeは既にお使いでしょうか。様々なイベントからLambda関数を呼び出したり、SQSのキューにイベントのメッセージを溜めたりとイベントを統合的に管理する仕組みとして便利ですね。EventBridgeはAWSのイベントはもとより、サードパーティーのSaaSからのイベントを受け取る機能もあります。最近、日でも対応SaaSが増えて注目されていますね。 Amazon EventBridge パートナーとしての日の SaaS ベンダーのご紹介 | Amazon Web Services ブログ 「実はうちも自社サービスを開発していてEventBridgeの仲間に入れないものかと思っている。でもAWSの中の仕組みとの連携と言われても、あまりイメージが沸かないな」とお考えのサ

    Amazon EventBridge APIを見てSaaSパートナー実装ができそうな気になろう | DevelopersIO
    syuu256
    syuu256 2020/03/05