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

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

API Gateway でIAM認証を通してみた!Postman、AWS CDK

## きっかけ
とあるプロジェクトで使った別で作成された既存のAPIを実行するのにIAM認証が有効になっていたためIAMが必要だったのですが、これまでAPIキーでしか認証を通したことがなかったため実装するのに悪戦苦闘しました。
色々調べてうまく行ったのでここにまとめてみました。

## やりたいこと
1. CDKから作成しているラムダ関数から別で作成されたIAM認証を通してAPIを実行する
2. postmanからAPIの動作確認をしたいためpostmanでのIAM認証設定

## ラムダ関数の設定
### CDKでの権限設定
ラムダはこのように定義しました⇩
“`cdk/lib/lambda.ts
const lambda = new lambda.Function(
this,
`lambda-${props.envName}`,
{
runtime: Runtime.NODEJS_18_X,
handler: ‘index.handler’,
code: lambda.Code.fromAsset(‘lambda/’), // ラムダコ

元記事を表示

AWS DEA受験レポート

# 概要

[Data Engineer Associate(DEA)](https://aws.amazon.com/jp/certification/certified-data-engineer-associate/)は2024/04より一般に公開された新しいAWS認定です。

廃止となったData Analytics Specialty, Database Specialtyの範囲をカバーしているようです。

### 感想

まず自身の経験値ですが、DAS,DBSを取得済みでMLSは未取得です。業務でもビッグデータまわりの経験は皆無です。関連技術スタックについてもDAS受験時に知ったものがほとんどでした。

DAS,DBS,MLSの範囲から出題がある模様で、出題範囲がかなり広範です。
さらに機能を知っている程度では選択肢を絞り切れないような問題が多く、特にGlue,Redshift,Athena,EMR,Kinesis,StepFunctionsなどはBlackBeltだけでは不十分で公式ドキュメントも全編しっかり目を通しておく必要性を感じました。
SageMakerも詳細では

元記事を表示

【備忘】Amazon Redshiftの概要

# はじめに
##### ~AWS学習アウトプット第5弾~
AWS未経験者の私が学習したことをアウトプットし、将来的にはSAA合格を目指します。

今回は、**Amazon Redshift** の基本的な内容をまとめます。

# 目次
・Amazon Redshiftとは
・Redshiftの構成
・他AWSのデータベースとの違い
・クロスリージョンスナップショット
・Redshift Spectrum
・おわりに
・参考

# Amazon Redshiftとは
>**Amazon Redshift は、 クラウド内でのフルマネージド型、ペタバイト規模のデータウェアハウスサービス**です。Amazon Redshift Serverless を使用すると、プロビジョニングされたデータウェアハウスをすべて設定しなくても、データにアクセスして分析することができます。リソースは自動的にプロビジョニングされて、データウェアハウス容量はインテリジェントにスケーリングされ、要求が厳しく、予測不可能なワークロードであっても高速なパフォーマンスを実現します。データウェアハウスがアイドル状態のとき

元記事を表示

【AWS-SCS勉強用】S3のアクセスコントロールについてまとめてみる

5月中にAWS‐SCSを受験予定です。
練習問題を解く中で、S3の各アクセスコントロールの違いがいまいち自分の中で腹落ちしていないため整理してみようと思います。
※実務未経験のため、認識誤りなどあるかもしれませんがご了承ください。

## S3のアクセスコントロールの種類
S3に対するアクセスコントロールの種類は以下の4つ。

・ブロックパブリックアクセス
・アクセスコントロールリスト(ACL)
・バケットポリシー
・IAMポリシー

違いが分かりづらいと感じたのは「ACL」、「バケットポリシー」、「IAMポリシー」です。
以下にそれぞれの特徴をまとめてみます。

## 何に対しての設定か

| ACL | バケットポリシー | IAMポリシー |
| :————: | :————–: | :————————: |
| バケット
オブジェクト | バケット
(オブジェクト) | IAM ユーザ、IAMグループ、
IAMロ

元記事を表示

Amazon Redshiftにおいて外部テーブルのカラムにコメントを付与したい

## 背景
Amazon Redshift において、テーブルやカラムにコメントを設定することが可能です。

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_COMMENT.html

案件で Glue Data Catalog を利用するのですが、こちらにもカラムごとにコメントを設定する機能がありますね。
そこで、Redshiftでテーブル登録する際にDDLでまとめてコメント登録できるといいなと思っての検証です (まぁできないんですけどね)。

## Redshiftにおけるコメント可否まとめ
そもそもテーブルやViewの種類によってコメントできるものとできないものがあります。
結果としては下記のようになりました。

||テーブルに対するコメント|列に対するコメント|
|—-|—-|—-|
|実テーブル|○|○|
|実テーブルのView|○|○|
|外部テーブル|×|×|
|外部テーブルのView|○|×|

Glue Data Catalog に登録されるテーブルはRedshiftにとって外部テーブルとなるわ

元記事を表示

【初心者向け】Amazon EKSでcorednsノードを起動させる

# はじめに
 こんにちは。今までコンテナ関係の業務に携わったこともなければ、kubectlコマンドもほとんど実行したことがない「コンテナ初心者」でした。
 最近、コンテナサービスであるAmazon EKSを触る機会が増え、そこで、EKSを構築からEKSアドオンのcorednsノードを起動させる作業を何回も繰り返してきました。最初は、うまくノードが起動せず、環境を作るまでに時間がかかりましたが、回数をこなしていくうちに、スムーズに構築できるようになりました。
 個人的な備忘録に近いかもしれませんが、EKSでEKSアドオンのcorednsを起動するまでの手順や注意ポイントを記載いたします。

# 構成図
 今回の構成図は下図のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513710/b2b55f85-3c10-aef5-b822-173bab2982c8.png)
 踏み台はEKSへkubectlコマンドを実行するためのサーバです。もし、EKSのクラスターエンドポイン

元記事を表示

Amazon BedrockでCohere Commandのプロンプトの奥地に迫る

Amazon BedrockでCohereのCommand RとCommand R+が使えるようになりました。

https://aws.amazon.com/about-aws/whats-new/2024/04/cohere-command-r-r-plus-amazon-bedrock/

Amazon Bedrockでは`InvokeModel`という共通のAPIで、さまざまなモデルプロバイダーのモデルを利用することができます。

https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html

Cohere社は、Command R/R+を`Chat`というエンドポイントのAPIで提供しています。[^1]
Bedrockの場合のパラメーター仕様はドキュメントに記載があります。[^2]

[^1]: https://docs.cohere.com/docs/command-r-plus
[^2]: https://docs.aws.amazon.com/bedrock/lat

元記事を表示

html書いたのでS3+CloudFrontする

## はじめに

フロントエンドとしてAPI GatewayにPOSTリクエスト投げるhtml書いたのでS3に置いてCloudFrontからアクセスさせるようにする
ベタな構成だけどちょい引っ掛かったのでメモ

https://qiita.com/Pretzelisa/items/2797294929301867ac09

## 1. S3側でバケット作る

汎用バケットしか使ったことないけど、1桁ミリ秒のレイテンシを求めるときはディレクトリバケットを使うらしい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3458266/f0ef796a-e33a-e262-c436-b2087d100230.png)

ディレクトリバケットの場合、データは単一のアベイラビリティゾーン内で冗長。90日間リクエストが無い場合、非アクティブ状態になり、読み取りと書き込みができなくなる。アクセスリクエストをすると数分でアクティブな状態に戻る。

https://docs.aws.amazon.com/j

元記事を表示

Windows PCにdbt-Coreをインストールしてサンプルを実行する

## 本投稿について

dbt-CoreをローカルPCにインストールし、サンプルのdbt runをDBに対して実行するまでの過程を記載します。
ほぼ自分用メモなので分かりにくいか部分もあるかと思われます。
なお、クラウド版製品であるdbt-Cloudは扱いません。

### 今回構築する環境:
1. DB:AWS-RDS
2. ローカルPC:
– OS:Windows11
– エディタ・IDE:VS Code
– Python
– 仮想環境
– dbt-Core
– git
(簡単のため、gitはインストールするだけでリポジトリ連携は行なってない)

### 準備1. ローカル環境の整備

1. Pythonをインストールする
まだPythonをインストールしてなかったのでここからする必要があった。
インストール済みの場合はスキップ
2. 仮想環境を作成する
.venvにPythonの仮想環境を作成する
Windows上の場合VS Code上でPowershellを開いていると必要なコマン

元記事を表示

AWS DynamoDB入門

AWSのDynamoDBを業務で扱う機会が多いので、調べた事や、実際に触ってみた事を記事にまとめました。

## DynamoDBとは
フルマネージド型で、サーバーレスの NoSQL データベースサービス

**特徴**
・データの格納と取得に特化(高度な最適化)されている
・「値」とそれを取得するための「キー」だけを格納するというシンプルな機能を持った「Key-Valueストア」
・半構造化データをドキュメントとして保存する「ドキュメントデータベース」でもある
・1桁ミリ秒単位のレイテンシーを要求するアプリケーションにも対応
・大量のデータを速く検索できる

**プライマリキー**
・パーティションキーのみ
・パーティションキーとソートキーの組み合わせ
でデータが一意になるようにする。

**セカンダリーインデックス**
DynamoDBの仕様上、パーティションキーおよびソートキーにしか検索条件をかけられず、属性を検索条件にすることはできないので、プライマリキー以外の属性で、データに効率的にアクセスできるようにインデックスを貼る。

***1. ローカルセカンダリインデックス(LSI

元記事を表示

【AWS×Webアプリ】S3静的Webサイトホスティング(Terraform)

## 目的
・AWS上にS3バケットを作成し、静的Webサイトホスティング設定を行う。

## 前提条件
・Terraformを使用してAWS上にリソースを作成する。
・作成する内容は以下と同様

https://qiita.com/Haruki-N/items/68661c410bb4a143183a

## TFファイル
“`aws_s3.tf
resource “aws_s3_bucket” “WebBucket” {
bucket = “terraform-webbucket-${data.aws_caller_identity.self.account_id}”
}

