- 1. AWSのElasticSearch(OpenSearch)でPoint in time(PIT)が使えるのはOpenSearch 2.5からです
- 2. Open Searchでmapper_parsing_exceptionが発生した。
- 3. CloudShell VPC environment構築手順(VPC内でCloudShellの起動)
- 4. SESとWorkMailで送信用メールアドレスを作りたい!
- 5. AWS IoT Coreについて調べてみた
- 6. Amazon Bedrock を試してみた
- 7. AutoscalingグループのEC2を自動更新してみた
- 8. EC2にdockerで動くアプリをデプロイする手順、コマンドまとめ
- 9. DockerHubのトークンのキーローテーション機能をLambdaとSecrets Managerを使って実現しよう!
- 10. 【AWS×Webアプリ】CloudFront+Cognito認証(SAM)
- 11. [AWS SUMMIT2024 セッションレポート] アプリケーション開発を加速させる AWS の生成 AI デベロッパーツール
- 12. Amazon EKSアクセスエントリに複数ユーザをグループとして登録したい
- 13. 開発環境を劇的に良くするCloudWatch術
- 14. CloudFormationで作成したAPIGatewayとLambdaを動かす
- 15. Lambdaを使ってDynamoDBの既存データに新しい属性を追加する
- 16. スクラム開発でネットワークセキュリティを強化する方法
- 17. AWS SAP 合格記
- 18. AWS Summit Japan 2024 参加レポート
- 19. メモリ不足で?AWS EC2 linux2+MATE環境のchromiumでwebサイトが見られなかった件
- 20. EC2なんとなく振り返り
AWSのElasticSearch(OpenSearch)でPoint in time(PIT)が使えるのはOpenSearch 2.5からです
# AWSのElasticSearchでPITが使えない…?🤔
とあるプロジェクトでAWSのElasticSearchを使っていて、データ件数が多くなってきたためPoint in time(以降、PIT)を使いたいタイミングがありました。
[Point in time API | Elasticsearch Guide [8.14] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/point-in-time-api.html)
手元のElasticSearchのバージョンがやや古かったため、ドキュメントを調べたところ7.10よりPITが導入されていることが確認できました。
[Point in time API | Elasticsearch Guide [7.10] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/point-in-time-api.html)
ところが、7.1
Open Searchでmapper_parsing_exceptionが発生した。
# はじめに
開発でOpen Searchを使っているのですが、その中で引っかかった内容があったためブログ記事にまとめます。# 発生した事象
AppSyncでOpenSearchを使用したときに取得できるデータとできないデータがありました。
ログを調査したところ以下のようなエラーが発生していました。“`
“status”: 400,
“error”: {
“type”: “mapper_parsing_exception”,
“reason”: “failed to parse field [salesEndDate] of type [date] in document with id ‘3a31a493-0dd3-495d-a5e1-cbcab96e0798’. Preview of field’s value: ‘2025/07/02′”,
“`DBの日にちデータを`2025/07/02`としていたためエラーが発生していました。
日付をOpensearchが認識する形式に変換する必要があります。`
CloudShell VPC environment構築手順(VPC内でCloudShellの起動)
CloudShellがVPC内に建てられるようになったので試してみました。
## 概要
### CloudShellとは
AWS Management Console(ブラウザ)からアクセスできるコマンドライン環境。料金は無料(※1)で1GBのストレージが使用可能。
※1 [データ送受信料金](https://aws.amazon.com/jp/ec2/pricing/on-demand/#Data_Transfer)は別途発生。### CloudShell VPC environmentとは
通常のCloudShellはAWSのマネージド環境で起動するため、セキュリティグループの設定でIP制限やソースにSGIDを指定している場合は通信が不可能となる。
一方CloudShell VPC environmentでは自身のVPC、Subnet内にてCloudShellの起動でき、セキュリティグループも指定が可能となる。## 構築手順
1. 通常通りCloudShellを起動
![001.png](https://qiita-image-store.s3.ap-northeast-
SESとWorkMailで送信用メールアドレスを作りたい!
## 通知用メールアドレスが欲しい
Cognitoメールのクォーター制限により、SES化を余儀なくされ、通知用メールアドレスが必要になったのでWorkMailで送信用アドレスを作ってみました。
メールアドレスのドメインはシステム側と合わせたいので、Route53へ登録済みのものを利用する前提になってます。## 前提
– ドメインを取得し、Route53のホストゾーンへ登録済みであること## Amazon WorkMailでアドレスの作成
### organizationの作成
`Amazon WorkMail`へアクセス
利用可能リージョンが限られるようなので「バージニア北部」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1057132/791b3b8a-d34f-0a37-608e-a6cd853aa25f.png)Create organizationのページで、利用したいドメイン(Route53で登録済みのホストゾーン)の選択と、Aliasの入力を行い
AWS IoT Coreについて調べてみた
# はじめに
こんにちは。開発部のMです。今回は「AWS IoT Core」についてご紹介します。# AWS IoT Coreとは
簡単に言うと「IoTデバイスとAWS上に構築されたアプリケーション、AWSの各種サービスとの連携を簡単かつセキュアに行うマネージド型クラウドサービス」です。# IoTCoreで提供されている主な機能
IoTCoreで提供されている主な機能の分類は下記となります。
* IoTデバイスとAWSとの接続、メッセージ送受信
* IoTデバイスからのデータ収集・処理
* IoTデバイスの運用・管理### IoTデバイスとAWSとの接続、メッセージ送受信
#### IoTデバイスとAWSとの接続
デバイスゲートウェイを用いてIoTデバイスからAWS IoTへの通信をセキュアかつ効率的に行うことができます。#### AWS IoT Core メッセージングサービス
メッセージブローカーを用いてIoTデバイスとAWS IoTアプリケーションが相互に安全にメッセージを発行および受信することができます。
通信プロトコルはMQTTを直接使用するかMQTT o
Amazon Bedrock を試してみた
# はじめに
生成AIについて学習をするため Amazon Bedrock を試してみました。
今回は Anthoropic 社の Clude 3 Haiku を試したいと思います。## 基盤モデルの有効化
今回は Claude を利用するためバージニアで作業を行います。
– `AWSマネジメントコンソール > Amazon Bedrock` をクリックします。– 使用開始をクリックします。
![bedrock01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82090/8bba4bdb-be32-3842-058c-6028dd2bbdf5.png)
初めての場合は以下のようなポップアップが現れるため **[ モデルアクセス管理 ]** をクリックします。
![bedrock02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82090/71b4ceb5-ea02-1bba-cfd8-06802d299
AutoscalingグループのEC2を自動更新してみた
# はじめに
最近Autoscalingグループで稼働するWebサーバーに対して、アプリケーションの更新を自動化する機会があったので実装した機能を紹介させていただきます。# 背景
以下の図のような、よくある構成でWebサーバーをホストする環境を構築しました。
* Application Load Balancer配下に、常時2台稼働するEC2にWebアプリケーションをホストしている。
* アプリケーションの更新用に、ALBには紐づかないEC2が1台存在する。![AMI自動更新.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622083/a56f3df9-064e-e22f-0474-044f5b32757f.png)
上記の構成において、これまではアプリケーション更新用のEC2で更新・テストが完了したら以下の手順で、**手動**でAutoscalingグループのEC2を入れ替えていました。
1. アプリケーション更新用EC2を停止する
1. このEC2からAMIを作成する
1. 作成した
EC2にdockerで動くアプリをデプロイする手順、コマンドまとめ
# はじめに
EC2、Linux環境にGitやdocker-composeをインストール、GitHubのアプリをクローンして動かせるようにするコマンドなどをまとめました。個人開発やハッカソン用に自分がメモしていたものをまとめましたので拙い部分もあるかと思いますが、参考になれば幸いです。
## 前提
AWS EC2でLinuxを使用
インフラは構築済み、EC2にアクセスできる状態
メモ代わりなのでコマンドなどの細かい説明は省いています。
# 手順
gitのインストール
“`
sudo yum install -y git # gitのインストール
git –version # gitのインストール確認
“`
Dockerのインストール
“`
sudo yum install -y docker # dockerのインストール
sudo systemctl start docker # dockerの起動
sudo systemctl enable docker # dockerの自動起動設定
sudo usermod -a –
DockerHubのトークンのキーローテーション機能をLambdaとSecrets Managerを使って実現しよう!
## 概要
LambdaとSecrets Managerを使うと秘匿情報のキーローテーションを実現できます
今回はDockerHubのトークンを使ってキーローテーションします
また、リソースはCloudFormationを使ってコード化します## 前提
– DockerHubのアカウントを作成済み## Lambda用のバケットの作成
Lambdaをzipファイルからデプロイする用のS3バケットを作成します“`yml
AWSTemplateFormatVersion: 2010-09-09
Description: “S3 Bucket Stack For Account Setup”# ————————————-
# Metadata
# ————————————-
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
– Label:
default: “Proje
【AWS×Webアプリ】CloudFront+Cognito認証(SAM)
## 目的
・AWS上の静的Webサイトホスティングを有効にしたS3をCloudFrontで公開。
・Cognito認証を実装。## 前提条件
・SAMを使用してAWS上にリソースを作成する。
・Lambda@Edgeを使用して実装する。## 完成イメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3637963/b40ed51f-5720-da27-f7dd-6fc8758e8ed7.png)## SAMテンプレート
“`yaml:template.yaml
AWSTemplateFormatVersion: ‘2010-09-09’
Transform: AWS::Serverless-2016-10-31Resources:
# … 他のリソースは変更なし …
WebBucketDistribution:
Type: AWS::CloudFront::Distribution
Properties:
Dis
[AWS SUMMIT2024 セッションレポート] アプリケーション開発を加速させる AWS の生成 AI デベロッパーツール
# はじめに
受講セッションの個人的な所感と、メモです。
メモの内容は、誤字脱字などあるやもしれませんが、ご了承ください。# 所感
Amazon Qや、wisperの存在は知っていたし、多少は使ったこともありますが、
もっぱらメインで使っているのはCopilotでして、あまりこの辺りは詳しくありませんでした。登場当初は少し使いづらい印象で、copilotの方が使いやすかったのでそのまま採用したのですが、
率直言うと進化が凄かったです。特にすごいと感じたのは、言語バージョンの最適化。
どこまで対応しているのか、最適化後、システムが正常に動くか、などの検証は必須ではあるものの、
かなり助かる機能ですね。言語バージョンがアップデートされないのは、
設計・仕様にも問題はあるものの、メンテナンス上、悩みの種のひとつだと思います。
あるあるだと思います。ここのサポートはシンプルに嬉しい。
普段のコーディングには、Copilotで十分だとは思いつつ、
AWS活用においては、やはりQの方がいいかな・・・。
悩みどころです。# 受講メモ
## Amazon Q
Develo
Amazon EKSアクセスエントリに複数ユーザをグループとして登録したい
## はじめに
Amazon EKSのアクセス制御方法で2023年12月のアップデートによりアクセスエントリというConfigMapを使用しない新たな方式が使用できるようになりました。https://aws.amazon.com/jp/blogs/containers/a-deep-dive-into-simplified-amazon-eks-access-management-controls/
詳細はこちらの記事でもご紹介しております。
https://qiita.com/triple321jhango/items/c03276b3fdbd7e63007c
## 課題
こちらの方法、実務で使用する際に課題となっていたのがアクセスエントリへの登録はIAMユーザまたはIAMロールを指定できるのですが、EKSクラスターを操作できる複数のIAMユーザを都度アクセスエントリに追加するのは運用上煩雑になるのでやりたくないと思い、IAMグループを指定して運用する方法はないかと模索していました。## 結論
試行錯誤した結果、IAMグループが直接ロールを引き受けることができないため、
開発環境を劇的に良くするCloudWatch術
# はじめに
開発環境でこんな経験はありませんか?
「システムのパフォーマンスが急に低下して原因がわからない…」
「Slackにエラー通知システム入れてみたけどログが分かりにくい…」
「エラーが発生したけど、どこをチェックすればいいのかわからない…」
「リアルタイムでログを監視して、即座に対応したい…」これらの悩み、まさに多くの開発者が抱えるものですよね。
そんな皆さんに朗報です!
AWSのCloudWatchを活用すれば、これらの問題を解決し、開発環境を劇的に改善することができます。
今回は、CloudWatchの「サブスクリプションフィルター」「ライブテール」「ログインサイト」といった機能を使って、効果的にシステムの監視を行う方法をご紹介します。# どのようなことができるのか
例えば、CloudWatchの「サブスクリプションフィルター」を使えば、特定のログイベントをリアルタイムでキャッチし、自動的に通知を送るシステムを作ることができます。
![スクリーンショット 2024-07-05 10.15.29.png](https://qiita-image-store
CloudFormationで作成したAPIGatewayとLambdaを動かす
# はじめに
今回はAPI GatewayをトリガーとしてLambdaを実行していきたいと思います。
API GatewayとLambdaの作成とテスト実行までやっていきたいと思います。# 目次
・構成について
・Lambdaの設定項目
・LambdaのCloudFormation作成
・API Gatewayの設定項目
・API GatewayのCloudFormation作成
・Permission設定について
・動作確認
・最後に
・参考# 構成について
LambdaとAPI Gatewayで構成します。
AWS環境はCloudFormationで作成します。
そのため、LambdaのコードやレイヤーのパッケージについてはS3から取得する必要があるのでS3も作成します。S3の構築は以前の記事を参考に作成してください。
https://qiita.com/ogataro/items/71dd28babfcdf6410a3c
# Lambdaの設定項目
今回はnodejs.20.xを利用し、「Hello from Lambda!」と返答してくるようにします。
またno
Lambdaを使ってDynamoDBの既存データに新しい属性を追加する
# はじめに
今回はLambdaを使ってDynamoDBの既存データに新しい属性を追加していきたいと思います。
これにより、DyanmoDBの既存データに対して一括で属性を追加できるようになります。# 目次
・構成について
・DynamoDBの設定項目
・DynamoDBのCloudFormation作成
・Lambdaの設定項目
・LambdaのCloudFormation作成
・動作確認
・最後に
・参考# 構成について
DyanmoDBとLambda、そしてS3で構成します。
DyanmoDBの既存データを一度CSVでダウンロードし、それを元にLambdaは新しい属性を追加するようにします。
AWS環境はCloudFormationで作成します。S3の構築は以前の記事を参考に作成してください。
https://qiita.com/ogataro/items/71dd28babfcdf6410a3c
# DyanmoDBの設定項目
DyanmoDBの設定項目はIDをパーティションキーとして、Timeをソートキーとしています。
それ以外の項目はCloudFormati
スクラム開発でネットワークセキュリティを強化する方法
## はじめに
スクラム開発を行う際、ネットワークセキュリティは非常に重要な要素です。特にクラウドベースのサービスを活用する場合、セキュリティの強化は避けて通れません。この記事では、ネットワークセキュリティを強化するための具体的な方法について解説します。## 1. セキュリティグループとネットワークACLの活用
クラウドベンダーが提供するセキュリティグループやネットワークACL(アクセスコントロールリスト)は、ネットワークトラフィックを制御するための強力なツールです。これらを適切に設定することで、不要なトラフィックをブロックし、システムを保護することができます。### セキュリティグループの設定
セキュリティグループは、インスタンスレベルでトラフィックを制御します。例えば、AWSでは以下のように設定します。“`yaml
# AWSのセキュリティグループ設定例
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: “Allow SSH and HTTP”
AWS SAP 合格記
# はじめに
AWS SAP(C02)試験に一発合格できました!
忘れないうちに学習方法等メモしていきます。# 受験前のステータス
・AWS実務経験は1年強、ただし小規模案件ばかりであまり深く触ったことはない(マネージドなWeb3層がメイン)
・AWS SAA取得済# 学習の概要
学習時間:30~40時間程度(平日2時間、休日5~8時間)
学習開始時期:本腰入れたのは大体10日前
学習方法:紙の参考書+Web問題集(CloudTech)+公式サンプル# 学習に使用したもの
– **紙の参考書([AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト – プロフェッショナル](https://amzn.asia/d/0gGkXFM8))**
非常に読みやすかったです。章毎の確認問題+章末に模擬試験あり。
個人的に参考書は電子よりも紙のほうが読みやすいので紙で買いました。
– **Web問題集([CloudTech](https://kws-cloud-tech.com/))**
資格会員4980円/90日間です。
けして安くはないですが、後述の通り元々こちら
AWS Summit Japan 2024 参加レポート
## はじめに
AWS Summit Japan 2024 参加レポートになります。(6/20,21開催で6/21のみ参加)
今回AWS Summitに参加できなかった方や、次回参加してみたいという方のご参考になれば幸いです。
サミットの概要、参加方法等の詳細は下記公式ページ参照。
![PXL_20240621_023917725.MP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784483/6009b863-dbca-e88b-482b-56f907b38873.jpeg)
[AWS Summit Japan公式ページ](https://aws.amazon.com/jp/summits/japan/)
>AWS Summit は、クラウドコンピューティングコミュニティが一堂に会して、アマゾン ウェブ サービス (AWS) に関して学習し、ベストプラクティスの共有や情報交換ができる、全てのクラウドでイノベーションを起こすことに興味がある皆様のためのイベントです。
メモリ不足で?AWS EC2 linux2+MATE環境のchromiumでwebサイトが見られなかった件
# まず結論
t2.nanoではなく、t2.microを使用すると解決した。# はじめに
EC2 linux2にMATEでデスクトップ環境を構築しましたが、そのインスタンスにRDP接続しChromiumでwebページを表示しようとしたところ、`Error code 5`となって目的のページは表示されませんでした。# 問題
EC2のアウトバウンドルールで全てのプロトコルを、IPを`0.0.0.0/0`を許可しています。EC2検索候補の表示はされるので、webとの通信は問題なさそうです。問題は、chromiumでwebページを表示させようとした場合に`Error code 5`が出力され、目的のページが表示されません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222220/837db785-9ddc-6a57-3eb1-e2adcf3b2c0e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.
EC2なんとなく振り返り
# AWS EC2について
## はじめに
Amazon Web Services(AWS)のElastic Compute Cloud(EC2)は、クラウド上でスケーラブルなコンピューティングリソースを提供するサービスです。EC2を使用することで、物理サーバーを購入・管理することなく、必要なときに必要なだけのコンピューティングリソースを利用できます。この記事では、EC2の基本的な概念、機能、利点、使用例について説明します。## 目次
1. [EC2とは](#ec2とは)
2. [EC2の機能](#ec2の機能)
3. [EC2の利点](#ec2の利点)
4. [EC2の使用例](#ec2の使用例)
5. [まとめ](#まとめ)## EC2とは
Amazon EC2は、クラウド上で仮想サーバー(インスタンス)を提供するサービスです。ユーザーは、インスタンスの種類、サイズ、数を選択し、必要に応じてスケールアップまたはスケールダウンすることができます。EC2は、オンデマンド、リザーブド、スポットの3つの料金モデルを提供しており、コスト効率の高い方法でコンピューティングリソースを利