- 1. 【AWS QuickSight】新機能「ネストされたフィルター」の検証
- 2. 【入門】AWS-CLIのコマンドとAWSサービスを理解する
- 3. ECSで動いているバッチをスケジュールタスクで実行する
- 4. external-dnsでAWS Route53フェイルオーバーを実現する方法
- 5. CloudFrontからのリクエストのみ受け付けるAPI Gatewayの作り方
- 6. Lambdaで処理できないバッチ処理をAWS Batchで便利に実行しよう
- 7. 障害対応:ネットワークインターフェースを引き継いでEC2インスタンスをAMIから復元する手順
- 8. 【ネタ記事】ChatGPT(4o)さんを使ってAWSサービスを有名人風に紹介してみた!
- 9. AWS CodeBuildでソースのブランチによって処理をわける
- 10. 【Bedrock開発入門 刊行後サポート】Anthropic Python API libraryのトークン数算出ができなくなりました
- 11. 【AWS】LocalStackでLambda関数の作成
- 12. DOP合格体験記
- 13. 210日目 DockerイメージをビルドしてECRにプッシュするまでの流れby社畜S
- 14. Lambdaからシークレットマネージャーにある認証情報を取得
- 15. AWS ECRのマルチステージビルドにおける脆弱性スキャンの挙動について
- 16. やっとS3のブロックパブリックアクセスの4オプションの違いを理解した
- 17. 【Light sail】AWSのLight SailでPostgresSQLを使用してStrapiを構築する【Strapi】
- 18. HULFT10 Smart Proxyのクラウドトリガを使ってみた
- 19. 大学生がSAAを1発で取得した話(失敗談)
- 20. Aurora MySQLのバージョンと監査ログのローテーションルールについて
【AWS QuickSight】新機能「ネストされたフィルター」の検証
## はじめに
はじめまして。ジールの@ken_miyashitaです。
2024年8月AWS QuickSightに新機能「**ネストされたフィルター**」が追加されました。https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/add-a-nested-filter-data-prep.html
本記事では、ネストされたフィルターの基本的な説明から設定方法、実際のビジネスシーンでの活用例などを紹介していきます。
## Amazon QuickSightとは
QuickSightについて簡単に説明したいと思います。下記がQuickSightの主な特徴です。■特徴
①AWSの各種サービスや外部のSQLデータベース、Excelファイルなど、さまざまなデータソースに接続可能
②豊富なビジュアルの中から直感的な操作で可視化が可能
③SPICEと呼ばれる独自のインメモリエンジンで高速なデータ処理ができ、複雑なクエリも迅速に実行可能## ネストされたフィルターとは
検証前に「ネストされたフィルター」について公式リファレンス
【入門】AWS-CLIのコマンドとAWSサービスを理解する
はじめに
—
仕事で環境構築をする際に、マニュアルに沿ってコマンドを実行していたのですが、aws関連のコマンドについて理解せずに使っていたことに気が付きました。
今後も業務で使える再現性のある知識にしたいと思い、備忘のためにも記事として残させていただきます。調べるなかで自分の**わからないこと**・**理解の浅いもの**が出るたびにその箇所へフォーカスしながら深ぼっていくスタイルで書いています。ご了承ください。
今回は、**AWS CLI**とAWSを利用する入口となる基本的なコマンドを調べました。
– “`aws-sso-util login“`
– “`awsume“`
– “`aws esc-exec“`
– “`aws ec2-login“`前提:AWS CLI
—
AWSコマンドラインインターフェイス>AWS のサービスを管理するための統合ツールです。ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから AWS の複数のサービスを制御し、スクリプトを使用してこれらを自動化することができます。(引用元:http
ECSで動いているバッチをスケジュールタスクで実行する
## 前提
下記の記事でバッチ処理はLambda契機のHTTP通信で実行するようにしていました。
ざっくりの流れ
EventBridge -> Lambda -> HTTPリクエストでECSのバッチ処理を起動https://qiita.com/lyd-ryotaro/items/ede118eed0766c7aaf17
しかし、バッチ処理に時間がかかるようになり、CloudFrontのレスポンスタイムアウト30秒内にレスポンスを返せなくなってきて、Lambdaにてタイムアウトエラーが発生するようになってきました。
[![Image from Gyazo](https://i.gyazo.com/465e44e98a65527034cbee2b4c66a6a9.png)](https://gyazo.com/465e44e98a65527034cbee2b4c66a6a9)
ECS内では無事にバッチ処理は完遂していますが、実行元のLambdaにレスポンスだけ返せていないという状況です。
CloudFrontのレスポンスタイムアウトを変更するのはWebアプリケーション全体に影響が
external-dnsでAWS Route53フェイルオーバーを実現する方法
Kubernetesで動作するアプリケーションのDNS管理には、external-dnsが広く使われています。external-dnsを使うと、様々なDNSプロバイダーのレコード設定を統一的な方法で管理できるため、運用の手間を大幅に削減できます。
https://kubernetes-sigs.github.io/external-dns/latest/
しかし、external-dnsがDNSプロバイダー固有の機能にどこまで対応しているのかは気になるところです。特に、AWS Route53のフェイルオーバー機能への対応については、公式ドキュメントでも触れられているものの、本当にうまく統合できるのか気になったので試してみることにしました。
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html
本記事では、external-dnsを使ってAWS Route53のフェイルオーバーを設定する方法を、実際の検証を通じて詳しく解説します。
## TL;DR
– external-dnsは
CloudFrontからのリクエストのみ受け付けるAPI Gatewayの作り方
# 背景
CloudFrontを通じてS3の静的ウェブサイトを配信し、公開する手法をよく見かけますが、しっかりとしたウェブサービスを作る場合、API Gatewayをオリジンとして指定し、APIをCloudFrontで配信することも少なくないでしょう。
しかし、設定やポリシーでアクセス制限ができるS3と違って今現在API GatewayへのアクセスをCloudFrontからのみに絞ることはできません。
本文はある程度それを実現できる回避策を紹介し、そしてそれに基づいたより強固の対策も併せて紹介いたします。
# 結論
CloudFrontのカスタムヘッダーとAPI Gatewayのポリシー設定を通じて、実践上CloudFrontからのリクエストのみ受け付けるAPI Gatewayを作れます。さらにセキュリティ性を高めたい場合、自動的にヘッダーを変更するプログラムもご活用ください!
コードはこちら:https://github.com/zhang-hang-valuesccg/example-cloudfront-apigateway-integration
# 全体設計
Lambdaで処理できないバッチ処理をAWS Batchで便利に実行しよう
## 概要
この記事ではSQS + Lambda構成で処理できない長時間のバッチ処理のためにAWS Batchを利用する方法について解説します。AWS Batchの概要、設定方法や実際にジョブを登録して実行する方法について説明していきます。
このユースケースでのAWS Batchの利点は以下の通りです。
– ✅ サーバーレスでバッチ処理を行うことができる
– ✅ Lambdaの15分制限を超える長時間の処理を行うことができる
– ✅ ジョブのスケジューリングやリトライを自動で行ってくれる
– ✅ ジョブの並行実行数を制御することができる
– ✅ ジョブの失敗時の通知を設定することができるまたこの記事ではAWS CDKを利用しながらAWS Batchの設定方法を例示するので、お手元の環境でサンプルコードそのまま実行して試してみることができます。
## 目次
– [背景](#背景)
– [AWS Batchの概要](#aws-batchの概要)
– [AWS Batchの使い方](#aws-batchの使い方)
– [ジョブ定義](#ジョブ定義)
– [コンピューティ
障害対応:ネットワークインターフェースを引き継いでEC2インスタンスをAMIから復元する手順
## はじめに
AWSのEC2インスタンスを管理する上で、特定の時点のインスタンス状態を保存したり、復元したりすることが求められる場合があります。例えば、AMI (Amazon Machine Image)を利用してEC2インスタンスのバックアップを取得し、後からその状態に戻すケースです。
:::note warn
**本記事では、EC2インスタンスのAMIを取得し、取得後にインスタンスを削除した上で、ネットワークインターフェースを残したまま復元する手順について説明します。**
:::今回は、ネットワークインターフェースのアタッチを維持する方法に焦点を当てて解説します。
## 知識整理
### EC2とは
Amazon EC2 (Elastic Compute Cloud)は、AWSが提供する仮想サーバーサービスで、インターネットを介してスケーラブルなコンピューティングリソースを提供します。https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html
EC2を使用すると、ユーザーはインス
【ネタ記事】ChatGPT(4o)さんを使ってAWSサービスを有名人風に紹介してみた!
いつも記事を読んでいただきありがとうございます!
エンジニアのMasaki(@MASAKIOKUDA-eng)です👍タイトルにもある通り、ChatGPT(4o)さんを使ってAWSサービスを有名人風に紹介してみたら面白いのではないかと思い、記事にしてみました!
ChatGPTを活用したネタ記事ですのでお気軽に読んでいただければと思います!
# 目次
1. **記事を読んでもらいたい層**
1. **なりきってもらう有名人**
1. **入力プロンプト**
1. **Amazon EC2**
1. **Amazon S3**
1. **Amazon RDS**
1. **Amazon VPC**
1. **AWS Lambda**
1. **まとめ**## 記事を読んでもらいたい層
本記事はネタ記事ですのでどなたが読んでも楽しめるように書いていきますが、その中でも次のような方には特に読んでもらいたいと思っています。– AWSサービスに関する学習方法で悩んでいる方
– AWSサービスについて分かりやすく理解したいと思っている方## なりきってもらう有名人
今回、Chat
AWS CodeBuildでソースのブランチによって処理をわける
この記事は個人の備忘録です。
# やりたいこと
– 1つのビルドプロジェクトで複数のブランチに対応したい図にすると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490265/dad9fa28-47ec-b843-d771-1f8b1861e950.png)
これを![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490265/3adf586c-4962-3b3d-54c5-2c33aef171f6.png)
こうしたい# やり方
AWS CodeBuild には、ビルドコマンドで使用できる環境変数が用意されているので、それで条件分岐させる。今回はCODEBUILD_INITIATORというCodePipelineの名前の環境変数で分岐させることにしました。
ProPopelineとDevPipelineがProブランチとDevブランチを監視しており変更があれば
【Bedrock開発入門 刊行後サポート】Anthropic Python API libraryのトークン数算出ができなくなりました
Bedrock開発入門の刊行後サポートです。
[出版社サイト](https://www.sbcr.jp/product/4815626440/)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/7855b429-1ac0-d392-b16b-ea6fdbcf826c.png)
—
Anthropic Python API libraryが、2024/11/4公開のバージョン0.39.0にて、トークン算出メソッドがなくなりました。
https://github.com/anthropics/anthropic-sdk-python/releases/tag/v0.39.0
もともと、Claude 2にしか対応しておらず、将来的にClaude 3に対応することを期待して紙面上含めていたのですが、対応することなく終わってしまいました。
“`
Traceback (most recent call last):
File ““, line 1, i
【AWS】LocalStackでLambda関数の作成
# 環境
https://qiita.com/shutamo/items/c1ea90f623cabc8002cc“`cmd
// dockerを起動
docker-compose up -d
“`# Lambda関数の作成
zipファイルを使って関数を作成する方法で実施。### 1.コードファイルの作成
“`js:index.mjs
export const handler = async (event) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify(‘Hello from Lambda!’),
};
return response;
};
“`
ローカルで作ってください。
AWS Lambda作成時に生成されるコードそのままコピペした。### 2.zipに圧縮
右クリックorコマンド### 3.Lambda関数のデプロイ
以下コマンドでデプロイします。
“`cmd
aws —
DOP合格体験記
# はじめに
DOPを6月に受験して合格したので、だいぶ期間は空きましたが体験記を書きました。
今後DOPを受験する予定のある方の参考になれば幸いです。※SAA・DVA・SOAの記録まとめは以下からご覧ください!
https://qiita.com/hoshi7_n/items/bed0c94fc92d23a9c5c7
https://qiita.com/hoshi7_n/items/afb3fce717867be0787e
# DOPの記録まとめ
以下DOPの記録をまとめたものになります。– 結果:**798点**(750点合格)
– 勉強時間:**約50時間**
– 勉強開始から本番までの日数:**28日**
– 解いた問題数:**約800問**(重複あり)
– 勉強方法:[公式問題集](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14541/aws-certified-devops-engineer-professional-official-prac
210日目 DockerイメージをビルドしてECRにプッシュするまでの流れby社畜S
## :checkered_flag:はじめに
こんにちは、社畜Sです
今日はとある業務の中でイメージのビルド→ECRにプッシュする
という流れの作業を行いましたので、メモ書きがてらどのような作業をしたのかまとめていこうと思います。構成としては非常にシンプルなので、初心者向けの入り口としては良いかもしれません。
もし間違い等ありましたらどんどん指摘お願いします!
## :checkered_flag:今回使用したツール
・[DockerDesktop](URL “https://www.docker.com/products/docker-desktop/?_fsi=derLb3pp”)
・[Visual Studio Code](URL “https://code.visualstudio.com/download”)
・[AWS CLI](URL “https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html”)
今回は上記3つのツールを使用します。ダウンロードはリンク先
Lambdaからシークレットマネージャーにある認証情報を取得
# ①SecretsManagerでシークレットを作成
RDSなどAWSリソースのシークレット情報を保存する場合はそのリソースを選択しますが、今回は軽い動作確認するだけなので「その他」を選択します。保存したいシークレット情報を「key-value」で入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/c66410ba-bde9-5ac4-5211-1b7ab2de12fd.png)
シークレット名をtestにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/ced33876-3cea-66be-2713-639f7d4bf6f1.png)
動作確認するだけなので、今回はローテーションをしません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c
AWS ECRのマルチステージビルドにおける脆弱性スキャンの挙動について
## はじめに
AWS ECR(Elastic Container Registry)の脆弱性スキャン機能は、コンテナイメージのセキュリティを確保する上で重要な役割を果たしています。
マルチステージビルドを使用する場合、その挙動について注意すべき点があることがわかりました。
## 重要な発見
マルチステージビルドにおけるECRの脆弱性スキャンには、以下のような特徴があります:
1. スキャン対象となるのは、最終的にプッシュされる最後のステージのイメージのみ
2. 中間ステージ(builderステージなど)はスキャン対象外## 具体例で見る挙動
以下のような一般的なマルチステージビルドの`Dockerfile`を例に考えてみましょう:
“`dockerfile
FROM node:21-alpine AS builder # スキャン対象外
WORKDIR /app
COPY . .
RUN yarn install && yarn buildFROM node:21-alpine # このイメージがスキャン対象
COPY –from
やっとS3のブロックパブリックアクセスの4オプションの違いを理解した
# ブロックパブリックアクセスの4オプションって何?
これこれ!静的サイト設定時に「ブロックパブリックアクセス」をオフにしてねって言われたのですが、そもそもその四つのチェックって何?、とずっと気になりました。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/3ebb5c35-6355-758c-07f9-81f330b4f8f4.png)
# 4オプションは
### BlockPublicAcls
説明:バケットやオブジェクトレベルで「パブリックACL」を適用することを禁止します。影響:新規または既存のオブジェクトにパブリックACLが追加されても、そのACLは無視されます。
使用シナリオ:特定のバケットやオブジェクトが意図せずに「パブリックアクセス」を持たないようにしたい場合。
### IgnorePublicAcls
説明:すでに設定されているパブリックACLを無視します。影響:バケットまたはオブジェクトにパブリックACLが設定されていても、パブリ
【Light sail】AWSのLight SailでPostgresSQLを使用してStrapiを構築する【Strapi】
## linuxのアップデート
先ずはlight sailのlinuxのパッケージのアップデートを行います### ① apt-get update
linuxの内部にあるパッケージのリストを更新する。
実際にインストールするわけでなく、あくまで”リストを更新する”だけです。### ② apt-get upgrade
インストール済みのパッケージを先ほど更新したリストに基づいて実際に更新します。
パッケージを最新にすることにより、セキュリティの強化やパフォーマンスの改善が期待できます。“`shell:linux
–パッケージリストの更新
$ apt-get update–パッケージの更新
$ apt-get upgrade
“`※上記コマンドは権限の関係で permission deniedになる場合があるので、その際はsudoなどで適宜対応してください。
## PostgresSQLのインストール
ここから実際にpostgresSQLのインストールを行います。
“`shell:linux
–postgresのインストール
$ sudo apt
HULFT10 Smart Proxyのクラウドトリガを使ってみた
## はじめに
こんにちは。すぎもんです:smile:今回は、クラウドで発生したイベントをトリガーに、HULFT10 Smart ProxyとHULFTクラウドストレージオプションを使って、クラウド上のファイルを転送してみようと思います。
☆前回記事(環境構築)も参考にしてください
https://qiita.com/sugimon/items/f20294a677d69f87cac5HULFT10 について紹介している公式サイトもあわせてご覧ください。
**■ HULFT10 製品紹介ページ**
https://www.hulft.com/software/hulft-10**【公式】HULFT10 Smart Proxy ガイド**
※2024年11月11日以降公開予定:::note warn
本資料は2024年9月開発中時点のリリース前モジュールでの環境構築ナレッジです。
設定内容等の細かい部分は変更になる可能性がある点、ご留意ください。
:::# 前提条件
* 上図のEC2インスタンス(Linux)
大学生がSAAを1発で取得した話(失敗談)
# はじめに
本稿は情報系学部に通う大学生がAWSのSolution Architect Associate(以下SAA)に合格した体験記(失敗談)を投稿させていただきます。振り返って今ならこのように取得する方法なども記載したので、学生でSAA取得しようとしている人などに参考にしていただければ嬉しいです。https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/
# 前提
* 情報系学生だけどPC周りの知識が疎い
* インフラ知識殆どなし
* ストレージを使用するためにS3とIAMを少し触ったことがあるくらい# やったこと
### 1.AWS認定資格試験テキストの使用
自分はまず初めに[AWS認定資格試験テキスト](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D
Aurora MySQLのバージョンと監査ログのローテーションルールについて
## 結論
#### ファイルサイズによるローテーション
* いずれのバージョンも100MBごとにローテーションされる
#### 時間によるローテーション
* Aurora MySQL 3.03.0: 時間によるローテーションは行われない
* Aurora MySQL 3.04.0: 1 時間ごとにローテーションされる
* Aurora MySQL 3.05.2: 1 時間ごとにローテーションされる
* 他バージョン:未検証## きっかけ
Auroraの監査ログのCW出力費用が高い!!!
CW出力をやめてS3へ出力する方法を検討するために、まずは監査ログの仕様について調査を行った。
公式ドキュメントには以下の通り記載が。
> 監査ログは、各 Aurora MySQL DB インスタンスのローカルストレージに個別に保存されます。各インスタンスは、一度に 4 つのログファイルに書き込みを分散します。ログファイルの最大サイズは 100 MB です。この設定不可能な制限に達すると、Aurora はファイルを回転し、新しいファイルを生成します。
https://docs.aws.amazon