AWS関連のことを調べてみた2023年08月09日

AWS関連のことを調べてみた2023年08月09日

既存AWS構成をTerraformでIaC化(CloudWatch, Lambda, IAM)

## はじめに
今回は前回の続きです。Lambda部分をTerraformでIaC化していきます。
前回ではVPC回りとAPI Gateway構成部分をTerraformでIaC化しました。以下がその記録です。

https://qiita.com/kennyQiita/items/efa452ca81528acb8270

ちなみにIaC化する前提構成は前回と同じままです(以下図)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484097/bc17bb9b-74f2-e029-3214-bace0963c74b.png)

今回の実施内容としては以下となります。
* CloudWatchLogs管理をTerraform管理に変更
* Lambdaで利用するIAMロールをTerraform管理に変更
* LambdaをTerraform管理に変更

## IaC化
### CloudWatchLogs
Lambdaに関わるCloudWatchLogsのロググループだけでなく、本構

元記事を表示

5分で理解するAmazon Inspector

# はじめに
本記事はAWSで提供されているAmazon Inspectorについて記載しています。

Amazon Inspectorは、OSやソフトウェアの脆弱性管理に関するセキュリティ対策のソリューションです。
前々から存在は知っていたものの、実際に使ったことがなかったため、検証した結果についてまとめています。

これからAmazon Inspectorの導入検討を考えている方の参考になれば幸いです。

## Amazon Inspector
Amazon Inspectorは、アプリケーションのセキュリティとコンプライアンスの向上を目的に開発されて、2016年にリリースされたサービスです。

リリース当時は、Amazon EC2だけでしたが、現在はAWS Lambdaもサポートされています。

https://aws.amazon.com/jp/inspector/

### 特徴
主な機能は、**ネットワーク接続性**や**パッケージの脆弱性**を継続的にスキャンして、その結果をダッシュボードに可視化することができます。

また、影響を受けるリソースを特定し、脆弱性の評価や修

元記事を表示

AWS CDKのTIPS集

こんにちは。最近AWS絶賛学習中です。

今回は、とくにCloudFormation(CFn)やAWS CDKを使っていて、備忘として整理しておいた方がいいものをTIPS集として記載していきます。

## TIPS集

### AWS CDK の仕組みをザックリ

AWS CDKは、コンソールから “cdk deploy“ だったり、TypeScriptのプロジェクト上から “yarn cdk deploy“ とかで実行されたりしますが、実行されるとまず、自分がいるディレクトリの “cdk.json“ が読み込まれて、“app“ にあるコマンドが実行されるっぽい。

TypeScriptのプロジェクトって例えば下記の通りになっていたりするので、

“`json:cdk.json
{
“app”: “npx ts-node –prefer-ts-exts bin/cdk-samples.ts”,
“watch”: {
“include”: [
“**”
],
“exclude”: [
“README.md”,

元記事を表示

aws kms & kotlin で localstack と 商用を両方利用する場合にこうやった

暗号化に AWS Key Management Service(kms)を利用して、バックエンドを kotlin を使っている場合に開発環境と商用環境両方を考慮した実装方法がなかなか見つからなかったのでこうやったって話を記載します。

# 前提

– 開発環境は アプリ側はtomcatで起動、kmsはlocalstackを利用している
– 商用環境は アプリ側はeksでpodを起動、AWS kmsを利用してterraformでprincipalsでpodのiamロールでアクセスを許可

# 実現方法

ポイントはKmsClientの生成方法。

localstackを利用している開発環境はKmsClientをbuildするときに、endpointを指定することでVPCを経由することになりモックで強制的にハックすることができる。

## 利用したライブラリー

ちょっとハマったので利用するライブラリーも記載。

“` gradle
kotlin(“jvm”) version “1.9.0”
kotlin(“plugin.spring”) version “1.9.0”

元記事を表示

AWS CDKでDocument DBを作成してみた

CDKを使ってDocument DBを構築してみたので、備忘的に記録を残しておきます。今回は、EC2を踏み台として使ってDocument DBに接続する構成を目標としています。また、EC2への接続はSession Managerを使って行う形としています。

