AWS(アマゾン ウェブ サービス)の初心者が実際に使って感じたこと


My Redmine

原田です。先日半日程度外出していたのですが、日除けをしていなかった手首が真っ赤に日焼けしてました。熱中症には気をつけないといけませんけど、日焼けができる夏は最高だなと思いました。

今回はAWSに関しては初心者の私が実際にAWSを使ってみて感じたことを書きます。

当社の提供するサービスではAWSを使用しています

Redmineのクラウドサービス「My Redmine 」など、当社ではAWSを使用してサービスを提供しております。 クラウドを利用することでITリソース等を自社で調達する必要がなく、サービスの改善に注力できることで、12周年(試験提供含む)を迎える「My Redmine」は多くのお客様にご利用頂いております。

サーバーレスアーキテクチャとは

「サーバーレス」とあるようにサーバーの管理は不要で、処理の実行時間や実行回数に対して従量課金が行われます。オンプレミス環境で各種サーバーを構築された経験のある方にはご理解頂けると思いますけど、将来を見越してサーバー機器のスペック(CPU・メモリー・ハードディスクの容量等)を事前に検討していた手間が無くなるのは魅力があります。インフラエンジニアよりは私のようなアプリケーション開発者が好みそうな設計思想(サービス)なのかなと思います。

今回は AWS Lambda と AWS Step Functions を当社検証環境で使用してみました。

AWS Lambda

AWS Lambda(以降Lambdaと略します)にはRubyランタイム(AWS Lambda ランタイム)も用意されています。AWS SDK for Rubyを使用してAWSの各サービスを操作したり、自社独自の処理が作成できる点はRubyを使用している当社にとって嬉しい限りです。


コード例(Amazon S3に格納されているファイルのサイズとURLを取得)

しかしLambdaには、実行時間は最長15分・メモリ使用量は上限3GB、等いくつか制約があります。これら制約事項に触れなければLambdaは非常に便利なサービスです(Lambdaで作成した処理をAWS Fargate等で実行するとこれら制約事項を回避できる場合もあります)。

AWS Step Functions

AWS Step Functions(以降Step Functionsと略します)は上記のLambdaやその他AWSサービスを自社のビジネスロジックに基づいて順番通りに実行させることができます。JSONで作成したStep Functionsステートマシンをフロー図で画面に表示してくれる点は処理の流れが把握しやすくて便利だなと思いました。


コード例(ファイルをコピーし、コピー後のファイル情報を取得)

Step Functionsは各AWSサービスと入出力フィールド(InputPath, OutputPath, ResultPath, Parameters)を介して一連の処理を連携します(Step Functions の入出力処理)。注意点として、入出力フィールドはバケツリレー方式で値を受け渡ししていますので不要な値は適宜消し込んでおかないとStep Functionsステートマシンの終了時に呼び出し元に返すべき値が把握できなくなる恐れがあります(ResultPath: 結果を破棄し、元の入力を保持する)。

AWSのことをもっと学びたい

私はRedmineの改善業務も行っておりますが、当社サービスである「My Redmine」は、RedmineだけでなくAWSを始め様々なシステムが稼動することで提供できております。AWSとの連携範囲も大きくなり当社にとって欠くことのできないものになっています。AWSサービスはとても多く取捨選択するのは大変ですけど業務を通じて(実際に手を動かして)引き続きAWSを学んでいきたいです。


My Redmine

こちらの記事もオススメです!
AWS SAM(Step Functions + Lambda)を利用して複数のウェブサイトのレスポンスチェックをした話
サーバレスで色々なバッチ処理が簡単に実装できます。
TwitterやPodcastから効率よくセキュリティ情報を収集するのだ!
セキュリティに関する新しい情報を収集し、教育や改善など社内の活動に繋げています。
オープンソースのプロジェクト管理ソフトウェア「RedMica」のファビコンを作成しました
Redmine互換のオープンソースソフトウェア「RedMica」のファビコンを作成しました。
ファーエンドテクノロジーはRedmineにどう関係しているのか
ファーエンドテクノロジーとRedmineの関係が気になる人が多そうなので紹介します。
Vaddyとseleniumを使ってRedmineの脆弱性チェックを自動化
オープンソースのRedmineの脆弱性チェックをVaddyとseleniumを使って自動化しています。
ファーエンドテクノロジーからのお知らせ(2024/03/27更新)
2024年4月14日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催)
ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。
My Redmine スタンダードプランおよびAdminサポートデスクプランの料金改定のお知らせ【2024年4月ご利用分より】
2024年4月ご利用分より、My Redmine スタンダードプラン(民間企業・個人向け及び官公庁向け)とAdminサポートデスクプランの料金を改定いたします。
My Subversion 一部のプラン・料金改定のお知らせ【2024年4月ご利用分より】
2024年4月ご利用分より、My Redmine スタンダードプラン(民間企業・個人向け及び官公庁向け)とAdminサポートデスクプランの料金を改定いたします。
My Subversion ストレージ容量増量のお知らせ(一部プランを除く)
My Subversionではミディアムプラン以上の各プランのストレージ容量を増量します。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け