- 1. Cloudformation で RDS (Amazon Aurora MySQL ) からクローンを作成する
- 2. 【AWS】ECRでリポジトリをつくったものの、プッシュコマンドでエラーが出た件について
- 3. S3 にファイルアップロードしたら Invalid character in header content って怒られた
- 4. Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environmentの対処法
- 5. 【準備・導入編】Terraform公式チュートリアル【翻訳】
- 6. 運用中のAPIでエラーが出たときどうやって検知してSlackに通知しよう 〜実装編〜
- 7. AWS認定クラウドプラクティショナー合格に向けて Day12
- 8. AWS Step Functionsでサーバレスなデータパイプラインを作った話
- 9. One Observability Workshop をやってみた
- 10. AWS Certified Solutions Architect – Associate(SAA-C03)に一発合格したので、学習内容をまとめた
- 11. Lambdaを使ったPDFファイル作成とダウンロード
- 12. DynamoDBのレコードを主キー以外で取得するLambda
- 13. AWS CDKでのTestを実行するときにLambdaのスタックがあると実行が途中で止まる問題の解決法
- 14. EC2の設定変更の検知にAWS Configが使えるのか調べた
- 15. AWS ECS Service Connect について理解する
- 16. AWS WAFの大量ログをAthenaで抽出してみる
- 17. DirectConnectについて
- 18. DynamoDB の Put/Get/Scan/Query Command のサンプル
- 19. API GatewayとLambdaを連携させる
- 20. 【AWS初学者向け】Amazon Route 53とは?を解説
Cloudformation で RDS (Amazon Aurora MySQL ) からクローンを作成する
# はじめに
Amazon Auroraでは、既存のAuroraクラスターを素早く複製するクローン機能があります。
クローン機能を使い、CloudformationでAuroraを作成する方法についてまとめます。# 事前準備
– Amazon Auroraを起動
– エンジンバージョンは、`5.7.mysql_aurora.2.10.2`
– ![スクリーンショット 2022-12-13 10.27.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/204a3adb-4dd2-4202-dcc4-c8ec2bb954ba.png)# CloudFormationでスタックを作成
下記のymlファイルでスタックを作成します。“`yml
AWSTemplateFormatVersion: ‘2010-09-09’
Description: For each environment of project
Metadata:
AWS::CloudFormati
【AWS】ECRでリポジトリをつくったものの、プッシュコマンドでエラーが出た件について
ECRを触っていたらプッシュコマンドで全然進まなかったのでメモ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884542/8f6aedda-9e1b-bfd1-4d7c-c9d8dc8bba3a.png)
まずここの1番、powershellで入力してもエラーで動かないですどうやら`(Get-ECRLoginCommand).Password`というコマンドがそもそも使えないらしい?
そもそもAWSPowerShellを入れないとたぶん実行できない?[公式のページ](https://docs.aws.amazon.com/ja_jp/powershell/latest/userguide/pstools-getting-set-up-windows.html#ps-installing-awswindowspowershell)と[こちら](https://yoshinorin.net/articles/2018/08/19/aws-tools-for-windows/)の
S3 にファイルアップロードしたら Invalid character in header content って怒られた
S3 に、ユーザがアップロードしたファイルを格納している。
Node.js aws-sdk を使って以下のように実装した。
“`node.js
const r = s3.putObject({
Bucket: bucket,
Key: key,
Metadata: {
fileName,
},
Body: fs.readFileSync(filePath),
}, (err, data) => {
console.log(‘success’);
}
);
return r;
“`ファイル名 `ほげほげ.jpg` をアップロードしたら、サーバで以下のエラー
“`text
NetworkingError [NetworkingError]: Invalid character in header content [“x-amz-meta-fileName”]
at ClientRequest.setHeader (node:_http_outgoing:647:3)
at n
Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environmentの対処法
# エラー内容
`cdk init` コマンド後の `cdk bootstrap` コマンドが上手く実行できない
– コマンド
“`
cdk bootstrap
“`
– 実行例
“`
>cdk bootstrapUnable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment
“`# 原因
1. 環境変数がおかしい
2. `aws configure` が設定されていない# 対処法
## 1. 環境変数がおかしい場合の対処法
問題がないかチェック
– コマンド
“`
cdk doctor
“`
– 実行例
“`
$ cdk doctor
ℹ️ CDK Version: 2.53.0 (build 7690f43)
ℹ️ AWS environment variables:
– AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
– A
【準備・導入編】Terraform公式チュートリアル【翻訳】
Terraform公式チュートリアルの日本語訳です。
実際に動作を確認しながら学習できるチュートリアルです。
【導入・準備編】では、Terraformとは何か、および、Terraformのインストール方法をメインにお伝えします。翻訳の掲載をご快諾くださった[HashiCorp](https://www.hashicorp.com/)のEducation Teamのみなさんありがとうございました。
原文はこちらです。
– [Get Started – AWS | Terraform – HashiCorp Learn](https://learn.hashicorp.com/collections/terraform/aws-get-started)[^1]
– [Install Terraform | Terraform | HashiCorp Developer](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)また、HashiCorp Learnに登録するとチュー
運用中のAPIでエラーが出たときどうやって検知してSlackに通知しよう 〜実装編〜
# はじめに
これは [KWC Advent Calendar 2022](https://qiita.com/advent-calendar/2022/kwc) の記事です。はじめまして、KWCに新卒で入社して、バックエンドエンジニアをしているユウスケと申します。
テックブログは初めてです!**\*紹介\***
昨日の記事で[運用中のAPIでエラーが出たときどうやって検知してSlackに通知しよう 〜概要編〜](https://qiita.com/Suzurikawa/items/cad72315337bb01bb414) の続きとなりますので、先に概要編を読むことをおすすめします!
https://qiita.com/Suzurikawa/items/cad72315337bb01bb414# 目次
1. [概要編をサクッとおさらい](#概要編をサクッとおさらい)
1. [システムの構成](#システムの構成)
1. [いざ実装へ](#いざ実装へ)
1. [まとめ](#まとめ)# 概要編をサクッとおさらい
今回や
AWS認定クラウドプラクティショナー合格に向けて Day12
# 前回の内容
[AWS認定クラウドプラクティショナー合格に向けて Day11](https://qiita.com/Ayako_0224/private/dda05692457fa815f993)# EBSとは
EC2インスタンスと一緒に使うブロックストレージ
インスタンス上のワークロードなどに利用する## EBSの選択
AWSには3つの形式が用意されている
– ブロックストレージ
– EBS
– インスタンスストア
– オブジェクトストレージ
– S3
– Glacier
– ファイルストレージ
– EFS## EBSの特徴
– 他のアベイラビリティゾーンのインスタンスにはアタッチできない
– 1つのEBSを複数のインスタンスで共有することができない(プロビジョンドIOPS除く)
– 同じアベイラビリティゾーン内のインスタンスのみ切替が可能## EBSのボリュームタイプ
– SSD
– 汎用SSD(1GB~16TB)
– プロビジョンドIOPS(4GB~16TB)
– HDD
– コールドHDD(50
AWS Step Functionsでサーバレスなデータパイプラインを作った話
こちらは[AWS for Games Advent Calendar 2022](https://qiita.com/advent-calendar/2022/aws-for-games) 13日目の記事です。
# はじめに
私は普段UBISOFT OSAKAでサーバーエンジニアとして働いています。
UBISOFT OSAKAではRocksmith+というギター学習ツールを開発しています。https://www.ubisoft.com/ja-jp/game/rocksmith/plus
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982032/0e7d0087-383d-12a1-d430-7c14d5918c94.png)
私自身これまでギターを触ったことはありませんでしたが、入社をきっかけにRocksmith+でギターの練習を始めました。
練習のメニューが充実しており、初心者から上級者まで楽しめる内容になっています。残念なのは今のところ日本ではプレイできないところで
One Observability Workshop をやってみた
今年も re:Invent 2022 では多くの発表がありました。
オブザーバビリティに関する情報も多く、その内容は以下のブログにまとめられています。https://aws.amazon.com/jp/blogs/news/whats-new-in-aws-observability-at-reinvent-2022/
本記事では、このブログのなかで紹介されている「One Observability Workshop」というワークショップをやってみたのでその所感を記録します。
https://catalog.workshops.aws/observability/ja-JP
# ワークショップの概要
## ワークショップの内容について
このワークショップでは以下のようなペットの里親探しのWebアプリを題材に CloudWatch のサービスの使い方について学ぶことが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/314315/420ff9eb-c338-da3e
AWS Certified Solutions Architect – Associate(SAA-C03)に一発合格したので、学習内容をまとめた
この記事は[株式会社qnoteのQiita Advent Calendar 2022](https://qiita.com/advent-calendar/2022/qnote)の13日目の記事です。
# はじめに
AWS Certified Solutions Architect – Associate(SAA-C03)に一発合格したので、自分の学習内容についてまとめました。ちなみに受験時点での私のステータスは以下の通り。
– WEBエンジニア(PHP,JSの使用経験1年半)
– AWS(EC2,RDS,S3)の使用経験1年半:::note alert
この記事はあくまで自分の学習記録として残したメモです。
SAA受験のための全ての内容を網羅しているわけでは無いことをご了承ください。
:::# 対象者
この記事は下記のような人を対象にしています。– 駆け出しエンジニア
– プログラミング初学者
– AWSの資格取りたいけど、何から手をつけたら良いかわからない人# 結論
Ping-tやっときゃ間違いない。# AWS SAAを取得する勉強に使用した教材
合計約2
Lambdaを使ったPDFファイル作成とダウンロード
## 課題
Lambdaを利用したSPA(Vue)アプリケーションにおいて、ユーザーに必要な情報をPDFファイルにまとめてダウンロードさせる必要が生じました。
「Lambda」と「PDF作成」で検索すると、`chrome-aws-lambda`を利用してPDFファイル作成を行えば実現できそうなことがわかったのですが、PDFファイルを生成して直接ダウンロードさせるようなコードは見つからなかったため調査・作成することにしました。## 準備
### chrome-aws-lambda
Puppeteer を使ってPDFファイル作成を行うため、まずは chrome-aws-lambda をLambda Layerとして登録しました。
詳細な手順は以下の記事にありましたので、それを参考に進めています。https://dev.classmethod.jp/articles/run-headless-chrome-puppeteer-on-aws-lambda/
### 日本語フォント
デフォルトの環境だと日本語が文字化けしてしまうようです。
参考にしたコードではURL参照でロード
DynamoDBのレコードを主キー以外で取得するLambda
# 概要
LambdaからDynamoDBのレコードを主キー以外で取得する方法を紹介します。# 前提条件
– DynamoDBにテーブルが作成されており、データも登録されていること
– 必要なIAM権限が付与されていること# 環境
– ランタイム:Python3.9
– リージョン:ap-northeast-1# コード
“`python
import boto3
from boto3.dynamodb.conditions import AttrdynamoDB = boto3.resource(“dynamodb”)
table_name =
table = dynamoDB.Table(table_name)def lambda_handler(event, context):
column = <検索に使うカラム名>
data = <検索に使う値>responce = table.sc
AWS CDKでのTestを実行するときにLambdaのスタックがあると実行が途中で止まる問題の解決法
ミロゴス開発Gでは基本的にインフラにAWSを使うことが多いです。古くから存在するシステム等もあるものの、新規のシステムに関しては、なるべくサーバーレスな環境で設計するよう心がけています。
インフラ部分はAWSのIaCツールであるAWS CDKを使っています。CDK PipelinesでCI/CDも手軽に組めるので大変気に入っているのですが、Lambdaのコードのユニットテストは書いているものの、AWS CDK自体のテストは今まで避けてきました。
ちょうどこのあたりに手を付けられるタイミングだったので、いざ書いてみたものの、表題の通りLambdaのスタック作成でエラーにハマり、だいぶ時間を溶かしてしまいました。
あまり日本語でまとまった記事もなかったので、問題の詳細と解決方法をしたためておこうと思います。– サーバーレスな弊社環境の例
![スクリーンショット 2022-11-16 14.36.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/043bcdee-127c-2e8c-5
EC2の設定変更の検知にAWS Configが使えるのか調べた
書いたから…セーフ…間に合ってないけど…
# 今回の記事の経緯など
EC2の設定変更を検知して、意図しない変更がされる場合には設定を既定値に戻すような対応が必要になり、AWS Configについて調べました。
結論から言うと、AWS Configは使わずにEventBridgeを利用してEC2の設定変更を検知することになりました。# AWS Configとは
AWS Configはリソースの設定変更がされたときに設定値が評価され、設定によっては修復(設定値を規定値に設定すること)もできるサービスです。例えば、アカウント内のEC2インスタンスが指定のインスタンスタイプになっているかどうかが一覧で表示できるようになります。
指定のインスタンスタイプかどうかは「準拠」「非準拠」で確認ができます。
非準拠のリソースを指定して、修復することもできます。
![AWS_Config1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61235/11833e40-09b2-e5cd-95bb-52589d0e5
AWS ECS Service Connect について理解する
# 概要
今回は、AWS Service Connect のチュートリアルを試してみたいと思います。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-connect.html
なお、ECS の基本的な事については、理解している前提で進めていきます。
# ECS Service Connect とは
マイクロサービスアーキテクチャなどの構成において、ECSサービス間の通信を簡単に設定できるようにしたアップデートです。
![スクリーンショット 2022-12-13 0.53.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/4e6e6232-67b6-0476-19f0-b1d878810a38.png)
今までも、ECSサービス間の通信を接続する方法として、以下の方法がありました。
– ELB
– ECS Service Discovery
– AWS App Mesh
AWS WAFの大量ログをAthenaで抽出してみる
# はじめに
こんにちは!AWSにてインフラを構築するとWAFに触る機会も多いかと思います。
WAFのログを分析して、障害時の調査やリクエストの傾向など知りたい時があります..よね??
そこで今回はWAFのログをAthenaを用いて抽出、おまけでLambdaで定期取得できたらなと思います。SQL(RDB)も少し関わってくるので、多少知識があると良いかもしれません。
# Athenaとは
詳しくは[公式](https://aws.amazon.com/jp/athena/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)に書いてある通りなので省略します。要点は
– Amazon S3 内のデータを標準 SQL を使用して簡単に分析できる(S3のデータをRDBのように使えるということですね)
– クエリを実行するごとに課金されるくらいでシンプルです。少しでもDB触ったことのある人なら苦労せず構築できそうです。
# 大まかなフロー
1.
DirectConnectについて
# 本記事について
この記事では3回目のANS-C01を受けるにあたって勉強した内容を整理するための記事です。
詳しくは[こちら](https://qiita.com/the13-HK/items/349cdf5f38e0ce1e47b1)をご覧ください。
今回はDirectConnectの記事となります。# Direct Connectについて
オンプレミスとAWSの環境をセキュアに接続したときに使用するサービス
VPNによる接続でも可能だが、DirectConnectは以下のパターンの時に選択されるケースが多い– インターネット接続無しで接続を行うとき
– 安定した帯域を確保して通信を行うとき### Direct Connectで接続を行う場合に設定すべきもの
– 接続線(DirectConnectロケーションというDirectが物理的に設置されている場所を具体的に指定して、そこで物理接続する)
– ホスト接続(DirectConnectの接続サービスを提供しているパートナーからDirectConnectを借りる)
– 専用接続(自分でDirectCo
DynamoDB の Put/Get/Scan/Query Command のサンプル
# 背景
DynamoDB を使う為の、よく使うコマンドの操作例と、起きたエラーの対処などの記録– PutCommand
– GetCommand
– ScanCommand
– QueryCommand# 利用例
## 前提
### AWS SDK V3 に記載のある Client ファイルを使う
https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_dynamodb.html#constructor以下 2ファイルを利用
:::note info
プロキシを利用する場合は、DynamoDBClient のところで設定しておく
:::“`typescript: ddbClient.ts
// Create the DynamoDB service client module using ES6 syntax.
import { DynamoDBClient } from “@aws-sdk/client-dynamodb”;
import { NodeHttpHand
API GatewayとLambdaを連携させる
# 構成図
APIGateway→Lambda→SNS
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989225/2bbc334f-32e6-af61-149a-7f5ba0e9fe4e.png)# 前提知識
– AWS Lambda単体ではLambda関数の実行ができない。
Lambda関数を実行させるためには、他のサービスリソースで処理を起動させるきっかけとなるトリガーが必要
Lambdaを実行するトリガー
①トリガーと同期して関数を起動するタイプ
例)API Gateway、手動実行
②イベントが発生したことを検知して非同期で関数を実行するタイプ
例)Amazon S3、CloudWatch Log、CloudWatch Eventsからの実行# 流れ
・SNSトピックの作成
・Lambdaの作成(SNS連携)
・LambdaのIAM設定
・API GatewayでAPIの作成
・動作確認# SNSトピックの作成
マネジメントコンソールのSNSの画面からトピッ
【AWS初学者向け】Amazon Route 53とは?を解説
# はじめに
Amazon Route53を何となく知っているが、具体的に何をしているのかわからないと思い、調べた結果を、以下にまとめました。
(ドメインを登録して、そのドメイン名を検索したらシステムが見れるようになるぐらいのイメージでした・・・):::note
本記事の対象者
・Amazon Route53とは?と疑問を持っている方
::::::note alert
本記事で解説していないこと
・ハンズオン方法
:::# Amazon Route53とは?
Amazon Route53とは、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/Welcome.html
`example.com`のようなドメイン名を登録できたり、ウェブサイトで`example.com`と検索した時に、サイトやアプリケーションに接続するための支援を行います。
ちなみに、53は「フィフティースリー」と呼ぶ方が正しそうです。(ただ、現場で