タグ

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

  • Thymeleaf + Spring で i18n ~1~ | DevelopersIO

    Thymeleaf + Spring の構成で、多言語化対応 Web アプリケーションのサンプルを作成してみました。 thymeleaf-i18n プロジェクト構成 ビルドツールには Gradle を使いました。 example1 │ build.gradle │ gradlew │ gradlew.bat │ ├─gradle └─src └─main ├─java │ └─example │ └─controller │ RootController.java │ ├─resources │ │ logback.xml │ │ │ └─i18n │ Messages_en.properties │ Messages_ja.properties │ └─webapp ├─css ├─images └─WEB-INF │ web.xml │ ├─spring │ │ root-contex

    Thymeleaf + Spring で i18n ~1~ | DevelopersIO
  • [SpringBoot] Beanとは一体何者なのか? | DevelopersIO

    はじめに Springフレームワークに馴染んだ後、SpringBootに触れた方はこのような疑問は持たれないのでしょうが、 僕のようにSpringを知らずにSpringBootを始める方も中にはいるのではないかと思い、僕が非常に悩んだBeanというものについて僕が現状知っていることを書いてみようと思います。 注) 間違っていること、説明が不足していることありましたらご指摘いただければ嬉しいです。 結論 間違いを恐れずに言えばBeanとは @Beanと書いたメソッドでインスタンス化されたクラスがシングルトンクラスとしてDIコンテナに登録される。任意のクラスで@Autowiredで注入してアクセスできる。 と僕は理解しました。 わかりにくいですね。 僕も文章だけではうまく説明できないので、結論に至るまでの過程を書いていきます。 調査 まず@Beanというものについて調べた時に @Configu

    [SpringBoot] Beanとは一体何者なのか? | DevelopersIO
  • ジョブスケジューラ「Rundeck」を試してみる | DevelopersIO

    森永です。 最近は大逆転裁判をやりながら寝落ちするという毎日を送っています。 サーバ構築する上で、ジョブをどうするかというのは考慮が必要な点です。 簡単に実現するにはcronを使えばいいのですが、要件によってはジョブスケジューラを使わないと厳しいということがあります。 かと言って、エンタープライズで使われている格的なジョブスケジューラを使うのも大げさすぎる、というのもわかります。 そこで今回は、簡単に構築ができてそれなりに痒いところには手が届くジョブスケジューラ「Rundeck」を試してみます。 Rundeckとは OSSのジョブスケジューラです。 特徴として以下の様なものがあげられます。 エージェントレス SSH接続できればジョブを実行できます。 なので、別サブネットはもちろん、別VPCでも別AWSアカウントでもはたまたオンプレでもRundeckサーバからSSH接続とジョブを実行できる

    ジョブスケジューラ「Rundeck」を試してみる | DevelopersIO
  • Spring Bootで高速アプリ開発 | DevelopersIO

    Spring Bootとは いまから10年以上前、Spring frameworkは巨大化したJ2EEへのアンチテーゼとして登場し、 DIやAOPといった、当時の最新技術をもってWebアプリ開発に必要な機能を提供してくれました。 ※Spring frameworkについてはこのへん参照 Webアプリ開発において革新をもたらしたSpringでしたが、時間が経つにつれSpring frameworkまわりの さまざまなプロダクトが登場し、J2EE以上に肥大化していきました。 そこで最近登場したのが、今回紹介するSpring Bootです。 Spring Bootは「コードを全く生成することなく、XML構成ファイルなしで番環境で利用できる Springベースのアプリを作成し、すぐに実行できるようにすること」とのことです。 開発者がSpring Bootを使用することで、「Springプラットフ

    Spring Bootで高速アプリ開発 | DevelopersIO
  • AWS Systems Manager から直接 AWS API をたたけるようになりました! | DevelopersIO

    AWS Systems Manager から AWS API を呼び出すことができるようになりました。CloudFront のキャッシュクリア(Invalidation)を例に、実際に試してみます。 日(現地時間の 8/28)、AWS Systems Manager に AWS API を直接呼び出す機能が追加されました。控えめに言って 革命です。 何が出来るようになった? YAML を書くだけで、AWS CLI から出来ること はたいていのことが AWS Systems Manager のマネジメントコンソールから実行可能になった もちろん従来通り、実行前に承認を待ったり、権限をその YAML (ドキュメント)に AssumeRole させることも可能 オペ業務的にいえば、AWS CLI を順に実行するだけのようなシェルスクリプトは ほぼ全てこれに置き換えることが可能 と言えば良いでし

    AWS Systems Manager から直接 AWS API をたたけるようになりました! | DevelopersIO
  • [CDP] High Availability Forward Proxyパターンの構築 | DevelopersIO

    Squidの設定(/etc/squid.conf) 「AWS のPublicサービスとの連携」と「パッケージの取得・更新(yum)」のリクエストはSquidを経由するので、プロトコルはhttpとhttpsのみ有効とします。Proxyサービスのリスンポートは8080を設定しています。 # # Recommended minimum configuration: # acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 # Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks fr

    [CDP] High Availability Forward Proxyパターンの構築 | DevelopersIO
  • Amazon EC2のキーペア生成について、本来あるべき形 | DevelopersIO

    よく訓練されたアップル信者、都元です。EC2の世界にはキーペアという登録エンティティがあります。EC2サーバにSSH接続するための鍵 *1としての働きを持ちます。 暗号技術のおさらい 突然ですが、暗号の世界の技術を大きく3つとりあげ、簡単に整理しておきましょう。私の説明は正確ではないと思いますので、あわせてWikipediaあたりの説明もご参考に。 暗号:情報のヒミツを守る。詳しくは → 暗号 - Wikipedia 電子署名:ある文章を、ある人が認めた状態から改ざんされていないことを確認する。詳しくは → 電子署名 - Wikipedia 認証:通信の相手が、想定した人であること(正当性)を確認する。詳しくは → 認証 - Wikipedia 一般的に暗号というと思い浮かべるものは「共通鍵暗号方式」でしょう。代表的なところでは暗号化zipでしょうか。暗号化時と復号化時に同じパスワードを

    Amazon EC2のキーペア生成について、本来あるべき形 | DevelopersIO
  • Amazon VPC環境にメンテナンス用の踏み台サーバを構築する | DevelopersIO

    よく訓練されたアップル信者、都元です。前回は「Amazon VPCを使ったミニマム構成のサーバ環境を構築する」と題して、Amazon VPCに小さなサーバ環境を構築しました。この環境は、アプリケーションサーバ(Webサーバ)がユーザからのHTTPを受け付けつつ、管理者によるメンテナンスのためのSSHの受け付けも兼ねている状態です。セキュリティの観点からは、あまり好ましい状態とは言えませんね。 そこで今回は、メンテナンスのための踏み台(bastion)サーバを構築し、よりセキュアな構成にしてみましょう。環境の構成図は右の通りです。まず、アプリケーションサーバはHTTPのみを受け付けるようにSecurity Groupを調整します。また、public subnetの中にもう一つサーバを起動し、踏み台として使います。こちらはSSHのみを受け付けるように調整します。踏み台サーバは常時起動しておく必

    Amazon VPC環境にメンテナンス用の踏み台サーバを構築する | DevelopersIO
  • [5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Linux編 – | DevelopersIO

    (Windows編はこちら) コンニチハ、千葉です。涼しくなってきたので、運動日和な今日このごろです。 さて今回は、Linux Bastion Hosts on the AWS Cloud: Quick Start Reference Deploymentが公開されていたので、あらためて踏み台サーバのベストプラクティスと提供されているCFnテンプレートでの構築をしてみました。踏み台サーバを利用すると、EC2インスタンスをインターネットに公開せずに、インスタンスに接続できるようになります。つまり、VPC内のサーバにセキュアにアクセスすることができるので利用する方がベターですね。 基的な内容となっておりますので、初めての方などのお力になれば嬉しいです! 踏み台サーバのベストプラクティス アーキテクチャ AWSでセキュアにサーバへアクセスするために、踏み台サーバを構成するときのアーキテクチャで

    [5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Linux編 – | DevelopersIO
  • Amazon EC2 のキーペアを安全に運用するために、秘密鍵のフィンガープリントを確認する | DevelopersIO

    はじめに 一般的に、SSHで公開鍵暗号方式によって認証する仕組みを構築する場合、接続元となるクライアントで秘密鍵と公開鍵を作成し、公開鍵をサーバに転送して配置します。サーバで秘密鍵と公開鍵を作成して、秘密鍵をクライアントに転送するのはアンチパターンです。何故なら秘密鍵は誰にも見せるべきでは無い情報であり、転送によって漏洩するリスクがあるからです。秘密鍵が漏洩すると、暗号化された通信が復号されてしまいます。 AWSでは、EC2インスタンスと通信をする際に公開鍵と秘密鍵のキーペアを使います。具体的には、LinuxインスタンスではSSHの認証に、WindowsインスタンスではAdministratorのパスワードの入手のためにです。このキーペアを設定する方法は2通りあり、一つは既にクライアント側で作成している公開鍵をインポートする方法です。これだと前述の通り、秘密鍵は一切転送していないので、漏洩

    Amazon EC2 のキーペアを安全に運用するために、秘密鍵のフィンガープリントを確認する | 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
    kma83
    kma83 2018/08/07
  • Play Frameworkアプリの負荷試験を行う前に確認すべきことまとめ | DevelopersIO

    はじめに Play Frameworkを利用してアプリケーションを開発する動機の一つとして「高い負荷に耐えることができる(C10K)」が挙げられます。 しかしながら、たとえPlayを使っていても、チューニングが十分でなければ高いスループットが出るとは限りません。 今回は、300RPS(RPS=リクエスト毎秒)を超えるような負荷をPlayアプリケーションにかける前に確認すべきポイントをいくつかご紹介します。 稿ではPlay Frameworkのバージョン2.4を前提としています。 Playアプリの負荷試験前に確認すべきこと 目次 ExecutionContextが適切に分割されているか 並列実行可能なスレッド数の設定は適切か ログ出力方法は十分考慮されているか (おまけ)Amazon Linuxの設定で配慮すべきもの ExecutionContextが適切に分割されているか Executi

    Play Frameworkアプリの負荷試験を行う前に確認すべきことまとめ | DevelopersIO
  • 1台のEC2でもELBを使うメリットについてまとめてみました | DevelopersIO

    ご機嫌いかがでしょうか、豊崎です。 ELB(Elastic Load Balancing)はその名の通りロードバランサーなので、負荷分散のイメージが強いと思いますが、 ここではWEBサーバが1台でも前段にELBを置いた方がいい理由についてまとめたいと思います。 WEBサーバが1台でもELBを置いた方が良い理由 インスタンスの差し替えが容易 運用が開始した後、EC2に対して修正を行う必要がでた場合、インスタンスの差し替えが容易になります。 DNSの変更を行うことなく、バックエンドの切り替えが可能です。 ELBのヘルスチェックで監視 ELBのヘルスチェックを利用してWEBサーバの死活監視を行うことができます。 CloudWatchアラームを組み合わせて通知が可能です。 HTTPSのSSL終端をELBへ SSLを利用する場合、EC2でSSLを終端させるとOpenSSLなどの管理が発生します。 一

    1台のEC2でもELBを使うメリットについてまとめてみました | DevelopersIO
    kma83
    kma83 2018/08/06
  • Amazon VPCでELBとNATを使ってよりセキュアな環境を作る【5日目】 | DevelopersIO

    公開するサーバはセキュリティを特に強化する ELBを介してEC2インスタンスのWebアプリにアクセスするとき、ELB以外からのアクセスを拒否したくなります。また、公開IPアドレス自体も持ちたくありません。公開IPを持たせたくないということでVPCを前提に考えます。そして、ELBをパブリックサブネットに置いて、EC2をプライベートサブネットにすることで実現できます。今回は、VPCを使ってELBとNATインスタンスを使ったセキュアな環境を構築したいと思います。 VPCとELB ELBとAutoScalingが連携できることは知られていますが、VPC内でも使うことができます。 VPC内のELBのテクニックとして、ELB自体をパブリックサブネットに置いてEC2をプライベートサブネットにおくことがあります。ELBがリバースプロキシとして働いて、EC2はELBからのHTTPインバウンドのみ受け付けるの

    kma83
    kma83 2018/07/24
  • Javaアプリケーションを簡単にDocker化できるJibを触ってみた | DevelopersIO

    はい、どーも。モバイルアプリサービス部の吉田です。 今日は、Javaアプリケーションを簡単にDocker化できるツール、Jibを試してみたいと思います。 Jibとは Dockerfileを書かなくても、良い感じのDockerfileを生成してくれる DockerHub,Amazon ECR,Google Container Registryなどにpushしてくれる など、いままでJavaアプリケーションをDocker化するにあたっての面倒な作業をやってくれるツールです。 また、既存のJavaアプリケーションに特に手を入れることなく、簡単にDocker化できるのも嬉しいポイントです。 導入方法 JibはMavenやGradleのプラグインが提供されていますので、これ経由で使うのが簡単です。今回はMavenのプラグインを使用しますが、Gradleプラグインでもほぼ同様です。 Docker化する

    Javaアプリケーションを簡単にDocker化できるJibを触ってみた | DevelopersIO
  • ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 Auroraへ移行するお話を頂くことが増えてきました。そこでAuroraへの移行時における冗長化のポイントを考えてみました。 RDSのSLA定義はMulti-AZが前提である旨を追記しました。 そもそもMulti-AZって? ここではMySQLの場合のMulti-AZについて述べます。 Single-AZでは、以下の問題があります。 耐久性: ストレージボリュームで障害が発生した時には、「最新の復元可能な時刻」以降のデータ更新が失われる。 可用性: ハードウェア障害が発生した時に、インスタンスを再作成するため再接続までの時間が必要になる Auroraを除くRDSではストレージボリュームにEBSと同等のものが使用されているようなので通常のディスクに比べて高い可用性と信頼性を備えています。 補足すると、EBSについての具体的な数字としては「

    ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?
  • CloudFormationでいつでも最新のWindows AMIからEC2を起動したい(パブリックパラメータストア利用) | DevelopersIO

    西澤です。AWSサービスのアップデート情報のキャッチアップをしていた中で、以前に書いた記事が、非常に簡単にスマートに実装できるようになっていたことに気付いたのでご紹介したいと思います。 最新のAMIを利用する為の戦いの記録 以前に書いた記事は下記のものです。 CloudFormationでいつでも最新AMIからEC2を起動したい その他、色々な方が似たようなことで苦しんでいるところも合わせてご確認ください。 Terraformでもいつでも最新AMIからEC2を起動したい 指定AMIの最新版を使ったWindowsEC2インスタンスを作成するスクリプト 最新のWindows AMIはパラメータストアから簡単に取得できるようになっていた そして、アンサーブログは、中山順博さんが書かれたこちらの記事。 パラメーターストアから最新のWindows AMIのIDを取得する もうLambdaで最新のAM

    CloudFormationでいつでも最新のWindows AMIからEC2を起動したい(パブリックパラメータストア利用) | DevelopersIO
  • AWS再入門2018 AWS Well-Architected Framework編 | DevelopersIO

    AWS White Belt Online Seminar】AWSご利用開始時に最低限おさえておきたい10のこと で紹介されていたことを架空の人物「太郎くん」とともに整理してみました。 こんにちは。池田です。先日、自動ドアを通過中に扉が閉まってきて激突した拍子に、メガネのレンズが傷だらけになってしまっていたのですが、昨日やっと新しいメガネが手元に届きました。視界がクリアなのって素敵なことですね。 AWS再入門2018 プロマネや営業のためのAWS Monthly Calculator入門編に登場してもらったところ、ごく一部で微妙な人気をいただいている架空の人物「太郎くん」。せっかくなので今回も登場してもらおうと思います。 はじめに 先週見積もりを作成したお客様から「AWSへの移行を進めたいので、いくつか教えて欲しいことがある」と呼び出された太郎くん、見積もりに含めなかった各種オプション料

    AWS再入門2018 AWS Well-Architected Framework編 | DevelopersIO
    kma83
    kma83 2018/07/05
  • Cloudformationを使ってAWS Batch環境を構築してみる | DevelopersIO

    どうも!西村祐二@大阪です。 2017年8月にCloudformationにてAWS Batchがサポートされましたので、Cloudformationの勉強を兼ねて試してみたいと思います。 さっそくやっていきましょう! 使用できるリソースタイプを確認 ドキュメントよりテンプレート作成時に使用できるリソースタイプを確認します。 AWS Batchでは下記3つのリソースタイプが使用できるようです。 AWS::Batch::ComputeEnvironment AWS::Batch::JobDefinition AWS::Batch::JobQueue 環境 MacmacOS Sierra 10.12.6 AWS CLI: aws-cli/1.11.145 Python/3.6.1 Darwin/16.7.0 botocore/1.7.3 事前準備 下記ブログで作成したAWS Batch環境

    Cloudformationを使ってAWS Batch環境を構築してみる | DevelopersIO
  • AWS Fargateが東京リージョンに対応しました! | DevelopersIO

    AWS Fargateが東京リージョンに対応! Dockerコンテナを直接起動できるサービスであるAWS Fargateが東京リージョンに対応しました! 東京リージョンでも、EC2インスタンスを意識する必要なくDockerコンテナを起動することができるようになりました。 AWS Summitで7月に対応することがアナウンスされていましたが、第一週での対応となりました。 【日のコンテナファン熱望】AWS Fargateの東京リージョン対応予定がアナウンスされました!#AWSSummit 東京で起動させてみた 簡単ですが試してみました。AWS Fargateはチュートリアルに沿って簡単に構築できます。 今回はチュートリアルのうち、nginxで試しました。下図をみて分かる通り、東京リージョンでFargateが選択できています。 適当にALB(Application Load Balancer)

    AWS Fargateが東京リージョンに対応しました! | DevelopersIO