Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

AWS

S3 MFA Deleteでオブジェクトの削除保護を有効化する

S3 MFA Deleteとは S3 MFA DeleteとはAmazon S3オブジェクトの誤削除を防止するセキュリティ機能の1つで、バケットからオブジェクトを削除する際にMFAデバイスによる二段階認証を必須にできます。 なおこの機能を使用する際に以下の制限を考慮する必要があり…

パーティション射影を使用したAthenaでの AWS WAF ログ分析

はじめに AWS WAFのログ分析を手軽に実現したいと検討していたところ、AWS公式ドキュメント上にAWS WAF ログのクエリ - Amazon Athenaを見つけて試してみました。 ポイントはパーティション射影を利用している点です。 前提 AWS WAFと紐づけ先のCloudFront、…

AWS Lambda を使用して"Hello World"をサーバーレスで実行する

はじめに 近年、ITシステムの設計の開発手法として、「サーバーレス」が非常に注目されています。 サーバーレスとは、個々の利用ユーザ企業の管理者がクラウド上にあるサーバの存在を意識せずにアプリケーションやデータベースの利用ができるクラウド利用形…

【AWS】SSMを使ったポートフォワードで、Windows端末からEC2に接続

はじめに 前回、こちらの記事でAWS Systems Manager(以降、SSM)のSession Managerを使った、AWSマネジメントコンソールからのEC2インスタンスアクセスを紹介しました。 techblog.techfirm.co.jp 普段の運用では、AWSマネジメントコンソールからではなく、Ter…

Amazon Managed Blockchainの概要とブロックチェーン技術の実用例について

昨今ブロックチェーン技術の利用が急速に拡大しており、2025年度には多くの企業にブロックチェーンが普及することで市場規模は約7247.6億円に達するとの予測もあります。 そこで本稿では、ブロックチェーンとスマートコントラクトの基本的な概念から始め、Am…

EBSボリュームの暗号化方法について

EBSとは Amazon EBS(Elastic Block Store)は、持続的で高性能なブロックストレージサービスです。 ※以降、Amazon EBSのサービスそのものを指す場合は EBS、作成したボリュームを指す場合は EBSボリュームと表記します。 EBSはAmazon EC2インスタンスのデー…

AWS Amplify を使ってウェブアプリケーションをデプロイしてみた

AWS Amplifyは開発者がモバイルアプリケーションやウェブアプリケーションを簡単かつ迅速に作成し、デプロイすることができる開発プラットフォームです。 利用者はバックエンドの構築をAWSの様々なクラウドサービスに任せることでアプリケーション開発の工数…

【AWS】RDS Aurora マルチAZ環境のリザーブドインスタンス購入時のオプションについて

はじめに AWSのRDSを運用する上で、経費削減のためリザーブドインスタンスを購入する機会は少なくないと思います。 今回マルチAZ環境のAuroraインスタンスのリザーブドを購入する際に少し混乱した項目があったので、知見としてまとめます。 前提 マルチAZ環…

Amazon S3のバケットポリシーを利用してアクセス制御を行う

はじめに Amazon S3(Simple Storage Service)は、データの保存と管理に使用されるストレージサービスであり、その利用にはアクセス制御が不可欠です。 本稿ではAmazon S3のアクセス制御において重要な役割を果たす「バケットポリシー」について解説し、既…

Amazon CloudWatch Logs Live Tail を試してみる

はじめに 先日、Amazon CloudWatch Logs Live Tailがリリースされました。 今までCloudWatch Logsのログをリアルタイムで見る場合にはマネジメントコンソールで手動でリロードを行ったり、別途ツールを作成する必要がありましたが、ログをほぼリアルタイムに…

【AWS】CLIでAuroraレプリカインスタンスのオートスケール最大・最小数を変更する

はじめに あるプロジェクトで、Auroraレプリカインスタンスの最大数・最小数を運用で柔軟に変更する必要がありました。 AWS CLI・APIを使って変更できるよう、IAMロールを作成していたのですが、以下の2つのコマンドで使い分けに迷う部分があったので記事と…

初心者向けAWS解説シリーズ~データベース編~

はじめに 本稿は、AWSが提供しているデータベースサービスAmazon RDS(Amazon Relational Database Service)で利用可能なデータベースエンジンの種類・RDSの機能について主に触れていきます。 RDSとは RDSとはMySQLやOracleなどの6つのDBエンジンから好きな…

【AWS】クロスアカウントスイッチロールの設定

はじめに 開発・本番環境をアカウントで分けるなど、1つのプロジェクトで複数のAWSアカウントを扱う場合があると思います。 各環境にIAMユーザを作成していると、開発者も管理者も、たくさんの認証情報を管理しなければならなくなり、大変です。 この問題を…

Direct Connect 未経験から始める Advanced Networking - Specialty (ANS-C01) 合格体験記

先日受験した AWS Certified Advanced Networking – Specialty (ANS-C01) の試験に合格したので、個人的に効果的だった学習方法や試験の所感を記録しておこうと思います。

IAMユーザでMFAを強制し、自身でMFAデバイスや認証情報を管理できるようにする方法