resource “aws_s3_bucket_versioning” “versioning_WebBucket” {
bucket = aws_s3_bucket.WebBucket.id
versioning_configuration {
status = “Enabled”
}
}

resource “aws_s3_bucket_public_access_block” “

元記事を表示

aws アカウント作成 方法

# アカウントを作成しましょう。

awsを使用するためにはアカウントを作成する必要があります。

https://aws.amazon.com/jp/register-flow/
上記urlでアカウントを作成できます。

希望のメールアドレスで作成しちゃってください。
アカウント作成手順については上記url内で詳しく説明してくれています。
手順に従って作成してしまえば完璧です!

# 多要素認証(MFA)を設定しましょう。

作成したaws アカウントはメールアドレスとパスワードさえ分かっていれば誰でもログインできてしまうかなり危険な状態です。(アカウント詳細ページで手順の際に登録したクレジットカード情報がガッツリ表示されています。)
多要素認証を使用してアカウントのセキュリティを高めてあげてください。ここでは二段階認証ソフトウェアを使用した方法で登録します。

まずはあなたの携帯に
google-authenticatorアプリをインストールしてください。(私はgoogle-authenticatorを使用しただけです!ほかの二段階認証ソフトウェアでも可能です。)
https://

元記事を表示

e1sをご紹介:k9sに触発されたAWS ECS用CLIツール

