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

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

AWS CLF(クラウドプラクティショナー)合格体験記

## なぜ取得したか
いずれ取得しようと思っていたところ、新入社員が研修で取得していたため、**ヤベェ**と思い取得に向かった。
なお、当方の業務によるAWS経験は無し。

## CLF(クラウドプラクティショナー)試験に対する所感
AWSのサービスに関する問題が網羅的に出題される。
範囲がとにかく広いが浅いため、とにかく浅く広く手を付けて学習する必要がある。
基本情報を取得していて、インフラエンジニアとして3年以上勤務している下地があってのことだとは思うが、AWSのサービス名と一般的な呼称を紐づけて覚えれば難しくはないと感じた。
ただし、クラウドだからこその単語やサービスはしっかりと覚える必要がある。
試験終了時に、即合否が分かる仕様はとても良いと感じた。

## 勉強方法
Udemyの講座動画を見る
Ping-tでSAA(ソリューションアーキテクトアソシエイト)の問題を解く
AWS認定資格 無料WEB問題集&徹底解説 で問題を解く

## 勉強時間
合計で大体20時間ほど。
実質的な勉強はUdemyの動画を見たくらい。
問題はそれぞれの問題集を半分くらいずつ解いたに留まる。
合格は

元記事を表示

【直前対策】AWS認定DBS-C01試験を受けるすべての人に捧げる備忘録【読むだけ復習】

## はじめに(この記事について)
AWSをガッツリ触ったことがない私が
2024/2/21にAWS認定DBSデータベース – 専門知識試験(以下DBS)に合格しました!
(スコアレポート`846/1000`)

開発経験などがまだないため、
ザ・ペーパー試験というような勉強の仕方をしていたのですが
勉強をすすめていく中で、これはDBS受験で即活かせる!と感じた
小手先の知識や傾向を共有したいと思います。

忘れがちだけど得点に直結する知識を確認をしたい方や、迷った時ちょっとでも点数あがる知識をくれ〜〜というような方に読んでいただければと思っています。

ちなみに当方は文系出身IT未経験でSIerに入社し、現在1年目の新卒🐣です。
(去年の9月から机上にて、AWSの勉強を始め、CLP,SAA,SOA,DVAを取得している状態で挑んだ初めての専門知識試験でした)
12冠目指してがんばっておりますので応援よろしくお願いいたします。

## この単語がきたらコレを選べ!瞬殺系の基礎知識
**※問われている内容によって違うこともありますが、
ほぼほぼこれが正解!ということが多いものを

元記事を表示

CloudFrontの署名付きCookieを用いてプライベートコンテンツを配信する

# はじめに

この記事は、CloudFrontの署名付きCookieを用いたプライベートコンテンツ配信についてまとめています。

# 背景

現在開発しているWebアプリケーションに、以下のような追加実装を行うことになりました。

– 認証されたユーザーのみがアクセス可能なコンテンツを作成する
– コンテンツは静的なWebページ
– 認証機能は既存のものを使用する

この仕様を踏まえて、実装方法を検討した結果、CloudFrontの署名付きCookieを採用することにしました。
Webアプリケーションの特徴的に、ユーザー数(コンテンツへのアクセス数)はそこまで多くならない想定であり、既にあるWebアプリケーションのインフラは全てAWSで構築されていますので、運用コスト・実装コスト面でも最適な選択肢と考えました。

# 前提

## CloudFrontの署名付きCookieとは

CloudFrontはAWSのCDNサービスであり、Webアプリケーションのフロント画面や、サイト内で使用される画像等の静的コンテンツをパブリックに配信するという使い方をよく耳にします。

ただ、開発物によ

元記事を表示

【AWS】IoT Greengrass v2備忘録

 AWS IoT Greengrassとは、IoTエッジデバイスにアプリケーションをデプロイ・管理できるプラットフォームです。

今回は、Greengrass v2のハンズオンチュートリアルを参考に、実際にやってみる。

