タグ

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

  • Quarkus Sample – OpenID Connect でセキュアなエンドポイントを構築する | DevelopersIO

    はじめに 個人的に CloudNative なアプリケーションフレームワーク Quarkus のいろいろなモジュールを試しています。その中から今回は OpenID Connect クライアントモジュールを利用してみます。 QUARKUS - USING OPENID CONNECT TO PROTECT WEB APPLICATIONS USING AUTHORIZATION CODE FLOW 例では KeyCloak を利用していましたが、今回は Auth0 を利用しました。 事前準備 Quarkus ブランクプロジェクトの作成 Quarkus の最低限のブランクプロジェクトを作成します。追加の依存は何も指定しません。 Quarkus - Start coding with code.quarkus.io pom.xml の中は以下の通り。 <dependencies> <depend

    Quarkus Sample – OpenID Connect でセキュアなエンドポイントを構築する | DevelopersIO
    uokada
    uokada 2024/06/24
  • 2024年版「基本的なウェブアプリケーションを構築する」のチュートリアル手順まとめてみた[Amplify Gen2対応] | DevelopersIO

    初めてAWSのサーバレスサービスを学習するときに利用できる「基的なェブアプリケーションを構築する」の内容を2024年現在でも実行できる手順にしてみました こんにちは、臼田です。 みなさん、AWSのチュートリアル活用してますか?(挨拶 今回はAWSの初心者向けハンズオンコンテンツである基的なウェブアプリケーションを構築するを2024年の現在版の手順としてまとめてみました。 このコンテンツはAWSのサーバレスなサービスを利用して、簡単にウェブアプリケーションを作成する体験ができるチュートリアルとなっており、登場するAWSの各サービスを理解するのにちょうどよい内容でした。しかし、リリースされてしばらく経っているのもあり、特に今回のAmplify Gen2リリースもあってだいぶ画面や操作方法などが変わってしまいました。 実現できる事自体は変わらないので、現時点でこのチュートリアルを初心者でも完

    2024年版「基本的なウェブアプリケーションを構築する」のチュートリアル手順まとめてみた[Amplify Gen2対応] | DevelopersIO
  • [EC2] NVMe SSD ローカルストレージ搭載の M5d インスタンスが登場しました | DevelopersIO

    M5dインスタンスを起動してみた それでは、M5dインスタンスを起動してみます。 オレゴンリージョンを選択して、新規EC2インスタンスを起動しよとすると、M5dの各インスタンスタイプが選択可能になっています。 今回はm5d.largeを選択します。ストレージの設定では、「ephemeral0」が自動で割り当てされています。 ローカルストレージの利用 起動したインスタンスに接続して、ローカルストレージを設定し利用可能にします。以下、環境はAmazon Linux 2018.03.0 を使用しています。 何もせずに起動した状態では、まだマウントされていません。 $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 3.8G 48K 3.8G 1% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/nvme0n1p1 7.8G 1

    [EC2] NVMe SSD ローカルストレージ搭載の M5d インスタンスが登場しました | DevelopersIO
    uokada
    uokada 2024/06/11
  • 新たに追加されたAWS LambdaのログコントロールをAWS SAM CLIで試してみる | DevelopersIO

    初めに 昨日AWS Lambdaにログ形式やログレベルのコントロールといった指定が可能なアップデートが行われました。 機能については既に別の方が記事を書かれているため大枠としてはこちらをご参照ください。 日リリースされたAWS SAM CLIv1.103.0が既にこちらの機能に対応していたのでせっかくなのでSAMでも試してみます。 SAMテンプレート作成 今回新たにAWS::Serverless::Functionに追加されたLoggingConfigで設定可能です。 また今回のアップデートでsam initに--structured-loggingオプションが追加されておりこちらを指定することでログフォーマットデフォルトでJSON形式としたテンプレートが生成されるようになっております。 sam init実行時にこのオプションを付与したsam-app-structedプロジェクトと、この

    新たに追加されたAWS LambdaのログコントロールをAWS SAM CLIで試してみる | DevelopersIO
  • Amazon API Gateway を独自ドメインで利用する | DevelopersIO

    はじめに Amazon API Gatewayを使用して作成したREST APIは、AWSが発行するFQDNで公開する以外にも、Route 53などのDNSを介して独自ドメインで公開することができます。 では早速ですが、独自ドメインからアクセスできるREST APIを試しに作ってみましょう。 Amazon API Gateway で作成したAPIを独自ドメインで公開するためには、HTTPSを使用する必要があります。そのため、SSLサーバ証明書が必要です。 APIを作る AWS Lambda Function の準備 今日の運勢を文字列で返してくれる、おみくじ関数を作りました。 Amazon API Gateway の準備 Amazon API Gatewayの設定方法を詳細に解説…したいところですが、弊社ブログにはすでに多くの API Gateway 解説記事が投稿されていますので、詳しく

    Amazon API Gateway を独自ドメインで利用する | DevelopersIO
  • CloudFrontとS3で作成する静的サイト構成の私的まとめ | DevelopersIO

    しばたです。 以前の記事でも触れた様にCloudFrontとS3を使って静的サイトを作る構成に対する理解にあいまいな部分があったので改めてまとめてみました。 特に目新しい話も無く知っている人には当たり前の内容かもしれませんが、まあ、自分自身の理解を整理するために記事にしていきます。 1. S3静的ウェブサイトを使うパターン はじめの構成は「S3静的ウェブサイト」を使ったパターンです。 S3にはバケットの内容を静的ウェブサイトとしてホストできる静的ウェブサイトホスティングの機能があります。 この機能ではHTTPのみ利用可能なためHTTPSを使う場合はCloudFrontと組み合わせる必要があります。 S3静的ウェブサイトを使うにはバケット内のコンテンツを公開する必要があり、S3バケットはパブリックアクセス可能にする必要があります。 また、必ずHTTPのWEBサイトが公開されることになるためユ

    CloudFrontとS3で作成する静的サイト構成の私的まとめ | DevelopersIO
  • AWS DevDay Japan 2022 に「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 」というタイトルで登壇しました #AWSDevDay | DevelopersIO

    はじめに CX事業部の佐藤智樹です。 先日AWS DevDay Japan 2022 というイベントで「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実」というタイトルで登壇しました。 今回は上記の登壇で使用した資料の公開と発表の補足を記載いたします。 登壇動画 登壇資料 発表理由 1年前に上記の構成を始めた際に、思っていたよりは理想の状態にできないことが多々あり、情報も多くないように感じたので少しでも参考になるように実践例をベースにまとめました。同じような構成を試される際は参考になるかと思います。また発表の1ヶ月以内(2022/09~10)に結構更新があったので、昔同じ構成試してダメだった部分があったかたも参考になる部分あるかと思うのでみてもらえると嬉しいです。 最後に 当は資料90ページぐらいになってタイトルと関連性の薄い内容(ECS on Farg

    AWS DevDay Japan 2022 に「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 」というタイトルで登壇しました #AWSDevDay | DevelopersIO
    uokada
    uokada 2024/06/03
  • Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO

    Gitは、バージョン管理に強力なツールで、開発者がコード変更を追跡し、プロジェクトで協力し、作業履歴を維持することを可能にします。Gitは複雑なプロジェクトを管理するための堅牢なフレームワークを提供しますが、同時にプラットフォームの初心者にとっては習得の曲線があり、一般的なミスにつながる可能性があります。これらのエラーは、些細な面倒から、プロジェクトのワークフローに重大な混乱をもたらすまでさまざまです。 これらの落とし穴を理解し、回避することは、プロジェクトの整合性と安定性を維持するだけでなく、チームメンバー間の効果的な協力関係を育むためにも不可欠です。このブログでは、Gitを使用する際にユーザーが直面する最も一般的な課題について掘り下げます。メインブランチへの直接コミット、ブランチの非効率的な使用、不適切なコミットの処理、マージコンフリクトの解決など、さまざまな問題を探ります。 一般的な

    Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO
  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

    Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
  • AWS CDKのAPIGateway/Lambdaスタック分割の落とし穴と解消法 | DevelopersIO

    この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 スタック分割構成を利用している方、検討している方の参考になる情報となっています。 はじめに 概要 この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 理想的な形はスタックを分割せずに同一スタックで管理することですが、CloudFormationのリソース数上限(500個)やファイル上限(51,200バイト)などの制限により、スタック分割の構成を選択することがあります。 スタック分割の構成ではcdk deploy時に以下のような問題が起こります。 スタック分割を行うと新たにAPIのパスを追加した際に、自動デプロイされない問題 ステージ設定を変更した際に昔のデプロイ

    AWS CDKのAPIGateway/Lambdaスタック分割の落とし穴と解消法 | DevelopersIO
  • 相互 TLS 認証で API Gateway のバックエンドの S3 にアクセスできるかやってみた | DevelopersIO

    こんにちは、アノテーション テクニカルサポートチームの中野です。 API Gateway のバックエンドに S3 を設定するパターンと API Gateway の通信で相互 TLS 認証(mTLS)を行うパターンの組み合わせを試す機会があったので、以下に手順をまとめてみました。 構成 以下のような構成で構築してみます。 また、mTLS の詳しい仕組みについては、以下がわかりやすかったので参照ください。 やってみた 前提条件 構築するまえに、前提として API Gateway のカスタムドメインを作成するために、以下を準備しておきます。 Route53 へのドメインの登録 ACM で証明書発行 準備が完了したら、以下手順を進めてきます。 ステップ 1: S3 に静的ファイルをアップロード まず、S3 を作成します。 何らかの適当な文字を描画する HTML ファイルをアップロードしておきます。

    相互 TLS 認証で API Gateway のバックエンドの S3 にアクセスできるかやってみた | DevelopersIO
  • API Gatewayでカスタムドメインを利用する(SSL証明書のみAWS機能で用意するパターン) | DevelopersIO

    設定手順 前提 API GatewayAPIのカスタムドメインホストとしてapi.contoso.comを利用したい 利用したいカスタムドメインcontoso.comが、外部サービスで用意されている contoso.comのゾーンをホストするDNSサーバが、外部サービスで用意されている カスタムドメインを利用したいAPIが、API Gatewayで作成されている ACMコンソールでカスタムドメインに対する証明書のリクエストの実施 マネージメントコンソールからCertificate Managerを開きます。 証明書タイプで[パブリック証明書のリクエスト]を選択して[証明書のリクエスト]をクリック。 [ドメイン名]にAPI Gatewayで利用したいカスタムドメインのAPIホスト名(例:api.contoso.com)を入力し、[次へ]をクリック。 今回は[DNS の検証]を選択します。[

    API Gatewayでカスタムドメインを利用する(SSL証明書のみAWS機能で用意するパターン) | DevelopersIO
  • 既存のECS(Fargate)にALBを追加してみる | DevelopersIO

    ECS(Fargate)でとりあえずタスクを立ち上げて使えるようにしてみたけど、当はALBを前段に置いてバランシングしたいんだよねぇ。なんてことはありませんか? ようするに今タスクIP直アクセスして使ってるやつを、こう変えたいみたいなことです。 マネジメントコンソールから変更しようと思うと、一見できなさそうに見えますが、ドキュメントにAWS CLIまたはSDKを使用してロードバランサーの設定変更できる旨が記載されています。 AWS CLI または SDK を使用して、ロードバランサーの設定を変更します。設定の変更方法の詳細については、「Amazon Elastic Containers サービス API リファレンス」の UpdateService を参照してください。 クラシックコンソールを使用したサービスの更新 - Amazon ECS UpdateService - Amazon

    既存のECS(Fargate)にALBを追加してみる | DevelopersIO
  • movedブロックを使ってリファクタリングしてみた | DevelopersIO

    こんにちは!AWS事業コンサルティング部のたかくに(@takakuni_)です。 今回は、movedブロックを使用してリソースのリファクタリングをやってみようと思います。 movedブロックとは Terraform バージョン 1.1で現れたリファクタリングを補助してくれるブロックです。 使い方イメージとしては、「もしもリソースAがリソースBという名前だったら...」のような雰囲気で、リソースのリファクタリングを補助してくれるブロックとなっています。 今までどうやっていたの? 今までのリソースのリファクタリングでは、terraform stateコマンドを駆使して、リファクタリングを行っていました。 例えば以下のtfファイルがあり、リファクタリングを+/-に従い行いたかったとします。 main.tf terraform { required_providers { aws = { so

    movedブロックを使ってリファクタリングしてみた | DevelopersIO
  • WEBアプリのE2Eテストを自動化 ~ Playwrightの機能紹介とコード例 | DevelopersIO

    npm init playwright@latest 実行すると @playwright/testがインストール playwrightの設定ファイル(playwright.config.ts)が追加 サンプル用のテストコードが追加 が行われます。 テストコード自動生成 playwrightにはブラウザ操作でテストコードを生成する機能があります。 package.jsonのscriptsに以下を追加してnpm run test:genするか、 "test:gen" : "playwright codegen" npxでも実行できます。引数のURLは任意です。 npx playwright codegen http://localhost:3000/

    WEBアプリのE2Eテストを自動化 ~ Playwrightの機能紹介とコード例 | DevelopersIO
  • Red Hat Enterprise Linux 9でlogrotateを使ってログファイルを1時間ごとにローテーションさせてみた | DevelopersIO

    Red Hat Enterprise Linux 9でlogrotateを使ってログファイルを1時間ごとにローテーションさせてみた こんにちは!AWS事業部のおつまみです。 みなさん、 Red Hat Enterprise Linux9 で logrotate を使って、ログファイルを1時間ごとにローテーションさせたいと思ったことはありますか?私はあります。 logrotate は、ログファイルをローテーションし、必要に応じて圧縮などを行うツールです。 これを使うことで、「週次や月次でローテーションする」、「ファイルサイズがある値を超えたらローテーションする」といったことができ、ログの肥大化を防ぐことができます。 Linuxに標準で備わっているツールのため、こちらを使用してログローテションしている方も多いと思います。 今回この機能を使って、ログファイルを1時間ごとにローテーションさせたい

    Red Hat Enterprise Linux 9でlogrotateを使ってログファイルを1時間ごとにローテーションさせてみた | DevelopersIO
    uokada
    uokada 2024/01/19
  • Gmailに届かない神奈川県立高校入試のインターネット出願システムのメールを調べてみた | DevelopersIO

    Gmailに届かないと報告されている2024年神奈川県立高校入試の出願システム自動返信メール、 2024年1月15日にYahooメールに届いたメールヘッダー情報などから、送信ドメイン認証(SPF、DKIM、DMARC)の確認を試みました。 2024年2月の神奈川県立高校の受験を予定している家族から、 "インターネット出願システムの登録を試みたが、システムからの返信メールがGmailのアドレスが届かないため、代わりにYahooメールを利用した。" との報告を受けました。 今回、2024年1月15日にYahooメールで受信したインターネット出願システムのメールを調査する機会がありましたので、紹介させて頂きます。 2024年1月19日 追記 ネット出願システムの不具合解消後のメールの調査結果を公開しました。 2024年1月18日 追記 ネット出願システムのメールサーバ側の問題について調査結果を公

    Gmailに届かない神奈川県立高校入試のインターネット出願システムのメールを調べてみた | DevelopersIO
    uokada
    uokada 2024/01/17
  • [アップデート] AWS Step Functionsのステートマシン実行失敗時点からの再実行をサポートしました | DevelopersIO

    Redriveで対応できない場合に備えて冪等性のあるワークフローを組んだり、リトライ処理を組み込むのは引き続き重要 ステートマシンの途中から再実行したい こんにちは、のんピ(@non____97)です。 皆さんはAWS Step Functionsのステートマシンの実行が失敗した時に、失敗したステートから再実行したいなと思ったことはありますか? 私はあります。 今までステートマシンが途中で終了した際に再実行する場合、ワークフローの最初から実行する必要がありました。 ステートマシンが実行失敗した際にワークフローの最初から実行する場合、正常に実行完了していた処理をもう一度実行することとなってしまいます。そのため、ワークフローは最初から実行し直すことを考慮して設計する必要がありました。 要するに冪等性が求められています。 ステートマシンにおいて冪等性を持たせたい場合は以下のような方法があります。

    [アップデート] AWS Step Functionsのステートマシン実行失敗時点からの再実行をサポートしました | DevelopersIO
  • [アップデート] Amazon CloudWatch でアラームに関する推奨事項が提供されるようになりました | DevelopersIO

    いわさです。 Amazon CloudWatch の今朝のアップデートで、アラームの対象メトリクスとしきい値の推奨事項が提供されるようになりました。 CloudWatch Alarm を使った監視を始める時に、「どのメトリクスをどういう条件くらいでやるのが良さそうか、どの程度が一般的なのか」など、指針が欲しくなるシーンがあります。 「ワークロードごとに適切な値を設計することが必要」と言いつつも、まずは手軽に推奨事項から始めたいというケースも多いです。 今後は CloudWatch コンソールが推奨事項を提供してくれます。 「アラームに関する推奨事項」トグルボタンが追加されている CloudWatch メトリクス画面には現在稼働しているワークロードが出力したメトリクスが表示されています。 このメトリクス画面のいくつかの箇所で次のような「アラームに関する推奨事項」というトグルボタンが追加されて

    [アップデート] Amazon CloudWatch でアラームに関する推奨事項が提供されるようになりました | DevelopersIO
  • 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO

    ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen

    主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO