AWS関連のことを調べてみた

AWS関連のことを調べてみた

[AWS #11] Amazon Inspector

## はじめに
こんにちは
今回もセキュリティ分野に関する **「Amazon Inspector」** について紹介いたします。
:rolling_eyes::Inspectorを和訳したら **「検査官」** と出てきました。
:upside_down::EC2や、インスタンス、コンテナ、Lambdaなどの**ワークロードを自動的に検出**し、ソフトウェアの**脆弱性**を意図しないネットワークの**露出がないかをスキャン**します。なのでイメージは合っていますね。

初めにAmazon Inspectorの前提知識となる **「脆弱性診断」** について紹介いたします。
## 脆弱性診断
脆弱性診断は、ネットワーク・OS・ミドルウェアやwebアプリケーションなどに**脆弱性がないか診断する**ことです。
![AWS11_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806875/9495f14b-8d28-07af-2acf-b98a7fc1b

元記事を表示

Git sync使用を諦めた

# はじめに

2023年のRe:inventにて登場したgit sync。CloudFormationとスムーズな接続ができる魅力的な機能です。社内の開発で導入しようと思いましたが、先輩方と相談しながら検討した結果、要件に合わず導入を諦めることになりましたので、その理由を記載したいと思います。

↓ Git Sync追加のアナウンス

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-cloudformation-git-management-stacks/

## Git Syncとは
GitHub、GitHub Enterprise、GitLab、BitbucketからCloudFormationに接続できる仕組み。

> テンプレートまたはデプロイファイルへの変更をコミットすると、CloudFormation はスタックを自動的に更新します。これにより、プルリクエストとバージョントラッキングを使用して、一元化された場所から CloudFormation スタックの設定、デプロイ、更新を行うことができます。

h

元記事を表示

[AWS #10] AWS ShieldとDDoS攻撃について

## はじめに
こんにちは
今回は「AWS Shield(シールド)」について紹介したいと思います。

AWS ShieldはAWSで実行している **「WebアプリケーションをDDoS攻撃から保護するサービス」** のことです。
:rolling_eyes:DDoS攻撃?どんな攻撃なのでしょうか
:upside_down:ではAWS Shieldの前提知識となる、「DDoS攻撃」から紹介いたします。
## DDoS攻撃
DDoS攻撃とは **「Distributed Denial of Service Attack」** の略称です。
**対処しきれないほどの通信をサーバに送りつけることで、サーバーダウンをさせるサイバー攻撃**です。攻撃者が複数の機器を踏み台にして、特定のサーバー、アプリケーションなどに**一斉攻撃を仕掛けること**とも言えますね。
![AWS10_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806875/3612d37d-c9

元記事を表示

2024 Japan AWS Jr Champions受賞までの道のりと今後の活動

# はじめに
この度2024 Japan AWS Jr. Championsを受賞しました、キンドリルジャパン株式会社の伊藤雄哉と申します。本記事ではJr Championsの概要や応募のきっかけ、受賞に向けた活動内容などについて記載していきます。「Japan AWS Jr Championsって何?」と思っている方、「Japan AWS Jr Championを目指したい!」という方など、Jr Championsに興味がある方は是非最後までご覧いただければと思います。

(参考)[AWS Japan APN blog: 2024 Japan AWS Jr. Champions の発表](https://aws.amazon.com/jp/blogs/psa/2024-japan-aws-jr-champions/)

### 自己紹介
本記事を掲載するにあたり、まず私の自己紹介を記載します。今後もAWS関連の情報や2024 Japan AWS Jr. Championsの情報発信を継続していこうと思っていますので、こんな人がJr Championsになって活動してるんだなぁ、と是非覚

元記事を表示

AzureとAWSにおけるPrivate Linkの登場人物

Private Link はアプリケーションや PaaS サービスへのセキュアな接続を行うために必要不可欠な仕組みです。

Azure でも AWS でも使えますが、出てくる要素が異なるので整理してみました。

## PaaS に対する Private Link

### Azure の場合

下記のように接続します。

VNet の Subnet → Private Endpoint → Private Link → PaaS

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3769407/896e14f5-e995-e40b-0b18-724a82c096db.png)

Private Endpoint が IP アドレスを提供し、Private Link により Private Endpoint と PaaS の間を繋ぎます。

Private Endpoint の IP アドレスの名前解決には、Private DNS Zone を使用します。
例えば NoSQL の Cosmo

元記事を表示

AWS の EC2(Amazon Linux 2023) で 起動時にコマンド実行

EC2(Amazon Linux 2023) にサービス登録して起動時に実行するようにしたときの備忘録メモ
なんとなく Linux OS なら他のやつでも使えそう

– ざっくり流れ
– サービス定義作成
– サービス自動起動の設定
– 環境情報
– EC2 (Amazon Linux 2023)

# サービス定義作成

– サービス定義ファイル作る
`/etc/systemd/system/` の中に `サービス名.service` でつくる
“`
touch /etc/systemd/system/samp.service
“`

– サービス定義ファイルを編集
`StandardOutput`, `StandardError` はログ出力不要な時はなくてもOK
実行したいコマンドで作ったシェルも実行できるのでちょっと処理を入れたいときはシェル作る
`Restart=always` を入れておくと起動失敗してもリトライしてくれる
“`service:samp.service

元記事を表示

Route53のヘルスチェックを使ってメンテナンス画面を表示させる

# はじめに
 こんにちは。今回は担当している業務で検証した作業を紹介させていただきます。
 要件としては、webサーバを更新(再デプロイ)した際に「504 Gateway Timeout」になるため、更新中はメンテナンス中であることがわかるようなカスタムページを表示させたいという内容です。「冗長性や可用性はどうなっているんだ。。。?」というツッコミがあるかもしれませんが、そこはコストなど複雑な事情や要件がありまして。。。
 何か方法がないか調査して検証までやったのですが、うまく要件を満たすものが見つからず、検証だけして終わってしまう可能性が出てきてしまいました。
 せっかく検証したのに活用もできず、それでおしまいではもったいない(?)気がしたので、この場を借りて記事にしようと思った次第です。
 色々検証した方法の1つである「Route53のヘルスチェック」を使ってメンテナンス画面を表示させる方法を紹介させていただきます。

# 検証環境構築
 検証を行う環境を紹介します。記載以外の設定については、基本的にデフォルト設定で問題ないです。

※Route53やS3などグローバルなリソー

元記事を表示

Bedrock Claude Night 2 参加メモ( #jawsug_aiml × #jawsug_tokyo )

ジャーニーマン( @beajourneyman )です。長いの”ジャニ”と呼ばれています。

2024/06/18(火)に目黒の「AWS Startup LOFT」で「Bedrock Claude Night 2(JAWS-UG AI/ML支部 × 東京支部コラボ)」に参加したので、簡単なメモをお届けします。普段の生成AIとの関わりはいくつかのチャットを便利ツールとして使っている程度のライトユーザーで、開発などには関わっていません。

今回は生成AIモデル「Claude 3」シリーズを手がける米AnthropicのMaggie VoさんとAlex Albertさんが来日されて、登壇いただいたスペシャル回です。イベントのハッシュタグを全てつけると #jawsug_aiml #jawsug_tokyo #jawsug ですが、運営のみなさんからは「 #jawsug_aiml でポストして」と案内がありました。𝕏ポストまとめ #togetter は本文最後に掲載しました。気になる方は𝕏でも直接覗いてみてください。

https://jawsug-ai.connpass.com/event/3

元記事を表示

EventBridge SchedulerでCloudWatch Logs⇒S3へ自動エクスポート

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

前回CloudWatch Logsに蓄積させたログをS3に手動でエクスポートする手順を確認しました。

https://qiita.com/ohtsuka-shota/items/614a6cfddce257dd623e

今回はこの続きで、EventBridgeを使用して自動でS3にエクスポートする手順をメモって行きたいと思います。
EventBridgeを使うことで、Linuxで言うcron、Windowsで言うTask Scheduler的なことがAWSで出来るので良い感じですね。

# 環境イメージ
以下のような形となります。
EC2からCloudWatch AgentでCloudWatch Logsにログを自動アップロード。アップロードされたものEventBridge Schedulerを使って1分間隔でS3にエクスポートしていきたいと思います。
![島田様02-ページ4.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaw

元記事を表示

Packer + Ansible で ftp-server: No such file or directory でコケたら

## 事象

久々に packer + ansible で AWS の AMI を作成しようとしたら次のようなエラーでコケてしまいました。

“`
fatal: [default]: UNREACHABLE! => {“changed”: false, “msg”: “Failed to connect to the host via scp: bash: /usr/lib/sftp-server: No such file or directory\nscp: Connection closed\r\n”, “unreachable”: true}
“`

## 実行環境

Packer を実行したのは `python:3.12.4-slim-bookworm` を base image として Packer を追加したコンテナの中です。

Packer は 1.11.0, Ansible は community package 9.6.1 (ansible-core 2.16.7) です。

## 対処

Packer の [ansible provisioner](http

元記事を表示

Node.jsのインストールコマンドメモ

Udemyのterraformの講座にて、アプリケーション構築の中のnode.jsのインストール方法が古くて講義の通りだと動かないため、下記手順でインストールした。

“`
EC2ログイン

リポジトリの追加
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash –

インストール
sudo yum install nodejs

node -v
-> v16.20.2
“`

元記事を表示

プライベートIPの規則(RFC1918)に関する備忘

# 背景
– AWS Advanced Networking Specialtyの勉強をしているときにRFC1918という聞き慣れない言葉が出てきたので備忘

# RFC1918とは
– プライベートIPのCIDR範囲に関する規約
– クラスA-Cまで分かれている
– クラスA:10.0.0.0~10.255.255.255(10.0.0.0/8)
– クラスB:172.16.0.0~172.31.255.255(172.16.0.0/12)
– クラスC:192.168.0.0~192.168.255.255(192.168.0.0/16)

何かあればまた追記

元記事を表示

cwa

~~~
AWSTemplateFormatVersion: ‘2010-09-09’
Description: CloudFormation template to create endpoints for CloudWatch Agent within an existing VPC and a single subnet with specific private IP addresses.

Parameters:
SubnetId:
Type: String
Default: subnet-05cf58c7b070975c8
Description: The ID of the existing subnet
PrivateIp1:
Type: String
Default: 10.0.1.120
Description: The private IP address for the first endpoint
PrivateIp2:
Type: String
Default: 10.0.1.121

元記事を表示

Amazon Linux 2023にWordPressを構築

## EC2を起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3184769/7fab7521-a488-b087-145c-eb2e94fd8add.png)
## EC2を接続
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3184769/1d34437b-d447-7acf-366c-031559989e5e.png)
“`console
A newer release of “Amazon Linux” is available.
Version 2023.4.20240528:
Version 2023.4.20240611:
Run “/usr/bin/dnf check-release-update” for full release and version update info
, #_
~\_ ####_ Amazon

元記事を表示

terraformとgithub actionsで一つのリポジトリで完結するCDを実装

お急ぎの方

https://github.com/sasakitimaru/terraform-learn

## 概要

terraform planとapplyをgithub actionsで実行しようとするとiamロールの管理がめんどくさいと思います
今回は

– プロジェクトと同一リポジトリでiamロールも管理して
– ワークフローを勝手に改竄されて実行されないような仕組みで
– OIDCでsecret keyをリポジトリにおかない

ような構成を実現しようと思います

なので今回は一つのプロジェクトで

1. terraformを実行するために必要なロールを作成するためのterraformプロジェクト:**terraform-iam**
2. 実際にアプリに必要なインフラを適用するためのterraformプロジェクト:**terraform-exec**

の二つを作ります(**名前つけたので以降は↑の名前で表します**

## 準備

基本的にはIaCでほとんどを管理しますが最初に手作業で準備するものが少しあります。

1. terraformを実行するiamロールとポリ

元記事を表示

Snowmobileってもうサービス終了してた件

## はじめに
AWSのsnowファミリーの勉強をしていました。
そこで、
「へぇーテラバイトとかペタバイトのデータをAWSに移行するにはこのサービスを使えばいいんだ」
と思っていました。
そこで、ふと、snowファミリーのsnowmobileって実際使われているのかと疑問に思い、調べた結果・・・

**サービス終了してました・・・!**

## そもそもsnowファミリーとは
snowファミリーとは多量のデータをAWSのストレージへ転送するサービスです。
利用者のもとに大容量のストーレージが送られてきて、そこにオンプレミス環境のデータ等を転送して、AWSに返送するとAWSがAWSストレージサービスにデータを移行してくれるというものです。
sonwファミリーには以下の3つがあります。
– Snowcore
– 使用可能なHDD:8TB
– Snowball
– 使用可能なHDD: 80TB
– Snowmobile(サービス終了)
– 使用可能なHDD: 100PB

snowballではオプションとして、lambda関数をデバイスに設定しておいて、データの加工

元記事を表示

AWS EKSでHelmを使ってみよう

# 前提条件

– EKSクラスターが作成済みであること

もしない場合は以下の記事で作成することができます。
https://qiita.com/Takkesan/items/83ed99a36bca5b105d97

# Helmとは

– Kubernetesのパッケージマネージャ
– チャートと呼ばれるパッケージを管理する
– チャートはKubernetesのリソースを定義するYAMLファイルの集まり

# HelmでPrometheusをインストール

今回使うのはこのチャート!
PrometheusからGrafanaまで一気にインストールできる!

https://artifacthub.io/packages/helm/prometheus-community/kube-prometheus-stack

## 1. リポジトリを追加

“`bash
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
“`

##

元記事を表示

Amazon Linux 2にFishを導入してみよう

# Fish って?

https://fishshell.com/

Fishは、BashやZshと同じくシェルの一種です。
しかしFishはBashとは違い、保管機能があったり強調機能があったりと、より使いやすいシェルです。

# 早速入れてみよう

## 1. インストール
“`Bash
cd /etc/yum.repos.d/
wget –no-check-certificate https://download.opensuse.org/repositories/shells:fish:release:3/CentOS_7/shells:fish:release:3.repo
yum install fish
“`

## 2. デフォルトシェルを変更
“`Bash
sudo yum install util-linux-user -y
sudo chsh -s `which fish` ec2-user
“`

もう一回ログインし直すと、デフォルトシェルがFishになっているはずです。
## 3. 再起動
“`Bash
exit
“`

# 確認してみよう

元記事を表示

[AWS #9] WAF

## はじめに
こんにちは
今回はセキュリティ分野の「WAF」について紹介いたします。

:rolling_eyes:これは何の略称でしょうか
:upside_down:**「Web Application Firewall」** ですね。
:rolling_eyes:あれ、ここでも**ファイアウォール**が出てきましたね。これも「防火壁」でしょうか
:upside_down:簡単に言うと、**「ウェブアプリケーションを保護するための防火壁」** ですね。

## WAF
WAF(Web Application Firewall)とは、ウェブアプリケーションの**脆弱性を狙って仕掛けられる悪意のある攻撃から「ウェブアプリケーションを保護するため」の防火壁です。**

:upside_down:アクセスしてくるユーザーとウェブアプリケーションの間に「WAF」を挟むことで、**悪意のある攻撃の通信を遮断してウェブアプリケーションを防御します。**
:rolling_eyes:[[AWS #8]](https://qiita.com/aoiku/

元記事を表示

Amazon Lookout for Metrics によるデータ異常検出

# はじめに

たまたま **Amazon Lookout for Metrics** というサービスについて触れることがあったので検証した内容をまとめてみました。

# Amazon Lookout for Metrics とは?
機械学習を使用してメトリクス内の異常を自動的に検知してくれる AWS サービスです。

https://aws.amazon.com/jp/lookout-for-metrics/

# 検証内容
今回は以下の記事を参考に行っています。

https://aws.amazon.com/jp/blogs/machine-learning/build-a-loyalty-points-anomaly-detector-using-amazon-lookout-for-metrics/

## 概要説明
あるファーストフードチェーンが一部の店舗でポイントプログラムを導入しました。
そのプログラムの内容は以下です。
– 商品を購入するとその金額に応じてポイントが溜まる
– 溜まったポイントは割引券や特典と交換することができる

このポイントの獲得と交換パターン

元記事を表示

OTHERカテゴリの最新記事