https://catalog.us-east-1.prod.workshops.aws/workshops/5ecc2416-f956-4273-b729-d0d30556013f/ja-JP/chapter1-introduction

## エッジデバイスへGreengrassのインストール
エッジデバイスへのGreengrassのインストールは非常に簡単で、

1. Grrengrass v2のコンソール画面を開く
2. Greengrassデバイス -> 1つのCOreデバイスをセットアップを押す
※ここに非常に丁寧に手順が示されている。下記はその手順。
3. JavaのJRE(Javaランタイム)をインストールする
“`
sudo apt-get update
sudo apt-get upgrade
sudo apt-

元記事を表示

Snowflake→AWS Glue→SnowflakeのETL

# はじめに

AWS GlueをETLとしてGUI操作でSnowflake上にあるテーブルのデータを加工してSnowflakeの別のテーブルに反映できることを確認した記録です。

# 前提

検証の前提として以下を実施済みの状態にしています。

– GlueからSnowflakeにアクセスできる([参考:Snowflake 接続](https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-programming-etl-connect-snowflake-home.html]))
– Snowflake上で以下を実施
– ロール作成
– ウェアハウスへのUSAGEアクセス権の付与
– データベースへのUSAGEアクセス権の付与
– スキーマへのアクセス権の付与
– テーブルへの権限の付与
– ユーザーの作成
– ユーザーへのロールの付与
– AWS Secrets Managerで、Snowf

元記事を表示

RDS 認証局証明書更新方法

## はじめに
業務でRDSの認証局証明書を`rds-ca-2019`から`rds-ca-rsa2048-g1`へ更新する作業を行いました。
備忘録として記事に残したいと思います。

## 概要
新規でデータベースを作成する場合、認証機関のデフォルト設定は`rds-ca-2019`となっています。
証明書の有効期限が切れるとSSL/TLS通信が行えなくなるため、
`rds-ca-2019`を使用しているデータベースは、期限までに証明書の更新が必要となります。

### ■利用可能な認証局の一覧
| 証明書 | プライベートキー
アルゴリズム | 署名アルゴリズム | 証明機関の期限 |
|:-:|:-:|:-:|:-:|
| rds-ca-2019 | RSA2048 | SHA256 | 2024/8/23 |
| rds-ca-rsa2048-g1 | RSA2048 | SHA256 | 2061/5/26 |
| rds-ca-rsa4096-g1 | RSA4096 | SHA384 | 2121/5/26 |
| rds-ca-ecc384-g1 | ECC384

元記事を表示

AWS GlueでSnowflakeと接続するために必要なこと

# はじめに

AWS GlueでSnowflakeと接続するために必要なことを確認したときの記録です。

# 前提

Snowflakeのアカウントを作成済みである必要があります。

# ゴール

AWS Glue StudioでSnowflakeに接続できるノードを作成できるようになることです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838636/52ff9d22-f5e5-b099-775c-2200f4bb814e.png)

# 必要なこと

– Snowflake上で以下を実施
– ロール作成
– ウェアハウスへのUSAGEアクセス権の付与
– データベースへのUSAGEアクセス権の付与
– スキーマへのアクセス権の付与
– テーブルへの権限の付与
– ユーザーの作成
– ユーザーへのロールの付与
– AWSで以下を実施

元記事を表示

AWS AppSync の実装フローを理解する

# AWS AppSync の実装フローを理解する

AWS AppSync はフルマネージドの GraphQL サーバです。

AppSync を使ったAPI実装のフローは独特なので AppSync 用の学習が必要です。
「AppSyncを採用した場合、実際どういう実装フローになるのかコードレベルで理解したい」という方が対象読者です。

実装フローに焦点を当てているので、AppSync 自体の特徴の説明などは省略します。

# 構造を理解する

AppSync のサービスそのものの構造は下記のような感じです。

“`
– API
– has a Schema
– has many Resolvers
– has many Datasources
– has many Functions
“`

– トップに API というリソースがあり、これは GraphQL のスキーマ定義と1対1で対応しています。
– 上記の中の Schema が GraphQL のスキーマ定義になります。
– スキーマには、複数のリゾルバーが紐づきます。
– GraphQL スキ

元記事を表示

【AWS】 CloudWatch上のMediaLiveのメトリクスをLambdaから取得する際に気をつけること

# 概要
この記事では、 `CloudWatch` 上の `Medialive` のメトリクスを取得する際に気をつけることについて言及しています。リファレンスが少ない、かつ引っ掛け問題のような感じで自分は丸一日費やしたのでその記録を残しておきます。

内容的には
– 「`CloudWatch` のメトリクスを `Lambda` で取得する際に気をつけること」
– 「`MediaLive` のメトリクスを取得する際に気をつけること」

が混ざっていますが、どちらも参考になれば、とても嬉しく思います。

# 前提
`MediaLive` で事前に配信を行い、 `CloudWatch`上で指定の `ChannelId` においてメトリクスが確認できることを前提としておきます。

# 実装
実装は `Lambda` で行います。
`Lambda` でなくても問題ないですが、 `Lambda` で行う場合の注意点をいくつか書いておきます。

:::note warn
**注意点①**
`Lambda` に設定している `Role` に対して、`”cloudwatch:GetMetricSta