AWS ECSをご利用の皆様、FargateでもEC2でも、`aws-cli`を駆使してリソースを管理するのは時に一苦労ですね。`k9s`がKubernetesにもたらした使い勝手の良さをECSにも提供することを目指し、`e1s`はあなたが待ち望んでいたツールになることでしょう。

## e1sとは何でしょうか?

https://github.com/keidarcy/e1s

`e1s`は、AWS ECSリソースを簡単に管理するために開発されたコマンドラインインターフェースツールです。KubernetesのCLIツールである[k9s](https://github.com/derailed/k9s)にインスピレーションを受け、AWS ECSの使用者に同等の利便性と効率をもたらすことを目指しています。
![](https://storage.googleapis.com/zenn-user-upload/e04a1aac2fce-20240419.png)
`e1s`を使えば、ターミナルから直接ECSのクラスタ、サービス、タスク、コンテナを簡単に管理できます。ターミナルベースのワ

元記事を表示

マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~GitLab-CI編~

## CI/CD環境構築記事まとめ
– [マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~準備編~ ](https://qiita.com/kkbase515/items/eba4eebbf7a645caa7c8)
– [マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~GitLab、GitLab-Runner編~ ](https://qiita.com/kkbase515/items/d2d70671ef999cc47b59)
– マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~GitLab-CI編~
– マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~SSL化編~ (準備中)

## config.tomlを編集
デフォルトではジョブを起動した際、GitLabプロジェクトをクローンして処理を実行するため、minecraftのデータパックがあるディレクトリを参照できません。また、RCONやプライベートIPアドレスなど色々と設定が足りないです。
なので、minecraftのデータパックをCI/CD運用するための設定

元記事を表示

マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~GitLab、GitLab-Runner編~

業務が忙しかったり、awsの資格を取っているうちに4か月が経ち、GitLabも今月で17が出そうですね。
ということで、GitLabとGitLab-Runnerを構築します。

## CI/CD環境構築記事まとめ
– [マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~準備編~ ](https://qiita.com/kkbase515/items/eba4eebbf7a645caa7c8)
– マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~GitLab、GitLab-Runner編~
– [マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~GitLab-CI編~ ](https://qiita.com/kkbase515/items/3d1a02e107f160cdc0ab)
– マイクラデータパック、リソースパック開発のCI/CD環境を構築 ~SSL化編~ (準備中)

## GitLabインストール

インストール方法は[公式ドキュメント](https://gitlab-docs.creationline.com/ee/ins

元記事を表示

[AWS CDK]aws_cloudfront.Distributionで設定されるOAIを削除する

CDKでCloudFrontのオリジンにS3を指定するとデフォルトのアクセス制御にはOAIが設定され、S3にOAIのバケットポリシーが追加されます。
OAIは既にレガシーであり、実際のアクセス制御にはより新しいOACを使うため、デフォルトで設定されるOAIを削除する方法を調べました。

### 結論
– CloudFront側
“`addPropertyOverride“`でOAIの設定を空にする。
“`typescript
const cfnDistribution = hogeDistribution.node.defaultChild as aws_cloudfront.CfnDistribution;
cfnDistribution.addPropertyOverride(
“DistributionConfig.Origins.0.S3OriginConfig.OriginAccessIdentity”,
“”
);
“`

– S3側
“`addPropertyDeletionOverride“`でS3のバケットポリシーからOAIに対応する箇所を削除する

元記事を表示

AWS Application Discovery Service で agent を使ったオンプレミス情報収集をやってみた

# はじめに

Application Discovery Service を利用すると、オンプレミス環境にあるサーバー情報を自動的に収集が出来ます。「サーバー一覧」「CPU, Memory, ストレージの情報」「CPU, Memory, ストレージ, ネットワークの利用率」「EC2 に移行するときのおすすめインスタンスタイプ」などを取得できるため、移行の時の判断材料にできます。

Application Discovery Service を使って情報収集をするときには、2 つの方法があります

– agent :
– オンプレミスのサーバーに agent をインストールして情報を収集
– 物理マシン、仮想マシン問わず情報を取得出来て便利
– agent をすべてのマシンにインストールする手間がある
– agentless :
– VMware vSphere で稼働している仮想マシンの情報を vCenter から情報を取得
– 専用の仮想アプライアンスを VMware 環境に構築することで、agent の導入が不要
– Hyper-V や KVM など、

元記事を表示

API Gateway + Lambda + ECR + Dockerでマイクロサービスを作成する

お仕事で、触れる機会がありそうなので、API Gateway + Lambda + ECRでDockerから簡単にAPIを作成するデモを作りました!
今まで手を付けてなった、terraformを使って構成を実装します!

開発環境 MAC: M2
Python 3.10

## 1. インストール

### Docker
[Dockerの公式からAppleSilicon用をインストール](https://docs.docker.com/desktop/install/mac-install/)

### Terraform
[Terraformの公式からbrewのチュートリアルでインストール](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)

使うコマンドはこの3つだけです!

“`
terraform validate
terraform plan
terraform apply
“`

## 2. terrraformの実装
teffaformのファイルは、HCLと

元記事を表示

Amazon Bedrockを試してみた

# 背景・目的
前回、[Amazon Bedrockを整理してみた](https://qiita.com/zumax/items/ad61c2ae4cb767aff05f)では、Amazon 生成AIサービスのBendrockについて、どのような特徴があるか整理しました。
今回は、セットアップから簡単に動作させてみたいと思います。

# まとめ
下記に特徴を整理します。

| 特徴 | 説明 |
|:–|:–|
|プレイグランド|・推論をアプリケーションで使用することを決定する前に、様々なモデルや設定で推論を実行するためにコンソールを提供
・下記が用意されている
 ・テキスト
 ・チャット
 ・画像|
|モデルの使用|モデルを使用するためには、最初にモデルアクセスが必要|

# 概要
## プレイグラウンド
[プレイグラウンド](https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/playgrounds.html)を元に整理します。

> Amazon Bedrock プレイグラウンドは、推論

元記事を表示

クラウドVMの価格比較

# 概要
クラウドのVMを使っていろいろやりたいが、特に個人で使いたい場合は毎月かかる費用が気になります。
ここではどれくらいの費用がかかるか各クラウドの価格サイトから計算してみました。

# 比較の前提
国内外のクラウドベンダーにより提供されていますので選択肢は多くありますが、管理やセキュリティにも関心がありますのでデジタル庁が[ガバメントクラウド](https://www.digital.go.jp/policies/gov_cloud)として認定した5事業者を対象にしたいと思います。
■ Amazon Web Services
■ Google Cloud
■ Microsoft Azure
■ Oracle Cloud Infrastructure
■ さくらのクラウド(※2025年度末までに全ての要件を満たす条件付

元記事を表示

OTHERカテゴリの最新記事