タグ

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

  • 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
  • AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO

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

    AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO
  • EC2やFargateが最大72%割引となる新しい料金モデル「Savings Plans」がリリースされました | DevelopersIO

    AWSチームのすずきです。 2019年11月7日、AWSのEC2やFargateのオンデマンド料金が 最大72%割引で利用できる新しい料金モデル 「Savings Plans」 がリリースされました。 その概要と、従来のリザーブドインスタンス(RI)との比較について紹介させていただきます。 New – Savings Plans for AWS Compute Services 概要 1年、または3年間の期間で、1時間あたりの利用費をコミットする事により、 コミット分を割引価格で利用する事が可能になりました。 AWSコンソール EC2ダッシュボードに、「Savings Plans」のメニューが追加されています。 コミットメント 1時間あたりの利用費を登録します。 購入コミットメントの最小単位は「$0.001」。 最小コミットのSavings Plans を「期間3年」「全額前払い」で購入し

    EC2やFargateが最大72%割引となる新しい料金モデル「Savings Plans」がリリースされました | DevelopersIO
  • 【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO

    CX事業部@大阪の岩田です。 re:invent2018にてアナウンスされたVPC Lambdaの改善について、ついにAWSより公式のアナウンスがありました!! Announcing improved VPC networking for AWS Lambda functions 今後数カ月に渡って全リージョンで徐々にローリングアップデートが掛かっていき、展開が完了したリージョンについては上記AWSのブログが更新されるとのことです。ユーザー側では特に変更操作など必要ありません。 今までのアーキテクチャ これまでのVPC LambdaLambdaのサンドボックス環境を作成する際に、必要に応じてENIの作成&アタッチ処理を行なっていました。 ※上記AWSのブログより引用 このアーキテクチャは以下のような課題を抱えていました。 ENI作成を伴うコールドスタートにおいての非常に大きな遅延が発生

    【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO
  • ECSとFargateのメトリクスを一括取得するCloudWatch Container Insightsがプレビューリリースです! | DevelopersIO

    しばらく前に、EKSでプレビューリリースされていたCloudWatch Container Insightsが、ECSとFargateに対応したというニュースが飛び込んできました! Introducing Amazon CloudWatch Container Insights for Amazon ECS and AWS Fargate - Now in Preview まだ、パブリックプレビューの状態なので、番環境への適用には注意が必要ですが、設定自体は非常に簡単(5分程度)なので、是非一度、CloudWatchで観測するコンテナメトリクスの世界を堪能いただければと思います! 提供リージョンには、我らが東京リージョンも含まれているため、今すぐ試すことができます。 ECSコンテナ丸見えきたか…!! ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / CloudWa

    ECSとFargateのメトリクスを一括取得するCloudWatch Container Insightsがプレビューリリースです! | DevelopersIO
  • 現行世代全18種類EC2インスタンスのHW情報をコマンドで比較してみた | DevelopersIO

    「やだ・・・EC2インスタンスタイプ・・・多すぎ?」 AWSの根幹をなすと言っても過言ではないEC2ですが、その歴史の長さ故、インスタンスタイプも現行世代だけで、18種類にまで増えております。増えたもんすなぁ・・・ そんな多種多様なインスタンスタイプ、使い分けについては、全て公式ドキュメントに記載されていますが、実際中身のハードウェア情報はどうなっているんだろうという気持ちになったハマコー。全インスタンスタイプのEC2を起動してみて、一括でHW情報の取得コマンドを流してみました。 いろいろ調べていく中で、最新世代のKVMベースのインスタンスでは、出力内容がかなり異なっていたり、いろいろ発見があったので、その内容を共有します。 はぁー、こりゃこりゃ。 実行対象のインスタンスタイプ(18種類) 今回、ハードウェア内容調査対象にしたインスタンスタイプはこちら。現行世代の全18種類を調査対象として

    現行世代全18種類EC2インスタンスのHW情報をコマンドで比較してみた | DevelopersIO
  • 【API Gatewayタイムアウト対策】Step Functionsを組み合わせて非同期処理にしてみる | DevelopersIO

    API Gatewayにはタイムアウトの制限があるため、Lambdaで長めの処理を行い、処理結果をレスポンスとして返す場合は非同期の構成にする必要があります。Step Functionsと組み合わせることで、比較的簡単に非同期にできたのでご紹介したいと思います。 どうも!大阪オフィスの西村祐二です。 下記図のような、webサイト上のボタンをクリックし、API Gatewayを経由しLambdaで処理を実行し、その処理結果をブラウザに表示するといった構成はよくあるパターンかと思います。 このような構成で躓くところとして、API Gatewayのタイムアウト制限があります。遭遇場面としてはLambdaで時間のかかる処理をしたときに遭遇することがあります。現状(2018/7/3時点)、API Gatewayは最大29秒でタイムアウトする制限となっています。つまり、29秒以内にレスポンスを返し、裏

    【API Gatewayタイムアウト対策】Step Functionsを組み合わせて非同期処理にしてみる | DevelopersIO
  • ECSのサービスディスカバリーが東京にやってきて、コンテナ間通信の実装が簡単になりました! | DevelopersIO

    つまりは、オートスケールやタスク数設定によるコンテナ増減に連動して、Route 53のレコードが自動的に書き換えられるということすね。 従来から存在したRoute 53のAuto Naming 実は弊社大瀧が書いた、下記記事に有るように、Route 53のAuto Naming APIを利用したサービスディスカバリー実装の機能自体はありました。 Amazon Route 53 Auto Namingでサービスディスカバリを実現する | Developers.IO 今回紹介する機能は、これをECSに拡張したものと言えます。 実際にECSサービスディスカバリーを設定してみる 前置きが長くなりましたが、実際にECSに登録する様子を見てみましょう。既に、既存のECSクラスターとタスク定義がある前提で解説していきます。 従来どおり、ECSのサービスを作成していきます。今回は起動タイプもFARGATE

    ECSのサービスディスカバリーが東京にやってきて、コンテナ間通信の実装が簡単になりました! | DevelopersIO
  • 「それコンテナにする意味あんの?」迷える子羊に捧げるコンテナ環境徹底比較 #cmdevio2019 | DevelopersIO

    みなさんコンテナを使うことの意味を自信もって答えられるでしょうか? ここ1年ほどコンテナ関連の仕事をメインでやっているハマコーですが、いろんなお客様からこういったお声をいただくことが多くありました。 「それはコンテナ化する意味があるの?」 「こんなコンテナ運用は危ない?」 「ECSの設定とか実際めんどい。docker runじゃだめ?」 「EKSって使えんの?」 そういう声を聴く中で、自分なりの答えを模索していたわけですが、岡山での弊社イベントAWS最新技術の祭典Developers.IO 2019 at 岡山城へ登壇するにあたり、そのあたりのもやもやを自分なりに昇華したのが、日の内容です。 「このアプリをコンテナ化する意味があるのか、わからない」 「コンテナ化することで余計めんどくさくなった」 「AWSのコンテナサービスの何を使ったら良いのかわからない」 という悩みを抱えている方には、

    「それコンテナにする意味あんの?」迷える子羊に捧げるコンテナ環境徹底比較 #cmdevio2019 | DevelopersIO
  • 【超重要】対応しないと使えなくなるかも?!今、全S3ユーザがチェックすべき署名バージョン2の廃止について | DevelopersIO

    ご機嫌いかがでしょうか、豊崎です。 注意喚起記事です。一部のS3利用者に影響が出ることなので、是非ご確認、および対象の方はご対応いただければと思います。 具体的に何のことかというと、Amazon S3のAWS署名バーション2の廃止についてです。 弊社suzukiがすでに記事を書いていますが、Amazon S3のAWS署名バーション2が2019年6月24日に廃止されます。これは、より安全にAWSおよびS3を利用できるようにするために署名バージョンの変更が行われるためです。 これによって一部のAWSユーザのS3の利用に影響が出ます。 署名バージョン4専用のS3エンドポイントを古いCLIで試してみた AWSの各サービスのAPIを利用する際、AWSが送信元を特定できるようにリクエストに署名が必要です。現在AWSAPIで利用されている署名バーションは「2」と「4」の2種類あり、「4」が推奨されてい

    【超重要】対応しないと使えなくなるかも?!今、全S3ユーザがチェックすべき署名バージョン2の廃止について | DevelopersIO
  • [レポート] DEV309 :サーバレスアプリ、コンテナ化されたアプリ向けのCI/CD #reinvent | DevelopersIO

    はじめに サーバーレス開発部@大阪の岩田です。 この記事はDEV309 CI/CD for Serverless and Containerized Applicationsのレポートになります。 概要 以下が公式の概要となります。 To get the most out of the agility afforded by serverless and containers, it is essential to build CI/CD pipelines that help teams iterate on code and quickly release features. In this talk, we demonstrate how developers can build effective CI/CD release workflows to manage their se

    [レポート] DEV309 :サーバレスアプリ、コンテナ化されたアプリ向けのCI/CD #reinvent | DevelopersIO
  • AWSハイブリッド構成のDNS設計レシピ

    ども、大瀧です。 AWSとオンプレミスのハイブリッド構成は、エンタープライズのAWS活用では定番となりつつあります。そんなAWSハイブリッド構成の設計でよく課題に挙がるのが、DNSです。このブログエントリーでは、使えるDNSサービスの種類とその特性をまとめ、いくつかの構成パターンを解説、比較してみます。 AWSハイブリッド構成とは AWSハイブリッド構成は、AWSでプライベートネットワークを構成するAmazon VPCとオンプレミスのネットワークを相互接続し、両方のサーバーリソースを組み合わせて利用するものです。VPCとオンプレミスとの接続は、プライベート接続として専用線 *1かインターネットVPN *2を利用します。 AWSハイブリッド構成で利用するDNSサービス DNSサーバーには権威サーバーとキャッシュサーバーの2種類がありますので、それぞれで利用できるサービス毎に並べてみました。[

    AWSハイブリッド構成のDNS設計レシピ
  • [SQL]レコードから改行を除去する | DevelopersIO

    はじめに データに改行が入っていて、それを取り除きたいということがありました。 データベースに取り込む前に、不要な改行を除去するプログラム書くのも一つの手ではありますが、 SQLを使った方が簡単にできるかと思います。 実行環境 Windows8.1 MySQL5.7 PostgreSQL 9.6 サンプルデータ作成 次のようなテーブルとデータを用意しました。 devdbというスキーマ(db)はすでに作成されているものとします。 改行3種類(LF, CR, CRLF)と改行なしの4パターンです。 commentカラムに入っている改行を除去することを想定します。 CREATE CREATE TABLE devdb.profile(name varchar (16), comment varchar (100)); INSERT PostgreSQL版 INSERT INTO devdb.pro

    [SQL]レコードから改行を除去する | DevelopersIO
    tenten0213
    tenten0213 2018/05/22
    regexp_replace(comment, '\r|\n|\r\n', '', 'g')の方が良さそう
  • AWS特有の運用イベントまとめ(非障害系) | DevelopersIO

    【ACM】 サーバー証明書の有効期限切れ/自動更新失敗 ACMは、CloudFrontとELBと連携してサーバー証明書を提供するサービスです。 ACMで発行する証明書は1年毎に更新する必要がありますが、基的には自動更新されます。 ただし、場合によっては自動更新が失敗するケースがあります。 検証の仕組みは、以下のドキュメントを確認してください。 自動ドメイン検証の仕組み 自動検証に失敗した場合、EメールおよびPersonal Health Dashboardで通知されます。 自動検証に失敗した場合 また、外部で発行された証明書を利用している場合は、手動で更新する必要があります。 再インポートの手順は、以下のドキュメントを参照してください。 証明書の再インポート EV証明書が必要なケースでも無ければ、ACMで証明書を取得してオペレーションが発生しないようにしておきたいですね。 【Route

    AWS特有の運用イベントまとめ(非障害系) | DevelopersIO
  • Elasticsearch 6 を利用する前に把握しておいた方がよさそうなこと | DevelopersIO

    ども、藤です。 現地時間 8/31 に Elastic Stack の次期メジャーバージョンの 6.0.0 Beta 2 がリリースされました。 Elastic Stack 6.0.0-beta2リリース 過去の Elasticsearch はメジャーバージョンバージョンアップ時に機能が変更となったり、非推奨になったり、廃止になったり、大きな変化を行ってきました。今回の 5系 → 6系に際しても大きな変化があるはずです。ということで Elasticsearch 6系の Breaking Changes に目を通してみました。今回は私が気になった項目をご紹介します。利用方法によって影響する項目は異なるので 6系をご利用される方は一通り目を通すことを推奨します。 Breaking Changes Breaking Changes バージョン 2系以前に作成されたインデックスは読み取れない E

    Elasticsearch 6 を利用する前に把握しておいた方がよさそうなこと | DevelopersIO
  • [iOS 10] Xcode 8 の新しい Signing 機能について | DevelopersIO

    What's New in Xcode App Signing Xcode 8 から利用できる署名まわりに関する新機能。 WWDC 2016 で発表されたこの新機能の概要についてご紹介します。 Xcode 8 automatically manages signing Multiple development certificates Dedicated customized signing mode Xcode 8 automatically manages signing なにができるの? なにかができるようになった、と言うよりは今まで行っていた面倒な作業を行わなくてよくなった、というものです。 これらの作業は今後、Xcode が 自動で 行ってくれます。 Xcode が自動で行ってくれる作業 署名付き証明書の作成 App ID の作成と更新 プロビジョニングプロファイルの作成と更新

    [iOS 10] Xcode 8 の新しい Signing 機能について | DevelopersIO
  • Spring SecurityでWebの認証と認可を制御する | DevelopersIO

    よく訓練されたアップル信者、都元です。Webアプリケーションを書くにあたって、誰でも自由に全てのリクエストが呼べるなんていうユルユルな要件ってのはほとんど無いと思います。誰がからのアクセスかが特定できて、そのユーザが適切な権限を持っている場合に限り、アクセスが成功する必要があるでしょう。 Spring Securityの導入 v14.0 Spring Frameworkの世界の中で認証と認可を司るコンポーネントが Spring security です。 Spring BootプロジェクトでSpring securityを使うには、まずは依存ライブラリとして spring-boot-starter-security を追加します。え、まさかこれだけ? → GitHub diff さぁさぁ、起動してみましょう。(以降、タイトルに示したバージョンのブランチをcheckoutして実行できるようにし

    Spring SecurityでWebの認証と認可を制御する | DevelopersIO
  • JWTによるJSONに対する電子署名と、そのユースケース | DevelopersIO

    よく訓練されたアップル信者、都元です。最近、OpenID Connectにどっぷり浸かっております。IAMも好きなんですが、どうもIdentityおじさんの気があるんでしょうか。 さて、OpenID Connectの話は追々ご紹介していきたいと思うのですが。今日はJWTという技術についてご紹介します。 JWT JWTは JSON Web Token の略で、jot(ジョット)と発音します。まずはイメージを持っていただくために、JWTの例を示します。 eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyaG9nZSIsImF1ZCI6ImF1ZGhvZ2UiLCJpc3MiOiJodHRwczpcL1wvZXhhbXBsZS5jb21cLyIsImV4cCI6MTQ1MjU2NTYyOCwiaWF0IjoxNDUyNTY1NTY4fQ.BfW2a1SMY1a8cjb7A

    JWTによるJSONに対する電子署名と、そのユースケース | DevelopersIO
  • [iOS]これからiOSアプリを作る方向け Storyboardで画面遷移を作る | DevelopersIO

    これからiOSアプリを作る開発者が覚えておきたい事 こんにちは、Objective-Cを始めて1年が経過した荒川です。とは言いつつも最近はBLEだとか、かじった程度のC++とCをいじっている事が多いです。 最近ではiOSアプリケーションを作成できるAppleの新しい言語「Swift」が発表され、iOSエンジニアではない方からも注目を集めています。 iOSアプリケーションの作り方について、言語に注目されている今だからこそUIの作成について記事にします。 狭い画面領域でユーザーが使いやすいと思えるUIを提供するのが、スマートフォンアプリケーションの肝です。 特にiOSアプリケーションにおいては、UIの描画をするために優れたGUIツールが提供されています。もちろん、GUIツールを使わずにコードでも表現は出来ますが、使い方を覚えれば開発効率を向上させる事ができるでしょう。 今回は、Objectiv

    [iOS]これからiOSアプリを作る方向け Storyboardで画面遷移を作る | DevelopersIO
  • J8SpecでBDDスタイルのテスト | DevelopersIO

    Java8でBDDスタイルのテストをする J8Specライブラリ J8Specは、(RSpec)[http://rspec.info/]や(jasmine)[http://jasmine.github.io/]のように、 Java8でBDDスタイルを使ってテストを記述することができるようになるユニットテストライブラリです。 JUnit runnerを使っているので、IDEから使用することも可能です。 環境 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.10.5 Java : 1.8.0_51 Gradle : 2.5 J8Specのサンプル作成 1.プロジェクト作成 ではJ8Specを使ってみます。gradle用プロジェクトを作成後、 下記 のようにbuild.gradleを記述し、j8specライブラリを追加します。 defaultTasks 'clean',

    J8SpecでBDDスタイルのテスト | DevelopersIO