元記事を表示

[AWS]Serverless Frameworkを使ってAPI Gateway×Lambda×DynamoDBを使用したWebAPIを構築する

## インフラ構成
WebAPIの作成に当たって今回使用するAWSの各サービスを簡単にまとめてみます。

・API Gateway
HTTPリクエストを受け付けて、他のAWSサービス(Lambda等)にルーティングする機能です。REST APIやWebSocket APIを簡単に作成できます。API Gatewayでは、リクエストのパスやクエリパラメータ、ヘッダー、ボディなどをLambda関数に渡すことができます。
https://aws.amazon.com/jp/api-gateway/

・Lambda
サーバレスコンピューティングのサービスです。コードをアップロードするだけで、イベントやトリガーに応じて自動的に実行されます。サーバの管理やスケーリングを気にする必要がありません。Lambdaは、Node.js、Python、Java、Go、Rubyなどの言語に対応しています
https://aws.amazon.com/jp/lambda/

・DynamoDB
DynamoDBは、NoSQLデータベースのサービスで、高速でスケーラブルなキーバリューストアやドキュメントストアを提

元記事を表示

【AWS】exec format errorはCodebuild Projectの「オペレーションシステム」に原因があった…

# 概要

ビルドプロジェクトを少し編集してからCodebuildを走らせたら以下のエラー。

“`
./script.sh: exec format error
“`

うむ?ビルドプロジェクトでそんな重要なところいじった記憶はないのに…
と言うことでこちらのエラーの原因がわかったので紹介します。

# 原因:「オペレーションシステム」の選択
今回編集したのは、以下にある環境変数。

