タグ

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

  • 特定のパスごとにALBのルーティングとCloudFrontのキャッシュ設定を振り分けてみる | DevelopersIO

    特定のパスに対してルーティングとキャッシュ設定を変えるため、ALBのルールとCloudFrontのbehaviorを変更してみました。 こんにちは、コンサル部の鈴木(純)です。 特定のパスごとにALBのルーティングとCloudFrontのキャッシュ有無を振り分けることができるか確認する機会があったので共有します。 やりたいこと 元々は以下のようなCloudFront→ALB→EC2という以下の図のような構成。 ここに以下の条件でルーティングを追加します。 同じCloudFront、ALBのルートで別EC2を追加 特定のパスのみ追加したEC2へルーティング 追加したEC2はCloudFrontでキャッシュはしない 調べてみると、ALBではパスベースのルーティングができるようで、追加するEC2へ振り分けることは問題なさそうでした。 キャッシュについてもCloudFront側でbehaviorの

    特定のパスごとにALBのルーティングとCloudFrontのキャッシュ設定を振り分けてみる | DevelopersIO
    gayou
    gayou 2022/03/22
  • Javascriptで同時に非同期処理を行う | DevelopersIO

    Promise.allを使用して複数の非同期処理をうまく扱う方法について整理しました。 こうすることで多数のHTTPリクエストなどを同時に送り、処理することが可能になります。 はじめに JSでは非同期処理を使用することでHTTPリクエストを送った際にレスポンスが帰ってくるまでの間に別のリクエストを送ることができます。 なのでタイトルには同時と書いてありますが、厳密には同時ではありません。 ただ、こうすることで複数のリクエストをすばやく処理することが可能です。 しかし、サーバーに負荷をかけたくないなどの理由から同時にリクエストを送る数を制限する必要があると思います。 今回はそんな場合にリクエストをバッチ化して処理する方法についても整理してみます。 準備 今回はwait関数を作成し、一定時間待機させるような処理を利用して、HTTPリクエストなどの代わりとします。 今回は2秒間処理をブロックする

    Javascriptで同時に非同期処理を行う | DevelopersIO
  • インスタンス間のパブリックIPでの通信は本当に外部に出ないのか試してみた | DevelopersIO

    この記事はアノテーション株式会社 AWS Technical Support Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiita 24日目の記事です。 はじめに Amazon VPC ドキュメントのよくある質問1にこんな内容があります。 Q:2 つのインスタンスがパブリック IP アドレスを使用して通信する場合、またはインスタンスが AWS のサービスのパブリックエンドポイントと通信する場合、トラフィックはインターネットを経由しますか? いいえ。パブリックアドレススペースを使用する場合、AWSホストされているインスタンスとサービス間のすべての通信は AWS のプライベートネットワークを使用します。AWS ネットワークから発信され、AWS ネットワーク上の送信先を持つパケットは、AWS 中国リージョンとの間のトラフィックを除

    インスタンス間のパブリックIPでの通信は本当に外部に出ないのか試してみた | DevelopersIO
    gayou
    gayou 2021/12/29
  • AWS WAFだけで、Basic認証を設定してみた | DevelopersIO

    JSON { "Name": "BasicAuthRule", "Priority": 0, "Statement": { "NotStatement": { "Statement": { "ByteMatchStatement": { "SearchString": "Basic XXXXXXXXXX", "FieldToMatch": { "SingleHeader": { "Name": "authorization" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } } } }, "Action": { "Block": { "CustomResponse": { "ResponseCode": 401, "ResponseHe

    AWS WAFだけで、Basic認証を設定してみた | DevelopersIO
    gayou
    gayou 2021/12/11
    WAFでBasic認証
  • CloudFront FunctionsでBasic認証のパスワードをかける | DevelopersIO

    前提 すでに、CloudFrontの設定は済んでいる Origin側との接続も済んでいる 準備:パスワードの文字列作成 まず、パスワードの文字列を作ります。 以下のパスワードを作ることを想定しています。 ID:classmethod Password:0912cm CloudShellが使えるリージョンに行きます。ここでは Tokyo リージョンを使用します。 以下のように入力 echo -n "classmethod:0912cm" | base64 出てきた文字列を記録します。 Y2xhc3NtZXRob2Q6MDkxMmNt CloudFront Functions の作成 CloudFront から Functions に行きます。 Create Functionをクリックします。 Functionの名前を決めます。任意の名前で大丈夫ですが、ここでは「s3-cf-keisuke-f

    CloudFront FunctionsでBasic認証のパスワードをかける | DevelopersIO
    gayou
    gayou 2021/10/28
  • [AWS CDK] CloudFront FunctionでWebサイトにBasic認証をかける | DevelopersIO

    こんにちは、CX事業部の若槻です。 PoCやデモなどで使用するWebサイト(CloudFront + S3)で「Cognitoを使うほどでは無いけど何らかの認証は掛けておきたい」という場合はBasic認証という選択肢があります。 このBasic認証をCloudFront + S3という構成で掛けたい場合の実装は、今まではLambda@Edgeを使う場合が多かったですが、最近リリースされた、よりユーザーに近いロケーションでより高速な処理が可能なCloudFront Functionsでも実装が可能です。 エッジで爆速コード実行!CloudFront Functionsがリリースされました! | DevelopersIO 今回は、このCloudFront Functionを使用してWebサイトにBasic認証をかける設定をAWS CDKで実装してみました。 CloudFront Functi

    [AWS CDK] CloudFront FunctionでWebサイトにBasic認証をかける | DevelopersIO
    gayou
    gayou 2021/09/14
  • Google スプレッドシートの表をS3へJSONファイルとして保存する | DevelopersIO

    Guten Tag、伊藤です。 弊社で管理しているいくつかの AWS アカウントについて、それぞれの利用費を取得して、対象の通貨ごとに計算したいと思いました。 ということで、AWSアカウント一覧表をスプレッドシートで管理し、それをJSONファイルとしてS3に格納、Lambdaで処理してSlackのスラッシュコマンドで計算結果を出力することにしました。 このブログでは、スプレッドシートの表をJSONファイルに格納するまでの方法をご紹介します。 なお、GAS スクリプトエディタが変わったので、新しい仕様に則っています。以前のエディタを使用する場合は過去の同様のブログをご参考ください。 GoogleスプレッドシートのデータをS3へCSVとして保存する Google Apps Scriptを利用してGoogleスプレッドシートのデータをS3へJSONとして保存する スプレッドシートの表の準備 お好

    Google スプレッドシートの表をS3へJSONファイルとして保存する | DevelopersIO
  • [AWS] Amazon CloudFrontのキャッシュ削除(Invalidation) | DevelopersIO

    おばんです、来週はお世話になっているSwift 愛好会さんで開催される開発合宿が楽しみな田中です。 なにをやろうかな、ライブラリ作ろうかな、個人アプリ開発を進めようかな、参加者の方々と設計を語るのも良さそうだな...。楽しみだー!! さてさて、今回はAmazon CloudFrontを少しさわったのでその時得たTips紹介です。 Invalidationとは Invalidationとは、CloudFrontのエッジサーバー上のキャッシュを削除する機能です。 キャッシュの削除方法 該当するCloudFrontのコンソールを開く。 Invalidationsタブを選択し、「Create Invalidation」のボタンを押す。 削除したいオブジェクトのキャッシュをパス指定で削除する。 ワイルドカードが使用できるので、まとめて全キャッシュを削除する場合はこの画像の指定。 パスが指定できたら「

    [AWS] Amazon CloudFrontのキャッシュ削除(Invalidation) | DevelopersIO
    gayou
    gayou 2021/08/11
  • ALB + Cognito認証で付与されるユーザー情報をEC2サイドから眺めてみる | DevelopersIO

    ALBはCognitoと組み合わせることで、簡単にWebサーバーの認証機能を実現できます。超便利。 ALBとCognitoを組み合わせた認証については、弊社ブログで解説しているのでこちらを御覧ください。 インフラエンジニアが一切コードを書かずにWebサーバーに認証機能を実装した話 | DevelopersIO ブログでは、ここからもう一歩踏み込んで、ALBが認証後EC2に何を渡しているのか?(EC2はユーザー情報をどう受けとっているのか?)を眺めてみます。 構成図 こんな感じのシンプルな構成を作ります。ALBへのアクセス時に、Cognitoと連携して認証を行います。CognitoでログインできたユーザーだけがEC2上のコンテンツにアクセスできます。 ALB + Cognito認証のおさらい ALB + Cognitoの認証がどういったフローで動いているか、ここで一度おさらいしましょう。

    ALB + Cognito認証で付与されるユーザー情報をEC2サイドから眺めてみる | DevelopersIO
    gayou
    gayou 2021/05/04
  • インフラエンジニアが一切コードを書かずにWebサーバーに認証機能を実装した話 | Developers.IO

    コンニチハ、千葉です。 AWSのサービスを組み合わせれば、独自の認証基盤を構築できます。例えば、WordPressを限定的に公開する、Apache、 Nginx、カスタムWebアプリなどなど、簡単に認証をかけたい場合、ベーシック認証は昔から利用されてきました。ただし、これはスケーラビリティや運用面でどうしてもつらい場面がでてきます。 そこで、ALBに素敵すぎる組み込みの認証機能が追加されたのでこちらを利用し、コードを一切書かずに認証を導入します。また、OIDCなど認証プロトコルに対応していますが、今回はシンプルにCognitoのユーザープールを利用し、ユーザー管理自体もCognitoに任せます。 要件 今回の想定する要件です。 Nginxを社内ユーザーのみに公開 スタンドアローンのユーザープールを用意(AD、OICD、SAMLなどによる連携なしで、独自でユーザーを管理) ユーザーは管理者が

    インフラエンジニアが一切コードを書かずにWebサーバーに認証機能を実装した話 | Developers.IO
    gayou
    gayou 2021/05/04
    分かりやすい記事だった。ありがたい。
  • これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | DevelopersIO

    はじめに こんにちは植木和樹です。AWSでは各種ホワイトペーパーなどの資料を多数公開しています。 AWS アーキテクチャーセンター | アマゾン ウェブ サービス(AWS語) 今回は上記ページからダウンロードできる「AWS 運用チェックリスト(PDFファイル)」を読んでみました。運用チェックリストという名前ではありますが、AWSを利用する方は一度目を通しておくのをお勧めする内容でした。 チェックリストは大きく3つ「ベーシック」「エンタープライズ」「セキュリティ監査」に分かれています。このうちベーシックは15項目程とコンパクトにまとまっていて、簡易チェックリストとしてお手頃です。 残念ながらまだ日語訳がされていないようですので、今回ベーシック部分だけをザックリ読んで簡単なコメントを書いてみました。 ベーシック運用チェックリスト 原文は「我々は〜〜〜を設定しています(理解しています)」

    これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | DevelopersIO
  • RDSのMySQL/MariaDBでログをCloudWatch Logsへ出力可能になりました

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 先程RDSのMySQL/MariaDBのログファイルをCloudWatch Logsへ出力できる機能がリリースされましたのでレポートします。 Monitor Amazon RDS for MySQL and MariaDB logs with Amazon CloudWatch Now Publish Log Files from Amazon RDS for MySQL and MariaDB to Amazon CloudWatch Logs CloudWatch Logsへのログファイル出力 RDS for MySQL/MariaDBでは以下の4種類のログを出力することができました。 Audit Log Error Log General Log Slow Query Log 出力先はテーブルかファイルとなり、テーブルの場合はDB

    RDSのMySQL/MariaDBでログをCloudWatch Logsへ出力可能になりました
  • 「はじめてのAWS設計でやりがちな失敗パターンまとめ」について発表しました #devio2020 | DevelopersIO

    西澤です。クラスメソッドに入社してからおよそ5年間クラウドの推進やAWS技術に関する支援をさせていただいております。この経験を何か形にしたいと思い、少し遅れてしまったのですが、Developers.IOイベントに乗じてまとめさせていただきました。 発表資料 資料はこちらにアップロードしております。 夜間に録音したので覇気が無い感じになってしまいましたが、動画はこちらです。 まとめ 「AWS設計でやりがちな失敗パターン」というタイトルで考え始めたのですが、もっともお伝えしたい点は、AWSを利用されるお客さまのマインドセットを変え、クラウドを活用できる組織に変わって欲しい、というところに集約できるかなと思います。技術的な問題以上に、考え方を変えられないこと、組織を変えられないことが、クラウド活用を阻害するアンチパターンになっていると思いました。 どこかの誰かのお役に経てば嬉しいです。

    「はじめてのAWS設計でやりがちな失敗パターンまとめ」について発表しました #devio2020 | DevelopersIO
    gayou
    gayou 2020/07/08
  • Certbot を使い3分で無料の SSL 証明書を取得する | DevelopersIO

    はじめに Certbot を使った SSL/TLS サーバ証明書の取得方法を紹介します. 認証局は Let's Encrypt で, 主要なブラウザから信頼された認証局とみなされています. 料金は無料, 作業時間は3分程度です. 前提 証明書を発行する際, 認証局は発行依頼主が対象ドメインを所有していることを確認する必要があります. Let's Encrypt は対象ドメインの特定のパスから検証用のファイルをダウンロードし, その中身を検証することでドメイン所有の確認を行なっています. この Let's Encrypt とのやりとりや検証用ファイルの用意を行うのが Certbot です. そのため, 作業は証明書を設置したいサーバ上で実施する必要があります. また, そのサーバ上で ウェブサーバが稼働しており, 対象のドメインで HTTP 接続できる必要があります. 例えば, demo.s

    Certbot を使い3分で無料の SSL 証明書を取得する | DevelopersIO
  • Mackerel 公式チェックプラグインを使ってping監視/sshログイン監視/その他をしてみる | DevelopersIO

    おはようございます、もきゅりんです。 掲題の通り、公式チェックプラグイン集をインストールして、ping監視、sshログイン監視、ユーザー追加、パスワード変更監視を設定してみました。 前提 Mackerelのアカウントを取得している インターネット接続およびSSHログインできるEC2インスタンスがいる やること とりあえずMackerel-Agentをインストールする プラグインをインストールする ping監視/テスト ユーザー追加、パスワード変更監視/テスト 1. とりあえずMackerel-Agentをインストールする この手順については、ザッと進めてしまいます。 SSMで対応するわけでも、Ansibleで対応するわけでもUserData使うわけでもなく、手動でインストールします。 今回はAmazon Linux2で対応しています。 Mackerelの管理画面から出力される、こちらのコマ

    Mackerel 公式チェックプラグインを使ってping監視/sshログイン監視/その他をしてみる | DevelopersIO
  • [新機能]Amazon Elasticsearch Service でファイルベースのシノニム、ユーザー辞書などに対応するカスタムパッケージを利用可能になりました | DevelopersIO

    先日(2020年4月21日)、Amazon Elasticsearch Service がファイルベースのシノニム、ユーザー辞書などに対応するカスタムパッケージを利用可能になりました。 Custom dictionary files now supported on Amazon Elasticsearch Service Custom Packages for Amazon Elasticsearch Service 全文検索と検索性能 EC サイトやブログサイトなどで全文検索による検索機能を提供するのは一般的になってきました。 Elasticsearch などの検索エンジンを利用することで全文検索を簡単に実装できます。 ただし、検索エンジンを利用したからといってユーザーにとって良い検索になるとは限りません。 提供する UI、扱うデータ、利用するユーザーによって検索の良し悪しは大きく変わ

    [新機能]Amazon Elasticsearch Service でファイルベースのシノニム、ユーザー辞書などに対応するカスタムパッケージを利用可能になりました | DevelopersIO
    gayou
    gayou 2020/04/24
    お。対応したのか。これは気になる。
  • [GitHub] Multi-line code suggestionsでコード提案機能が便利になりました | DevelopersIO

    以前からベータ版で提供されていた「Multi-line code suggestions(複数行のコード提案機能)」がGAされました。全てのGitHubユーザーがこの機能を利用できます。 GitHubのSuggestion機能 GitHubのSuggestion機能はプルリクエストのレビューでコードの変更を提案する機能です。Multi-line code suggestionsが実装されたことで、複数行のコードに対して提案ができるようになりました。 コードの変更を提案 プルリクエストのレビューでコードの変更を提案するには、Files changed(変更されたファイル)を表示してコメントを登録します。 変更対象の行を+ボタンを押して選択します。複数行を選択する場合は、ドラッグ&ドロップかShiftボタンを押して範囲を指定します。また、コメント欄が表示されたら、Insert a sugges

    [GitHub] Multi-line code suggestionsでコード提案機能が便利になりました | DevelopersIO
    gayou
    gayou 2020/04/17
    自分で書いたコードのセルフチェックに使いたい。
  • [GitHub]ActionsのホストランナーをEC2でやってみた | DevelopersIO

    Actionsの利用可能時間を気にせずに使えるセルフホスト設定をEC2で実際に試してみました。利用費的にも事前に超過することが判っている場合にはおすすめです、 はじめに GitHub ActionsのWorkflow利用可能時間枠は比較的多めだと思われますが、複数人で使う場合にはやはり上限が気になってきます。 利用枠を上限まで使い切ると動作が止まり、追加時間を購入することで再度動作可能となります。ただ、Workflow毎の実行ベース等読みにくい事も多々あり、足すべき枠の計算は困難だと思います。 Actionsはセルフホストの場合に利用可能時間枠の制限がありません。セルフホスト環境はクラウド環境でも可能です。利用時間が共有されないことと、使いすぎた分はAWS利用費で個々に跳ね返ってくるため分かりやすいこともあり、EC2でのセルフホスト設定を手順作成含めて試してみることにしました。 自分のラン

    [GitHub]ActionsのホストランナーをEC2でやってみた | DevelopersIO
  • Auth0をPHP (Laravel)で使ってみる | DevelopersIO

    Auth0PHP (Laravel)チュートリアルをやってみましたので、その内容を書いていきます。 Auth0 PHP (Laravel) 前提 Auth0のサインアップが完了していること Auth0アプリケーションの作成 今回はAuth0のサインアップ後にデフォルトで作成されているアプリケーションを使うことにします。 サンプルアプリケーションの作成 Laravelプロジェクトを作成します。 laravel new auth0-sample あとで.envファイルが必要になりますが、既に作成されておりますので新規作成は不要です。 Auth0 pluginとSDKのインストール 作成したプロジェクトのディレクトリへ移動します。 cd auth0-sample 下記を実行します。 composer require auth0/login:"~5.0" 完了すると、下記のライブラリが追加されま

    Auth0をPHP (Laravel)で使ってみる | DevelopersIO
  • Amazon Linux 2のExtras Library(amazon-linux-extras)を使ってみた | DevelopersIO

    Amazon Linux 2には Extras Library と呼ばれるパッケージ群が存在し、PythonGolang、MariaDB、Ansible などの特定のパッケージをより新しいバージョンで利用することが出来ます。 Extra Packages for Enterprise Linux (EPEL) のような位置づけで、通常はディストリビューション標準のパッケージを利用する一方で、特定のパケージではより新しいバージョンを試せます。 この特別なパッケージは AWS がキュレートし、amazon-linux-extras コマンド経由で管理します。 今回はこの Extras Library を実際に使ってみます。 Extras Library は amazon-linux-extras コマンドで操作 Extras Library は専用プログラム amazon-linux-ext

    Amazon Linux 2のExtras Library(amazon-linux-extras)を使ってみた | DevelopersIO
    gayou
    gayou 2020/03/15