- 1. CFnでSSMパラメータストアの値を利用する方法
- 2. [AWS]AWS認定アカウントをAPNアカウントから個人アカウントに統合した話
- 3. Bedrockのナレッジベースに今週来たRAG精度向上アプデまとめ
- 4. 【個人開発】webアプリを作成しました【Rails,Javascript,MySQL,GitHub Actions,AWS EC2】
- 5. 【AWS】 RDS for MySQL のパラメータ変更による再起動の有無を知りたい
- 6. CloudWatchagentの設定ファイルを手動で設定してみた。
- 7. Qiitaの最新記事を教えてくれるアレクサスキルを作ろう Alexa X Lambda X Golang
- 8. IaCジェネレータを使って既存スタックをCDKで管理する
- 9. AWS CDKでAWSリソースを作成してみる。
- 10. AWS Systems Manager Parameter Storeを使ってみた
- 11. AWS Secrets Managerを使ってみた
- 12. AWS上でのDR対応としてのマルチリージョン対応事例
- 13. 実際に運用して得られたTerraformのノウハウをまとめる
- 14. CloudFormationによるECSのBlue/Greenデプロイの挙動を図解したい
- 15. CodeDeployによるECSのBlue/Greenデプロイの挙動を図解したい
- 16. スナップショットとは?
- 17. IPアドレスが一部重複したVPC間TGW接続
- 18. CloudFrontでS3静的サイトwithベーシック認証
- 19. AWS IoT CoreデータのAmazon Timestreamへのデータ転送
- 20. Synology NASのバックアップをAWSにとってみた
CFnでSSMパラメータストアの値を利用する方法
# この記事でわかること
CFnテンプレート内の値をSSMパラメータストアから拾ってくる方法。# 留意事項
1. CFnテンプレートの記載はyamlを想定しています。
2. SSMパラメータストアの動的参照は、SSMパラメータ側でSecureStringを設定している場合は記載方法が若干違います。
3. 本記事では、Standardを設定しているものに主眼を置きます。
4. 後述しますが、SecureStringは、SSMパラメータストアの動的参照に対応しているリソースが少ないようです。(2024/03/30現在)
# テンプレート上の記載
結論から言うと基本的な記載方法は、下記のとおりです。
“`yaml:
‘{{resolve:ssm:parameter-name:}}’
“`
バージョン指定をしたい場合は下記のような記載になりますが、バージョン指定なしの場合は最新バージョンを拾ってくれるようなので、基本的にバージョンは指定しないのが良いと思います。
“`yaml:
‘{{resolve:ssm:parameter-n
[AWS]AWS認定アカウントをAPNアカウントから個人アカウントに統合した話
## はじめに
退職にあたり、AWS認定情報が紐づけられたアカウントを個人アカウントに移行しました。
このような手続き的な情報は鮮度が重要だと考えているので、2024/3/30時点ではどの方法で可能だったかを書き記しておきます。## TL;DR
– 他の方が書かれているとおり、https://support.aws.amazon.com/#/contacts/aws-training から申請する
– 以降メールのやり取りとなり、往復約2日ですべてのやり取りが完了した
– 従来の方法から一部微細な変更点はあるが、特に問題なく過去の記事の方法で手続きが完了できる## 参考にした記事
https://zenn.dev/mn87/articles/a771080c7465a1https://qiita.com/5hintaro/items/bf355d976d1daf402b48
## 今回のケース
移行元:AWS Partner Network(APN)アカウント
⇒前職ドメインで登録していたアカウント
移行先:AWS Builder ID
⇒統合にあたり新規作成。Gmail
Bedrockのナレッジベースに今週来たRAG精度向上アプデまとめ
3月最終週、細かすぎて伝わらないナレッジベース for Amazon Bedrockのアップデートが2件ありました。
![スクリーンショット 2024-03-30 13.01.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/bee37127-7e3f-1025-b175-01ca7659c1a5.png)
# そもそもナレッジベースとは?
Amazon BedrockはAWSが提供する生成AIサービスです。
このBedrockを使って、いわゆるRAGアーキテクチャ(社内文書検索など)を簡単に作成できるマネージドサービスがナレッジベースです。
ナレッジベースをまだ触ったことがない方は、30分で試せますので是非チャレンジしてみてください👍
https://qiita.com/
【個人開発】webアプリを作成しました【Rails,Javascript,MySQL,GitHub Actions,AWS EC2】
# アプケーション名
Quick Clean Restroom Map# アプリケーション概要
最寄りの綺麗なトイレの位置をリアルタイムで案内し、トイレの情報を提供します。# URL
https://cleanrestrooms.net# 備考
EC2インタンスは通常時停止です。# アプリケーションを作成した背景
外出先で最寄りの綺麗なトイレを探すのが困難なことがあります。Google Mapsでは公共のトイレは多く表示されますが、綺麗なトイレをすぐに見つけることは難しいです。同様の問題を抱えている方が多いと思い、ユーザー同士で綺麗なトイレの情報を共有できるアプリケーションを開発することにしました。# アプリの画像
![トップ画面](https://i.gyazo.com/3e037bbd56ac2b56cfcd9005adc9072b.jpg)
![個別施設情報](https://i.gyazo.com/9a9f268fc201a86e010502b5d4a88d66.jpg)
![ルート検索](https://i.gyazo.com/7054e19512b2bb
【AWS】 RDS for MySQL のパラメータ変更による再起動の有無を知りたい
## 解決したいこと
RDS for MySQL の全般ログとスロークエリログを CloudWatch Logs に出力したい。
パラメータの変更が必要なのは分かったが、変更を反映するために再起動が必要かを知りたい。## 調べたこと
全般ログ(general_log)とスロークエリログ(slow_query_log)のいずれも適用タイプは`Dynamic`のため再起動は必要ありません。`log_output`については後述します。
![general_log適用タイプ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3309107/d5cc9552-b3b4-0692-c701-74e9cd7118fc.png)
![slow_query_log適用タイプ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3309107/bdc7b013-2e70-dfeb-2914-fb4ef8867749.png)
CloudWatchagentの設定ファイルを手動で設定してみた。
“`json:CloudWatchagent.cfg
{
“agent”: {
“metrics_collection_interval”: 60,
“logfile”: “/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log”
},
“metrics”: {
“append_dimensions”: {
“InstanceId”: “${aws:InstanceId}”
},
“metrics_collected”: {
“mem”: {
“measurement”: [
“mem_used_percent”
],
“metrics_collection_interval”: 60
},
Qiitaの最新記事を教えてくれるアレクサスキルを作ろう Alexa X Lambda X Golang
# 1.はじめに
## 1.1目的
golangと、lambdaを使ってアレクサスキルと作りたくなったのでやってみる。## 1.2環境
Windows(GitBash)
Go Version 1.22.0## 1.3前提条件
– Amazon 開発者アカウントの作成を事前に行う。下記リンクより、Amazon開発者アカウントの作成を元に準備してくださいhttps://developer.amazon.com/en-US/blogs/alexa/post/31c9fd71-f34f-49fc-901f-d74f4f20e28d/alexatraining-firstskil.html
– 事前に[AWSアカウント](https://aws.amazon.com/jp/register-flow/)の作成を行ってください
– [AWSCLI](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)が使える状態にする# 2.Golangでソースを書き、La
IaCジェネレータを使って既存スタックをCDKで管理する
## はじめに
マネコンで試しに作ったリソースをCDKで管理しようとしたところ、最近IaCジェネレータというものリリースしていたので使ってみました。## IaCジェネレータ
IaCジェネレータはAWSのマネージコンソールから操作できます。
![スクリーンショット 2024-03-29 20.06.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3218510/e33e5538-b7fb-4686-5828-0013a73aa136.png)
あとは任意のリソースを選択していくだけで、既存リソースのテンプレートが作成されます。
### IaCジェネレータの罠
特に何も調べずCDK用のコマンドがあったので、これをローカルで試そうと思ったんですがうまくいきませんでした。
最初は設定ファイルとかが違うのかと思ったんですが、どうやらこのコマンドはクラウドの既存リソースを参照してCDK管理下に置くものではなかったようです。![スクリーンショット 2024-03-29 20.30.56.png]
AWS CDKでAWSリソースを作成してみる。
# はじめに
[naritomo](https://twitter.com/KanagawaLo81146)と申します。
本職はインフラエンジニアを行っています。
I2Cでアプリエンジニアが使用されるというAWS CDKについて、最初の一歩としてプロジェクトファイル作成、リソース作成方法についてまとめてみました。
いろいろアドバイスいただけると嬉しいです。
## 概要
AWS CDKでインフラ構築するためのソース(空プロジェクト)
以下のページを事前に必要な必要条件にあるSWを入れてること。
[AWS CDK Workshop](https://cdkworkshop.com/ja/)
ソースデータ
https://github.com/naritomo08/cdk-workshop
## ソース入手
以下のコマンドで入手する。
“`bash
git clone https://github.com/naritomo08/cdk-workshop.git
cd cdk-workshop
rm -rf .git
“`## Typescript
以下のコ
AWS Systems Manager Parameter Storeを使ってみた
# AWS Systems Manager Parameter Storeとは?
> 設定データ管理とシークレット管理のための安全な階層型ストレージを提供します。パスワード、データベース文字列、Amazon Machine Image (AMI) ID、ライセンスコードなどのデータをパラメータ値として保存することができます
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.htmlソースコードにパスワードを記載する必要がなくなります
Secrets Managerとは違いローテーション機能がありません# AWS Systems Manager Parameter Storeの設定
1. AWS Systems Manager のページを開き、左のメニューから`パラメータストア`を選択
2. `パラメータの作成`を選択
3. 格納データを作成
選択できるものは以下の3つがあるようです
– 文字列
– 文字列のリスト
– 安全
AWS Secrets Managerを使ってみた
# AWS Secrets Managerとは?
> データベース認証情報、アプリケーション認証情報、OAuth トークン、API キー、およびその他のシークレットをライフサイクルを通じて管理、取得、ローテーションするのに役立ちます。多くの AWS サービスは、Secrets Manager でシークレットを保存して使用します
https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/intro.htmlソースコードにパスワードを記載する必要がなくなるので、セキュリティ的にもよく、
ローテーション機能があり定期的にパスワードを更新することができます# AWS Secrets Managerの設定
1. AWS Secrets Managerのページを開き、`新しいシークレットを保存する`を選択
2. シークレットのタイプを選択
今回はその他のシークレットのタイプにしたので、保存する値も設定します
![image.png](https://qiita-image-store.s3.ap-northe
AWS上でのDR対応としてのマルチリージョン対応事例
今回AWSが開催している[ちょっぴりDeep Dive](https://aws.amazon.com/jp/blogs/news/update-divedeep-series-36/)に登壇させて頂いたので、そこで話したDR対応としてのマルチリージョン対応内容をQitaでも紹介させていただければと思います。
本記事ではAWS上でDR対策を実施した1例として、どのように検討を進め、何を意識してマルチリージョン対応をしたかをご説明します。## はじめに
1. この記事の想定読者
– DR対策が必要か考えている方
– これからDR対策を始めようとしている方
1. この記事の用語について
– DRリージョン
– データやアプリケーションをバックアップおよび復元するため䛾地理的なリージョンまた䛿場所を指す。本記事では大阪リージョンを想定している– プライマリリージョン
– サービス䛾主要な運用リージョンや本番運用リージョンを指す。本記事では東京リージョンを想定している。## 事前検討
### 現在の災害対
実際に運用して得られたTerraformのノウハウをまとめる
# Terraformのノウハウをまとめる
以下の公式のドキュメントが充実しているため、基本的にはこれに従うようにし、個人的に得たノウハウを記載します。
Terraformの使い方やコードの書き方など、基礎的な内容は省略します。
https://developer.hashicorp.com/terraform/languageなお、Terraform Cloudは使ったことがないため、これTerraform Cloud使った方がいいよというものがあるかもしれません。
## 基本的なディレクトリ構成
構築するシステム構成に合わせて好きに考えてよいですが、再利用性や可読性を考えてモジュール化は行った方がよいです。
ただし、モジュールが不必要に増えすぎると構成が複雑になるため、適度に意味のある単位でモジュール化を行うのが望ましいです。
だいたいの場合は、以下のような構成にするのが無難だと考えます。“`text
/
├─ doc/
├─ environment/
│ ├─ prod/
│ │ └─ network/
│ │ └─ main.tf
│ ├─
CloudFormationによるECSのBlue/Greenデプロイの挙動を図解したい
## はじめに
こんにちは。Amazon ECSはCloudFormation経由でBlue/Greenデプロイを行うことができます。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/blue-green.html
挙動のイメージが湧かなかったので実際に動かして整理してみました。
## 図解
早速ですがスタックの更新によってBlue/Greenデプロイが起こった際の挙動を図にすると以下になります。(図内のリソースはスタックの新規作成時に作成されていた前提)![hvIIJW606R8oBLw7S1gg1711700424-1711700725.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3552758/d7250478-64ce-f967-255e-a88cb9febe45.gif)
## 検証に使ったコード (AWS CDK)
を参考で以下に置いておきます。↑の図の構成を実現できます。<
CodeDeployによるECSのBlue/Greenデプロイの挙動を図解したい
## はじめに
こんにちは。Amazon ECSはCodeDeploy経由でBlue/Greenデプロイを行うことができます。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html
実際に動かして挙動を図解してみました。
## 図解
早速ですがCodeDeployによるBlue/Greenデプロイの挙動を図にすると以下のようになります。
![2c4G51nBrlAPDKwp9LRt1711696462-1711696492.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3552758/ec2ce3ba-8cbf-5d2b-9cc1-95f40fe83a4b.gif)## 検証に使ったコード (AWS CDK)
を参考で以下に置いておきます。↑の図の構成を実現できます。lib/ecs_codedeploy-stack.
スナップショットとは?
## 初めに
今回はEBSのバックアップで出てくるスナップショットについて書いていきます。## スナップショットとは?
EBSで利用されているバックアップ機能の事です。
※前回、[EBS](https://qiita.com/h3iak7i/items/003c4acc053caaa2fa39)に関してまとめてみました。ぜひご参考に!##### (図解)
![スクリーンショット 2024-03-29 16.34.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/ce2e50b8-34d7-8d34-911d-794ceb7f17fd.png)バックアップされたデータはS3に保存されます。この領域に関してはAWS管理なのでユーザーから見る事ができないです。
## 仕組み
次にどういった仕組みでバックアップを取得しているのか、解説させて頂きます。
簡潔に言いますと、差分(変更点)をバックアップとして保存していくイメージです。##### (図解)
![スクリーンショット 2
IPアドレスが一部重複したVPC間TGW接続
# はじめに
TGWをつかったVPC間接続について、IPレンジが重複している場合は接続できないと記載がありましたが、IPレンジが丸かぶりでなければうまくいくのではないかと思い検証してみました。また、今回の記事は備忘録っぽい感じです。
各サブネットの構成とか詳細は後日会社ブログのほうで紹介する予定です。# 目次
1. [登場するリソース](#登場するリソース)
1. [IPアドレスレンジ](#ipアドレスレンジ)
1. [検証内容](#検証内容)
1. [結果](#結果)
1. [接続確認](#接続確認)
1. [接続できない理由](#接続できない理由)
1. [さいごに](#さいごに)# 登場するリソース
* VPC1
Cidr:10.0.0.0/21
EC2:10.0.4.14
* VPC2
Cidr:10.0.0.0/20
EC2:10.0.8.93
* VPC3
Cidr:192.168.32.0/20
EC2:192.168.40.116
CloudFrontでS3静的サイトwithベーシック認証
## 概要
– 静的なサイトをS3に置いて手軽にアクセス
– S3 のパブリックアクセスは許可しない
– Basic認証で認証をかける## ポイント
– CloudFrontのディストリビューションにデフォルトのルートオブジェクトを設定する
– テスト中はキャッシュOFFにしておくと良いかも## Basic認証用関数
“`javascript
function handler(event) {
var request = event.request;
var headers = request.headers;// echo -n user:pass | base64
var authString = “Basic“; if (
typeof headers.authorization === “undefined” ||
headers.authorization.value !== authString
) {
return {
statusCode: 401,
AWS IoT CoreデータのAmazon Timestreamへのデータ転送
# はじめに
前回の投稿でSiemensの産業向けエッジプラットプラットフォーム”Industrial Edge”から”AWS IoT Core”へ二酸化炭素濃度センサーで取得したデータの連携についてご紹介しました。
今回はそのデータをGrafana等のツールで使用できるよう、AWSのデータベースサービスであるAmazon Timestremeへ送信する手順についてまとめました。
# 構成
今回の構成およびデータフローを図1に示します。
![構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2745875/f2178715-3993-b43d-4177-803d69a152e2.png)
図1. 構成図
二酸化炭素濃度センサーからIoT Coreまでのデータ送信については以下のリンクをご参照ください。
※参考リンク
[エッジプラットフォームとAWS IoT Coreの連携](https://qiita.com/hrsakuma/items/1b972f22113b5d606acc “エッジプラットフ
Synology NASのバックアップをAWSにとってみた
# はじめに
現在私はストレージ製品の設計開発に携わっており、個別のエンプラ系のお客様のSIにも関わることがあるのですが、エンプラ系の大抵のお客様は何らかの形でオンラインストレージのバックアップを持つことになります。そんなお客様のバックアップに対する意識の高さを目の当たりにして、私の自宅にあるNASもバックアップを取ったほうがいいのでは…?と思い至った訳ですが、でもNAS筐体2台持つのはいやだな…とも思ってしまうわけで、そうするとクラウドへのバックアップが視野に入ってきます。
クラウドといえばAWSということで、今回はAmazon AWS S3に自宅NASのバックアップを取った際の設定方法を備忘録として残そうと思います。
### 使用しているNAS装置
– Synology DS416Slim
– 小さい筐体だが、2.5インチSSDベイを4つ搭載できる
– 小さくてかわいいね
![IMG_0131.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3741295/35b70314-