“`
CodeBuild -> ビルドプロジェクト -> 該当プロジェクト -> 編集 -> 環境
““

そこで一つ思い出す。
以前は出てなかった気がしたのですが、「オペレーションシステム」に何も選ばない状態で更新をしようとすると、「オペレーションシステムを選択する必要があります」と言うエラーが出ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710373/973e282f-5805-e926-5f1f-50ae70cd4004.png)

(適当に)一番上のを選んでいたのです

元記事を表示

【メモ】AWSのサービス(分析)

|service name|AIの解説|
|:—-|:—-|
|Amazon OpenSearch Service|オープンソースの検索および分析エンジンであるOpenSearchをAWS上で提供するマネージドサービスです。高速なデータの検索、分析、視覚化に適しています。|
|Amazon Athena|サーバーレスなインタラクティブクエリサービスであり、S3に保存されたデータに対してSQLクエリを実行できます。データの分析や探索が目的です。|
|Amazon CloudSearch|マネージドサーチサービスであり、ウェブサイトやアプリケーション内でのデータ検索を提供します。構造化データやテキストデータの検索に使用されます。|
|Amazon DataZone (プレビュー)| データの保存や処理を行うための物理的な場所(ゾーン)を指定するサービスです。データのローカル性やコンプライアンス要件を満たすために使用されます。|
|Amazon EMR|ビッグデータの処理や分析に使用されるマネージドHadoopフレームワークです。スケーラビリティと柔軟性に優れており、Apache S

元記事を表示

AWS GlueでS3からSnowflakeにデータを連携する

# はじめに

SnowflakeではSnowpipeを使用してS3からテーブルにデータを取り込むような方法がありますが、AWS Glueを使用してS3からSnowflakeにデータを連携する方法を確認するために検証した内容を記します。

# 前提

検証の前提として以下を実施済みの状態にしています。

– GlueでS3にアクセスできる
– GlueへのIAMユーザー・IAMロールの設定
– Glueへのデフォルトサービス設定(S3へのアクセス権限を付与)
– GlueからSnowflakeにアクセスできる([参考:Snowflake 接続](https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-programming-etl-connect-snowflake-home.html]))
– Snowflake上で以下を実施
– ロール作成
– ウェアハウスへのUSAGEアクセス権の付与
– データベースへのUSAGEアクセス権の付与

元記事を表示

AWS CLF入門 – データベース編

## はじめに
AWS CLF (AWS Certified Cloud Practitioner) を取得した際の学習記録をアウトプットとして以下に記す。

## リンク
[ネットワーク](https://qiita.com/yashiuri/items/31b2c9c3c49c2584cd01)
[セキュリティ](https://qiita.com/yashiuri01/items/73e5310b09ff41912862)
[コンピューティング](https://qiita.com/yashiuri01/items/9eaf71a1590e7815f9ef)
[コンテナ](https://qiita.com/yashiuri01/items/708b57ee179ae29e72a9)
[スケーリング](https://qiita.com/yashiuri01/items/79050093aff66b0f0665)
[ストレージ](https://qiita.com/yashiuri01/items/6d48d81f5a1651dcc999)
[データベース](https://q

元記事を表示

LCEL (LangChain Expression Language)完全に理解した – Amazon Bedrock APIで始めるLLM超入門⑨

LCELからBedrockを呼び出してみます。

# LCELとは
LangChainでコンポーネントをchain(連続呼出)する共通のInterfaceおよびその記法です。
Interfaceは以下のページが分かり易かったですが、要は`Runnable`共通の関数を実装しているというのと、入出力の型はコンポーネント毎に異なる(chainを組む時に入出力の型を意識して合わせる必要がある)というのが理解のポイントかなと思いました。

https://python.langchain.com/docs/expression_language/interface

使い方は公式のクックブックがわりと分かりやすいです。

https://python.langchain.com/docs/expression_language/cookbook/

# LangChainの最新化

langchainとlangchain-communityを最新にします。安定バージョンになったという話を信じてバージョンを指定せずに入れてみます。
“`
pip install -U langchain lan

元記事を表示

AWS Lambda(Python)でSQS, ParameterStore, DynamoDBを処理してみた

# AWS Lambda(Python)でSQS, ParameterStore, DynamoDBを処理してみた
最近AWS上のサービスを使ったアプリ開発が増え、バッチなどの業務にLambda、SQSなどを使用したので備忘録として残そうと思います。
本番を想定した設定にはなっておりませんので、ご容赦ください。
Lambda関数で各サービスを使うチュートリアル的なものと思ってください。
今回は仕様的な部分に関してはほぼ記述しておりません、機会があれば別途投稿しようと思います。

## 実施したこと
* Lambda:関数の作成、下記のサービスとの統合
* SQS:キューの作成からメッセージを受信する設定
* ParameterStore:値のセット、Lambda関数で取得
– SDKで取得する方法
– Extensionsで取得する方法(+カスタムレイヤーの作り方)
* DyanamoDBの作成、操作

