AWS関連のことを調べてみた2021年12月18日

AWS関連のことを調べてみた2021年12月18日

AWS Architect Blog 「Modernized Database Queuing using Amazon SQS and AWS Services」をまとめてみた

# 初めに

AWS Architect Blog 「Modernized Database Queuing using Amazon SQS and AWS Services」(投稿日:2021/12/17 著者:Scott Wainner, Harpreet Virk)を日本語で要点をまとめてみました。AWS のドキュメントを日本語でも読める、理解できるようにするのが目的です。

原文はこちらです。

https://aws.amazon.com/jp/blogs/architecture/modernized-database-queuing-using-amazon-sqs-and-aws-services/

# SQS と AWS サービスを使った最新のデータベースキューイング

## 初めに

– 非同期通信を必要とするアプリケーションでは、デフォルトのメッセージストレージ機構として RDBMS を使用することが多い。しかし、メッセージの量、複雑さ、サイズの増大は、データベース固有の機能と競合する。RDBMS はメッセージ配信のボトルネックとなる
– RDBMS は、メッ

元記事を表示

re:Invent 2021 コンテナ関連の新サービス、アップデートまとめ

re:Invent2021で発表されたコンテナ関連サービスのアップデートをまとめてみました。

12/18 20:00 から [JAWS-UG横浜 #39 AWS re:Invent 2021 Recap Container](https://jawsug-yokohama.connpass.com/event/233900/) でこのあたりをキャッチアップしますので是非ご参加ください!

## Karpenter
https://aws.amazon.com/jp/blogs/news/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/

– 柔軟で高パフォーマンスのオープンソース Kubernetes クラスターオートスケーラー
– アプリケーションの負荷の変化に応じて適切なサイズのコンピューティングリソースを迅速に起動することで、アプリケーションの可用性とクラスターの効率を向上
![image.png](https://qiita-image-store.s3

元記事を表示

DynamoDBでBatchWriteItemを使用する際の注意点

## 概要
DynamoDBを使用していて複数データを保存、削除する際、`BatchWriteItem`を使用することになる。
具体的な使用例と注意点をまとめる。

## BatchWriteItem
データの保存、削除等をまとめて実行できる。
並列で処理されるため、パフォーマンスは上がる。
※レイテンシは低減されるが、消費キャパシティは変わらないのでコストが下がるわけではない。

## 基本的なルール
AWSのdocumentにはこのような記載がある。
[BatchWriteItem – Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html)
>The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data,

元記事を表示

Dockerのホスト側Cronを実行してコンテナのLaravelバッチを動かす

# 環境
hostはLinux
Dockerコンテナ起動中
コンテナはPHP
PHPフレームワークはLaravel

# 前提
PHPコンテナで、Laravelのバッチが動いていることとします。

# ホスト側でDockerコマンドのバッチを実行する
下記コマンド①②のどちらかをホストから実行できるか確認してください。

– ホストで実行

“`terminal
docker-compose exec 【サービス名】 php artisan command:【バッチ】
“`

“`terminal
docker exec 【コンテナ名】 php artisan command:【バッチ】
“`

# Cron設定
– 実行が確認できれば、ホストのcrontabを、拡張子のないファイル名で`test_cron`コピーする

“`
$ sudo cp /etc/crontab /etc/cron.d/test_cron
“`

– ホストで実行

5分毎に実行する

“`
*/5 * * * * ec2-user cd /home/ec2-use

元記事を表示

【AWS】SQSの使い方を知る

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306608/ede7160f-3dbb-ab5d-a6d6-33cd03a86aca.png)

# はじめに
どーも、のぶこふです。
この記事は[GFAMアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/gfam)の18日目の記事です。

なんか好きなんですよね、SQS。
試験では、SNSとか、SESとか、MQとかと一緒に出題されることが多いですね。
良いですよねー、SQS。
まぁ、全く使ったこともないので、完全な片思い状態ですがっ!

ということで、今回はSQSとの馴れ初め回です。

概要とかを書いていると、全然「触ってみた」に辿り着けないので、やってみるファーストを意識していこうと思います。

# 何がしたいのか?
* Amazon SQS の使い方を知る。使ってみる。

# 今回のサービス一覧

|Service名とか|概要|
|–|–|
|SQS[^sqs]|フルマネ

元記事を表示

ECS Fargateの基本用語

こんばんは、ラクスでインフラを担当しているakiponxです。

今年はECS Fargateをがっつり触ったのでこの記事を書こうと思います。

最初とっかかりはじめた時に用語などがわけわからんかったのでとりあえずこれからFargate触るよ。ってい人向けに簡単に基本用語をまとめていこうと思います。

## 目次

– ECS Fargate って?
– 基本用語
– その他

### ECS Fargate って?

AWSが提供しているマネージドコンテナオーケストレーションサービスです。

ECSにはEC2タイプとFargateタイプがあります。

#### EC2タイプとFargateタイプ(ファーゲート)の違い

EC2タイプを使ったことがないのでいまいちわからないですが、大きな特徴しては

**インスタンスを気にする必要がない** ことです。

EC2の場合、多分どこのAZに何台展開してこのEC2にコンテナを起動させて…

みたいなことを考えないといけない気がするのですが、FargateではどこのAZにコンテナを起動するのか?

を設定に書くだけで勝手に起動してく

元記事を表示

セキュリティ要件の高いシステムにNew Relicを導入できるのか検証してみた

こんにちは、NTTドコモの矢吹です。
本記事は [New Relic Advent Calendar 2021](https://qiita.com/advent-calendar/2021/newrelic)の18日目の投稿です。
ドコモでも[NTTドコモ R&D Advent Calendar 2021](https://qiita.com/advent-calendar/2021/nttdocomo)を開催していますので、よければこちらにも目を通していただけると幸いです。

## はじめに

私のチームでは、ドコモの大規模データをストリーム処理するETLシステムをAWS上に構築しています。EKS上に多くのアプリケーションを展開していますが、システムの運用・監視を行うにあたって、ログの用途やシステムのコンポーネントによってログの収集・可視化の方法が異なっていることが課題でした。具体的には、以下のような状況です。

– サービス監視用として、処理遅延や欠損などに関するメトリクスをCloud Watchで確認する
– システムリソースの監視には、Prometheusで収集したJMXメト

元記事を表示

AWS RDS(PostgreSQL)とPower BIを接続してみた

# 1. はじめに
こんにちは、(株)日立製作所、クラウドビジネス推進センタの富田です。
この記事は、[Japan APN Ambassador Advent Calendar 2021](https://qiita.com/advent-calendar/2021/japan-apn-ambassador)のエントリになります。

気づけば年の瀬、今年もあっという間の一年でした。思いおこせば昨年の12月、AWS主催のイベントにて「来年は、AIとビッグデータ頑張ります!」と宣言しつつも、日々の業務に追われ、AIもビッグデータも特段触れることもなく今年も終わるかと思っていたのですが、先日「Power BIとRDSの接続に問題ないか教えて欲しい」との問合せが突如、私の部署へ回ってきました。

本番での接続トラブルを抑えるには、基本的にはBIツールもAWS純正のAmazon QuickSightをお使い頂くか、Power BIのデータソースとしてネイティブにサポートされているAmazon Redshiftを使って頂くのがセオリーです。とはいえ、お客様の中には古くから(社内で)使い慣れているP

元記事を表示

CVE-2021-44228をブロックするAWS WAFをTerraformで作成する

# はじめに
こんにちは、インフラエンジニアの@yktr_sreです。
この記事はterraform Advent Calendar 2021の17日目の記事です。
先日 [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228 “CVSS”)としてJavaベースのロギングライブラリである「Apache Log4j」に深刻な脆弱性が発表されました。
CVSSのスコアでも10.0と非常にクリティカルなものになっており
脆弱性の対象になっているライブラリを利用している場合は対策が必須となっています。
具体的な対策手法は今回の本筋から外れるので省きますが
AWS WAFにて当該の脆弱性を狙った攻撃をブロックするルールが提供されています。
今回はWAFの作成からALBに紐づけるところまでTerraformで構築します。

# コード

## wafv2

“`
resource “aws_wafv2_web_acl” “example” {
name = “waf-acl-example”
desc

元記事を表示

AWS DevOps – AWS Load Balancer Controller を使って ELB を Kubernetes のマニフェストファイルで管理しよう

# はじめに

みなさん、こんにちは。今回は Amazon Elastic Kubernetes Service(EKS) を利用する際に併せて利用したい AWS Load Balancer Controller のお話です。

みなさんは Amazon EKS を活用して Kubernetes クラスタを AWS 上で動かすとなった際に、他のマネージドサービスの利用はどうされていますか。もちろんすべて Kubernetes 上で動かしてシステムを完結させるという選択肢もあるかと思いますが、やはり多くの方が他の AWS のマネージドサービスの併用も検討されるのではないでしょうか。その一方で、これら併用環境のコード化 (IaC、Infrastructure as Code) を実現しようとすると、Kubernetes アプリケーションの管理は Helm で、AWS リソースの管理は Terraform で、などという別々のツールでの管理になってしまいがちです。

そんな悩みを解決する一つの手段が AWS Load Balancer Controller や AWS Controllers

元記事を表示

EC2にsvnを構築

Plannning-Venue Advent Calendar 2021の9日目です。

https://adventar.org/calendars/7174

この令和の時代にsvnかよって感も否めないですが、クローズドな環境(EC2上に立ててセキュリティグループやWAF等で制御できる)で完結できる等、意外と使い所はあったりします。
ということで今回はEC2上にsvn環境を構築していきます。※構築するところまでです。

svnとはなんぞやについては公式を見ていただけるとわかりやすいかと思います。

https://subversion.apache.org/

簡潔に書くと、 **民族の偉大なる太陽Apache大先生の無限にある機能の内の一つでgithubみたいなもん** です。

また、今回は折角EC2で構築するのでリポジトリの場所は後付EBS配下にしてあげましょう。
こうすることで管理保守が楽になりますね。

以下の様に後付けしたEBSボリュームを/dataにmountしています。

“`
[root@svn data]# lsblk
NAME MAJ:MIN RM S

元記事を表示

AWS CLIで Web サイトを構築、管理、運用する(18日目)

18日目!

EC2 インスタンスの可用性向上のために冗長化をするシリーズ2日目です。
昨日は、サブネットを追加し、さらに ALB を作成しました。
今回は、AutoScaling の設定をしますよ!

# 18日目の要約
冗長化するよ!

# AWS CLI の準備
このあたりをみて、好きなバージョンとお使いのOSにあった環境設定をしてくださいね。
なんなら、 AWS CloudShell で実行するのも楽でよいと思います。
この記事シリーズは、AWS CloudShell で実行し、実行例を載せています。

バージョン1
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html

バージョン2
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html

# 概要
AutoScaling をつかって EC2 インスタンスの可用性を高めるよ!!

# さあ、やってみよう!
## 16日目に起動した EC2

元記事を表示

【AWS】Transfer Familyでユーザ別にルートディレクトリを変更する

## きっかけ
– とある案件で使用しているTransferFamily For FTPを使用しているが、FTPユーザ別にルートディレクトリ(Bucket+Key)を分けたいという要望があったため。

## 前提
– AWS: 社用アカウント利用
– TransferFamily for SFTP: 以下リンク内にある”AWS Secrets Managerスタックテンプレート”を使用して構築済み

https://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/custom-identity-provider-users.html

### 動作検証(構築)
– Transfer Familyの画面からエンドポイントを確認
![SnapCrab_NoName_2021-12-16_10-39-3_No-00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/d9312332-211d-bafc-1b8f-db374a4e21a5.png

元記事を表示

【Route53 + CloudFront + S3構成】Vue.jsをホスティングする

今回はRoute53 + CloudFront + S3構成でVue.jsをホスティングしたのでメモ的な感じで記録しておきます。

## ドメインの取得

以下のサイトから無料のドメインを取得することができます。

https://www.freenom.com/ja/index.html

詳しい取得方法は以下のサイトを参考にしました。

https://note.com/dafujii/n/n406f385651e2

## Route53・CloudFront・S3の設定

以下のサイトを参考にしました。

https://zenn.dev/wakkunn/articles/66a6e8372611dc

## つまずいたところ

## カスタムエラーレスポンス

TOPページ以外にアクセスすることができないようになった。これはVue.jsのSPAの仕様の問題です。CloudFrontから以下のようにカスタムエラーレスポンスを設定しておきましょう。

![スクリーンショット 2021-12-17 16.31.33.png](https://qiita-image-store.s

元記事を表示

AWS初心者が躓いたlambdaとS3の連携

## はじめに
どうも、こんにちは。今回はlambdaとS3の連携について、AWS初心者が初心者なりに頑張って説明していきたいと思います。初心者が分からないことは、案外初心者にしか分からないものです。ある程度できるようになってくると、自分ができなかった頃の記憶が抜け落ちていきますからね~。ということで、簡単な実例を用いて、できる限りかみ砕いて説明していきたいと思います。
また、今回はWindowsユーザー寄りの記事になります(私がWindowsユーザーなので…)。途中で使用するコマンドが違ったりするかもしれませんが、あしからず。
AWS初心者である私の躓きポイントの1つが、Windowsユーザー向けの記事の少なさなんですよね。Macを使われている方の記事を参考にする際は、コマンドの違いなどから高確率で遠回りをすることになります。肩身が狭いですよね…
Macユーザーの方でも問題なく実行できるように、頑張って書きますので、最後までお付き合いいただけると幸いです。

## システムの概要
今回は具体例として、一定の間隔でニュース記事を取得して、取得したニュース記事のデータをS3に格納

元記事を表示

AWSのPersonal Health DashboardからSlackへ通知を受け取る方法

##概要
AWSのPersonal Health DashboardをトリガーとしてSlackへ通知を促す構成を考える。
方法は以下のパターン
トリガー → Amazon eventbridge → AWS SNS → AWS Chatbot → Slack
AWS SNSの代わりにLambdaを採用することもでき、
柔軟なメッセージのカスタマイズができるが料金がすこし高くなる想定

料金

・EventBridge
https://aws.amazon.com/jp/eventbridge/pricing/
AWS のサービスによって発行されたすべての状態変更イベントは無料

・SNS
毎月最初の 100 万 Amazon SNS リクエストは無料
この上限を超えた後の料金は 100 万 リクエストごとに 0.50USD
https://aws.amazon.com/jp/sns/pricing/

・Chatbot
https://aws.amazon.com/jp/chatbot/pricing/
無料

##構成図
![キャプチャ.PNG](https://q

元記事を表示

データ基盤の保守・運用はデータに怯えることから始まる(戦記①)

# 記事の作成背景
– データエンジニアリングができるデータサイエンティストになりたいと思い、現在、データエンジニアリングの勉強中
– 今回は**「データ活用基盤の保守・運用」のデータ集計**との戦いについて書きます

# データ活用基盤の構成
ここで紹介したいデータ活用基盤の構成の簡略したものを以下に示す。
代替テキスト
###
– データがAWSのS3に配置される
– AWSのGlueのジョブ実行すると以下の処理が行われる
1. AWSのS3に配置されたデータを取得
– Snowflake にデータをロード
– ロードしたデータをもとにデータを加工・集計
– TableauでSnowflakeのデータベースを参照し、データを可視化

# 今回はデータ集計の話
– 今回はあるデータ基盤の

元記事を表示

[AWS CDK] Construct IDは先頭大文字のキャメルケースで命名するのが良い

## TL;DR
CDKでConstructのコンストラクタ第2引数で渡すIDは、パスカルケース (`PascalCase`) にしましょう。
理由は、CDK (CloudFormation) により自動で命名されるリソースの名前を見やすくするためです。

## 前提知識
### Construct IDとLogical ID
Construct IDは、CDKでConstructをnewするときに第2引数に渡す文字列です。
これはConstruct treeの階層(scope)内でのユニークなIDとなります。

例えば以下のコードでは、 `ItemTable` がConstruct IDです。

“`ts:CDKのコード
new Table(this, ‘ItemTable’, {
partitionKey: { name: ‘id’, type: AttributeType.STRING },
});
“`

Logical IDは、CloudFormationテンプレート内でリソースを判別するためのIDです。

例えば以下のテンプレートでは、 `ItemTable8

元記事を表示

AWSのS3とOCIのObjectStorageとの仕様比較

#はじめに
業務上でAWSのS3をOCIに置き換えを検討することとなったので、その際に調査した内容を共有します。
既存の記事では各サービスの概要について比較している記事は見つかったのですが、移行可否の判断に活用できるような各サービスの詳細に踏み込んだ記事が見当たらなかったため、手元で調査した内容をこちらでも共有できればと考えて記事化することとしました。

#比較
下記、ストレージの詳細についての比較となります。ストレージを利用したサービスや自社業務がある場合に、この程度の内容がわかると移行判断の助けになると考えています。
※2021年12月時点での調査となります。

一部機能においてはまだAWS側優位のようですが、思ったほどドキュメント上での差はつけられていないようです。

|比較項目|S3|ObjectStorage|OCIドキュメント|
|:-:|:–|:–|:–|
|オブジェクト数上限|なし|なし
(バケット数はリージョンあたり10000が上限)|https://docs.oracle.com/ja-jp/iaas/Content/General/Concepts/s

元記事を表示

ECS Execを用いてコンテナにログインする

ECSで起動したコンテナに対して、docker execのようにコンテナの中にログインして操作する機能を試したので、そのメモです。私が試したのはFargateになります。

## 事前準備

ECS Execするクライアント端末にツールをインストールすると共に、IAMロールを設定します。

1. クライアントで “`session-manager-plugin“` を実行し、結果を確認する。
2. 未インストールの場合、Session Manager プラグインをインストールする。
3. 以下のIAMポリシーを作成し、ECSタスクを実行するIAMロールにアタッチする。

“`json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“ssmmessages:CreateControlChannel”,
“ssmmessages:Creat

元記事を表示

OTHERカテゴリの最新記事