はじめに IAMユーザーをセキュアに運用したいが、IAM管理者の運用負荷は抑えたいという要件を想定して、どのようなIAMポリシーを作成していけばよいか記載していきたいと思います。 今回は、以下の要件があった場合を想定してみます。 IAMユーザーにMFAを強…

予期せぬコスト予測オーバーの要因をAWS Cost Explorerで調査してみた

「コスト予測オーバー190%!?」これは月初に鳴り響いたAWS BudgetsアラートをAWS Cost Explorerで調査した奮闘録である※実際の出来事を脚色してお送りしております。

S3上の機密情報ファイルへタグベース制御を行う

はじめに 各種リソースへのアクセスを個別に制御する場合、IAMポリシーでAction、またResource要素を個別に設定すると思います。 ですがAWSには、より厳密かつ柔軟にアクセスを制御するABAC(タグベースのアクセス制御)といった手法があります。 今回は、S3上…

EC2インスタンスの起動失敗メッセージの解読とPassRole権限

はじめに あるAWS環境でAMIからEC2インスタンスを起動したところ、以下のメッセージと共にEC2インスタンスの起動に失敗しました。 You are not authorized to perform this operation. Encoded authorization failure message: XXXXXXX(中略) 調査 操作アカ…

CloudFront+S3環境へデプロイするCI/CDパイプラインの設計

Vue.js等で開発されたフロントエンドをS3バケットにデプロイし、バックエンドはAPI GatewayとLambdaで実装するサーバレス構成も増えてきました。 今回は、フロントエンドのCI/CDパイプラインをどのように設計するか考えていきたいと思います。 構成とキャッ…

【AWS】CodeDeployのInstallイベントが終わらない

はじめに AWSのECSを使用している環境でアプリケーションの更新を行うにあたり、CodeBuildやCodeDeploy等のサービスを使用する機会があります。 CodeDeployでは更新が完了するまでに各種ライフサイクルイベントがありますが、その中のInstallイベント時にタ…

S3に出力したログをAmazon Athenaでクエリする

はじめに ウェブアプリケーションの運用で、ログを解析するとき、 解析専用サーバを構築したり、有料の解析ソフトを使うケースが一般的だと思うが、 生ログをエクセルなどで解析するケースも稀ではないように思う。 たとえば、ALBのアクセスログはS3に保存す…

CloudWatch Logs メトリクスフィルターのテスト方法

はじめに CloudWatch Logs利用時のログ監視のテスト方法について、ときどき思い出す必要があるので備忘的に記しておこうかと思います。 EC2であればOSへログインし、loggerコマンドで監視対象文字列をログ出力させ、監視ツールが正常に異常検知するかという…

Terraformで作ったREST APIにServerless Frameworkからデプロイしてみた

Terraformで作成したREST API(API Gateway)にServerless Frameworkからデプロイするための設定ポイントを紹介します。

IaCでREST API(API Gateway)を構成する要素

TerraformやCloudFormationでAPI Gatewayを設定するための主なリソースについて紹介します。

【AWS】セッションマネージャーを使ったEC2接続の、接続OSユーザー指定方法

はじめに 前回、こちらの記事でAWS Systems ManagerのSession Managerを使った、AWSマネジメントコンソールからのEC2インスタンスアクセスを紹介しました。 techblog.techfirm.co.jp 簡単かつセキュアなコンソールアクセスを実現できるのですが、注意点とし…

S3バッチオペレーションでクロスアカウントへファイルをコピーする

はじめに システム構築の際、環境を複数用意することが多いと思いますが、その時に既存環境から 新環境へデータを同期、またはコピーする上でS3バッチオペレーションが有用です。 今回は、クロスアカウントにおけるS3バッチオペレーションの実行方法と権限設…

API GatewayでKinesis Data Firehoseのプロキシを作成する

はじめに 以前、Kinesis Data Streamsと連携させるブログを書きましたが、今回はKinesis Data Firehoseでプロキシを作成、S3にデータ保管するパターンを記載します。 API GatewayでKinesis Data Streamsのプロキシを作成する - Techfirm Cloud Architect Blo…

API GatewayでKinesis Data Streamsのプロキシを作成する

はじめに センサーデータなど定期的なデータ収集、最終的には集計・分析するユースケースを想定し、まずはデータ収集するインターフェイスとしてAPI GatewayとKinesis Data Streamsの組み合わせについて試してみました。 チュートリアル: API Gateway で RES…

AWS WAFのマネージドルールでALBのスティッキーセッションCookieがクロスサイトスクリプティング扱いされる

はじめに AWSクラウドで構築されているウェブアプリケーションで、AWS WAFを導入するケースは少なくないだろう。 筆者が所属するチームで運用するアプリケーションでもAWS WAFを導入する事となり、WAFの導入準備から運用開始まで実施する機会があった。 この…

AWS ChatbotをSlackのプライベートチャンネルに連携する際の注意点

はじめに 別の記事でAWS BudgetsのアラートをAWS Chatbotを用いてSlackに連携する方法について説明しました。 記事の中では、パブリックチャンネルに連携する手順を説明しましたが、プライベートチャンネルに連携する場合、もうひと手間必要になります。 今…