## Lambda:関数の作成、下記のサービスとの統合
・まずはLambdaの【関数の作成】から作成する
![image.png](https://qiita-image-s

元記事を表示

IAMユーザへのMFA認証設定手順

# はじめに
IAMユーザーへのMFAの設定方法について、自分用のメモを兼ねて記載しておきます。
※本記事は2024年2月時点での手順となります。
# 前提
・IAMユーザーが作成済みであること
・スマートフォンなどのデバイスにAuthenticatorのアプリがインストールされていること
※この手順ではMicrosoft社の「Authenticator」を使用しています。
# MFA認証の設定方法
AWSのマネジメントコンソールにログインし、検索窓で「IAM」と検索します。
「IAM」を押下し、ナビゲーションペインの「ユーザー」を押下し
ユーザーの一覧から対象のIAMユーザー名をクリックします。

「セキュリティ認証情報」タブを押下し、「多要素認証(MFA)」のフィールドの
「MFAデバイスの割り当て」を押下します。
スクリーンショット 2024-02-21 141530RustでのAWS Lambda開発完全ガイド

## 概要

この記事はRustでAWS Lambda開発を行うにあたっての全体プロセスのガイドです。RustでLambda関数を実装し、そのコードを実行するためのDockerコンテナイメージを作成します。次にそのイメージを自動でビルドしLambda関数を更新するCI/CDをCodePipelineで構築します。他に複数のLambda関数を一つのクレートで管理し、それらを一括でデプロイする方法についても解説します。

## なぜRustでLambdaを実装するのか?

まず、Rustは素晴らしいプログラミング言語です。静的型付けによってバグの少ないコードを書くことができます。またcargoという洗練されたパッケージマネージャにより、依存関係の解決やビルドを柔軟かつストレスレスに行うことができます。

Rustで処理を実装することで(他の言語と比較して)処理時間を短く、またメモリフットプリントを小さくすることができます。Lambdaは実行時間とメモリ割当量によって課金されるため、コスト面で非常に有利です。

参考:

https://zenn.dev/hinastory/article

元記事を表示

OACを使用してCloudFrontからS3にアクセスする

# はじめに

この記事のゴールは、CloudFrontのOACを用いてS3に接続し、S3のオブジェクトをCloudFront経由で配信することです。

# 全体の流れ

1. プライベートなS3バケット作成
2. 作成したS3バケットにオブジェクト追加
3. CloudFrontのディストリビューション作成(OAC設定)
4. S3バケットにCloudFrontのOACからのオブジェクト取得を許可するポリシー追加
5. CloudFrontのディストリビューションドメインからS3のオブジェクトにアクセスできることを確認

# 前提のお話

## OACとは

正式名称は「Origin Access Control」で、CloudFrontからS3へ接続する際に使用されるコンポーネントです。
OACが出る前は、「Origin Access Identity(OAI)」が使用されていましたが、このOAIではSSE-KMSで暗号化されたバケットには使用できないなどいくつかの制限がありました。
OACはそのようなOAIでは制限されていたことにも対応できるようになっており、AWS公式でもOAC

元記事を表示

AWS SES – カスタム MAIL FROM ドメイン ( Return Path ) の設定 / From アドレス / DMARC

# 1.カスタム MAIL FROM ドメイン

SESでこの設定をすることで、メールの Return-path を変えて、カスタムドメインにできるようだ

## SES > ID > ドメイン型のIDを作成、または選択 > カスタム MAIL FROM ドメイン

ここでは検証済みの `example.com` のドメイン型IDに対して操作するものとする

ここでは例として `xxx.example.com` をカスタムドメインに設定する

image

## DNSレコードの設定

「カスタム MAIL FROM ドメイン」を設定したら、次はドメインの設定が必要だ

ドメインをR53で管理している場合は、1ボタンでレコード追加ができる

image

  • OTHERカテゴリの最新記事