全コードはGithubを参照してください。
[Githubはここ](https://github.com/ShinyaT1994/cdk-documentdb.git)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/660703/45f8d20e-9a89-5a4a-096c-702b60e06c0d.png)

## 前提条件
– AWS CDK v.2 がインストールされていること
– Python 3.x がインストールされていること
– AWSアカウントがあり、AWS CLIが設定されていること

※Cloud9を使うとこの辺りがPassできるため、Cloud9を使って今回の記事の内容は作成しています。

## 構築手順

元記事を表示

DataZoneのProject capabilitiesについてまとめてみた

:::note warn
本記事はプレビュー版のDataZoneのドキュメントやサービスを利用しているため、GAで内容が変更となる場合がある点についてご了承ください。
:::

皆さん、8月に入り夏真っ盛りですが、DataZoneはお使いになっていますでしょうか。
実際にDataZoneを使おうとすると、Projectを作成していくわけですが、RedshiftをProjectで扱おうとするとこのProject capabilitiesを理解しないと進めない問題にぶち当たります。
私が早々にぶち当たったため、本記事でまとめておこうと思います。

# DataZoneにおけるProject capabilities
## Projectとは
そもそもProjectとはなんでしょうか。
公式ページのよくある質問には以下のような記載があります。

https://aws.amazon.com/jp/datazone/faqs/#:~:text=%E5%8C%96%E3%81%97%E3%81%BE%E3%81%99%E3%80%82-,%E3%83%87%E3%83%BC%E3%82%BF%E

元記事を表示

Node.js + LambdaでDDNSのIP紐づけが切れていないか監視する

#### DDNS(ダイナミックドメインネームシステム)って?

DDNS(ダイナミックドメインネームシステム)とは、動的に割り当てられているIPアドレスとドメイン名を紐づけてくれるものです。

https://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%83%8A%E3%83%9F%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%8D%E3%83%BC%E3%83%A0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0#:~:text=%E3%83%80%E3%82%A4%E3%83%8A%E3%83%9F%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%8D%E3%83%BC%E3%83%A0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%20(Dynamic,%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B%E4%BB%95

元記事を表示

Amazon QuickSight Roadshow 東京を振り返る

## はじめに
株式会社NTTデータ デザイン&テクノロジーコンサルティング事業本部の@nttd-kashiwabarayです。
8月4日に開催されたAmazon QuickSight Roadshow 東京に行ってきたので、ポイントに絞って振り返りを実施させていただきます。

## Amazon QuickSight Roadshow 東京(概要)
![QuickSightRoadshow1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/e7fc8d1d-3868-e7fa-65ff-7583140ffe36.jpeg)
8月4日にAWS ジャパン目黒オフィスで、以下URLのアジェンダで開催されました。アジアですでに9回開催されているとのことですが、今回の東京が一番規模が大きいとのこと。朝の受付から長蛇の列となっており、200名以上入れる会場が満員となっておりました。
https://poweredbyquicksight-tok

元記事を表示

SGにマイIP!?

# この記事の目的
以前セキュリティグループ(SG)の設定について、インバウンドルールに自信のSGIDを設定しなければならないという内容で記事を書きました。

https://qiita.com/inoshun/items/849a2b8d568844b0f472

本日、SGの設定を見直してると、もう一つ意味の分からない設定をしているのを見つけたので共有します。

# 意味わからない設定とは

それは

**マイIPを指定する**

ということです。
私の認識ではマイIPは、個人でセキュリティテストを行う際に指定するIPと理解していますが違うのでしょうか?
なんにせよ、SGの設定としてはHTTPとHTPPSはもちろん、Webアプリケーションに対応したカスタムTCP、そして**設定している自身のSGIDとマイIP**を指定するということを意識しておけばよさそうです。

前回に引き続き、SGについて紹介しましたが、ロードバランサーやVPC、ECSの設定についても軽く紹介しようと思います(需要あるのか?)。
それでは!!!

元記事を表示

AWS S3のWeb画面で、複数ファイルを一括ダウンロードするChrome拡張機能(Chrome,Edge)

# はじめに
AWSのマネジメントコンソールで、複数オブジェクトにチェックを入れて、まとめてダウンロードしたくなりますよね。ただ「ダウンロード」ボタンが無効になってダウンロード出来ません。とにかく何とかしてみました!

## 補足
自分ではCLIを使って不便はないのですが、CLIに不慣れな人や、SSO環境でIAMユーザを作れずアクセスキーの発行が制限されている人もいるようです。
タイトルも本当は「マネジメントコンソールで、複数オブジェクトを一括ダウンロードする」と書きたいところです。

# Chrome拡張機能
Chrome拡張機能を作りました。ChromeとEdgeで使用できます。

https://chrome.google.com/webstore/detail/s3-multiple-downloader/hkfgcimbcdngoekajjianmgelbhlckch?hl=ja

![s3_multi_dl_pic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155165/2dc1

元記事を表示

[AWS Q&A 365][ECS]AWSのよくある問題の毎日5選 #102

Here’s the translation in Japanese:

# 1. コンテナエージェントエンドポイントとは何ですか?
答え: コンテナエージェントエンドポイントは、ECSコンテナエージェントがコンテナインスタンスのメタデータやタスクメタデータを送信するURLです。

# 2. コンテナエージェントエンドポイントはどのように使用されますか?
答え: コンテナエージェントエンドポイントは、ECSコンテナエージェントがコンテナインスタンスとタスクのメタデータをECSサービスに送信するために使用されます。

# 3. コンテナエージェントエンドポイントはどこで見つけることができますか?
答え: コンテナエージェントエンドポイントはECSコンソールで見つけることができ、またAWS CLIやSDKを通じて取得することができます。

# 4. コンテナエージェントエンドポイントを変更することはできますか?
答え: いいえ、コンテナエージェントエンドポイントはECSサービスによって自動生成されるため、変更することはできません。

# 5. コンテナエージェントエンドポイントに接続できな

元記事を表示

[AWS Q&A 365][ECS]Daily Five Common Questions #102

# 1. What is the Container agent endpoint?
Answer: The Container agent endpoint is a URL to which the ECS container agent sends container instance metadata and task metadata.

# 2. How is the Container agent endpoint used?
Answer: The Container agent endpoint is used by the ECS container agent to send metadata about the container instance and tasks to the ECS service.

# 3. Where can I find the Container agent endpoint?
Answer: The Container agent endpoint can be found in the ECS console o

元記事を表示

【初心者】Amazon OpenSearch Service を使ってみる #2 (nginx-fluentd-OpenSearch)

# 1. はじめに

– 前回の記事[「【初心者】Amazon OpenSearch Service を使ってみる (基本的なデータ操作)」](https://qiita.com/mksamba/items/9c8609ea15f0c7b66a24)で、OpenSearch Serviceの作成、データの入力方法の確認を行った。今回はもう少し業務に即した形の動作確認を行う。

# 2. やったこと

– EC2インスタンスにnginxとfluentd(td-agent)をインストールする。
– nginxのアクセスログをfluentdで収集し、OpenSearch Service へ転送、保存する。
– OpenSearch Service のDashboardsでログの検索を行う。

# 3. 構成図

![open10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189302/1a963e47-13bf-66c4-7dee-615d49817c2c.png)

# 4. 手順

## 4.1 事前

元記事を表示

【初心者】Amazon OpenSearch Service を使ってみる (基本的なデータ操作)

# 1. はじめに
– 社内にOpenSearchを使ってログ収集・分析をしているシステムがあるが、そもそものOpenSearch(≒ElasticSearch)の仕組みが分からないため、あらためてチュートリアルから実施して、基本的なデータ操作の手順を確認する。

# 2. やったこと
– OpenSearch Service を最小構成で作成する。
– OpenSearch Service のDashboardsを利用し、データの挿入、検索などの基本的な手順を確認する。

# 3. 構成図

![open01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189302/27c4fad2-4165-d26f-9095-9ce8c91a4233.png)

– 今回は短期的な検証のため、VPC外にOpenSearchドメインを作成し、インターネット経由でアクセスする。(ID/Password認証でのアクセス制限とする)

# 4. 手順

## 4.1 ドメインの作成

– AWS公式ドキュメントの「[G

元記事を表示

CloudWatchでログを抽出する

CloudWatchのログのインサイトでログを抽出した時のメモ。

### 対象のフィールドを指定

“`
fields @timestamp, @message, @log
“`

### ログをソート

“`
fields @timestamp, @message, @log
| sort @timestamp desc
“`

### 文字列で絞り込み

“`
fields @timestamp, @message, @log
| filter @message like /ERROR/
“`

### ログをパースしてフィールドして表示

“`
fields @timestamp, @message, @log
| parse @message ‘param1=*&’ as param1
“`
“`
fields @timestamp, @message, @log
| parse @message “*\t*\t*\t*\t*” as datetime,statuscode,id,param1,param2
“`

### 表示する項目を指定

“`
f

元記事を表示

AWSのEC2にBasic認証を設定する

# AWSのEC上に立てたRHEL8上のWebサイト(WordPress)にBasic認証を設定する

すぐに忘れるので、実行記録兼備忘録です。

## 実際に行った作業内容履歴

### .htaccessファイルの作成

“`vim /var/www/html/.htaccess
AuthUserFile /var/www/html/.htpasswd
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user
“`

### .htpasswdファイルの作成

“`vim /var/www/html/.htpasswd
ID:password
“`

### /etc/httpd/conf/httpd.confの編集

“`AllowOverride None“`
と記載のある部分を
“`AllowOverride All“`
に編集する。(計4行ほど変更しました)

“`

AuthUserFile /v

元記事を表示

AWS初学者がAWS SAA-C03認定試験を受けてみた

今回、会社からAWS認定試験を受けるように言われたため、AWS Certified Solutions Architect – Associate 認定を受けてみました。僕はAWSについての知識が皆無だったため、AWSのサービスについてもAWS試験についても0からのスタートでした。
そこでどのように勉強を進め、試験を受けたのか書いていこうと思います。

# そもそもAWSとは
公式サイトにはこのように書かれています。
>Amazon Web Services (AWS) とは、世界で最も包括的で、幅広く採用されているクラウドコンピューティングサービスです。AWS のクラウドサービスを利用すると、インターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした、さまざまな IT リソースをオンデマンドで利用することができ、世界中のデータセンターから提供される フル機能のサービスは 200 を超えます。

ざっくり説明すると、データベースやサーバーなど**バックエンドのシステムをクラウド上で構築できるサービス**とのこと。
サーバーというとデータセンターと呼

元記事を表示

CodeCommitにサーバーレス(Lambda)の定期実行でPushする

## はじめに
CodeCommitで管理しているリポジトリにサーバーレスの定期実行でPushする、ということをやってみたのでそのやり方を残したいと思います。
本記事では、試しに[YAHOO!ニュース(ITカテゴリ)のRSS](https://news.yahoo.co.jp/rss/categories/it.xml “news.yahoo.co.jp/rss/categories/it.xml”)を取得して、JSON形式で保存する。というユースケースでやり方の紹介をします。

# 目次

1. [はじめに](#はじめに)
2. [前提](#前提)
3. [準備](#準備)
4. [権限の設定](#権限の設定)
5. [Lambda関数作成](#lambda関数作成)
5. [Lambda関数の登録](#lambda関数の登録)
6. [おわりに](#おわりに)

## 前提
1\. 以下のツールがインストールされていること。
“`
node18
yarn
aws-cli
“`
2\. Push先のリポジトリの作成と、initial c

元記事を表示

【分かったつもりになるAWS】Kinesis 編

**各種ログ等のストリーミングデータ** を処理するために設計されていて、データの収集・処理・分析を行うことができる。

たとえば、ウェブサーバーのログに “Fatal” という言葉が出力されたことを関連ユーザーに通知する場合

#### Kinesisを利用する場合
Kinesis でログデータを監視、特定条件を満たした場合 `CloudWatch Events` をトリガーとして Lambda 実行・SESメール通知

#### 従来の方法

1. 直接Lambdaトリガー: 一部のウェブサーバーソフトウェアやライブラリは、Lambda への直接ログ出力をサポートしている場合があります。この場合、ログに特定のキーワードが出力されると Lambda関数が実行されるようになります。
2. エージェントやカスタムスクリプト: ウェブサーバーのログファイルを監視し、キーワードが含まれているかを定期的にチェックするプログラムを作成
3. イベントバスを使用: ウェブサーバーのログをイベントバスに送信し、イベントバスをトリガー

元記事を表示

【分かったつもりになるAWS】CloudWatch Events編

**AWSのリソースやサービスで発生するイベント** をリアルタイム で監視し、それらのイベントに対してアクションを実行するためのサービス。アクションには、AWS Lambdaを含むさまざまなAWSサービスが利用できる。

とくに CloudWatch + Lambda の組み合わせは利便性が高い。
AWSサービスのほとんどがCloudWatch Eventsをサポートしており、Lambda関数で独自の処理を組み込めるため様々な用途に利用できる。

元記事を表示

OTHERカテゴリの最新記事