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

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

terraformについて

### そもそもterraformって何

AWS(Amazon Web Services)においてTerraformを使用すると、AWSの各種リソースをコードで管理し、プロビジョニングや変更を自動化できます。以下に、AWSでのTerraform利用について詳しく説明します。

1. AWSプロバイダの設定:
– AWS認証情報(アクセスキーとシークレットキー)をTerraformに設定
– 使用するAWSリージョンを指定
2. リソース定義(.tfファイル):
– Terraform用の構成ファイル(HCL言語またはJSON形式)で、AWSリソースを宣言的に記述
– 例:VPC、サブネット、セキュリティグループ、EC2インスタンス、RDSデータベースなど
3. terraform init:
– Terraformの初期化コマンド
– 必要なプロバイダプラグインのダウンロードと、バックエンドの初期化を実行
4. terraform plan:
– 現在の構成と、Terraformコードで定義された構成の差分を確認
– 実

元記事を表示

AmazonRekognitionで投稿画像の安全性をチェックする

# はじめに
先日、LLMへの入力プロンプトから事前に悪意のあるコンテンツや個人情報を含むコンテンツを検知・除去する手段として[Amazon Comprehendを紹介しました。](https://qiita.com/kanuazut/items/c3dbb6868732c9ce55e8)
詳細は記事を確認頂ければと思いますが、Amazon Comprehendでは日本語テキスト内の違法・暴力的な内容や個人情報を検知することがある程度可能という結果でした。

一方で、最近ではマルチモーダルなLLMがAWSをはじめとするクラウドサービスで利用可能になっており、LLMに対する画像の入力も増えてきています。
そこで本記事では、画像認識のAIサービスであるAmazon Rekognitionを利用して、画像内の暴力的・性的等の不適切コンテンツを検知する機能を試し、プロンプトから除去することができるか試してみます。

# Amazon Rekognitionとは
Amazon Rekognitionは、AWSの画像/ビデオ認識のサービスで機械学習の知識なしで高度な機能を利用できるサービス

元記事を表示

test1

“`
def build_subnet_tags(subnets):
return {subnet[‘cidr’]: {‘Name’: subnet[‘tags’][‘Name’]} for subnet in subnets}

vpc1_private_subnet_tags = build_subnet_tags([
subnet for subnet in VpcConfig.vpc1[‘subnets’] if subnet[‘type’] == ‘private’
])
vpc1_public_subnet_tags = build_subnet_tags([
subnet for subnet in VpcConfig.vpc1[‘subnets’] if subnet[‘type’] == ‘public’
])
“`

元記事を表示

EC2インスタンスに作業用ユーザーを追加

まずはユーザー追加。wheelグループに追加してsudo権限
“`
[prompt] $ su –
[prompt] # useradd username
[prompt] # usermod -G wheel username
“`
パスワード無しでsudo出来るように
visudoを編集
“`
[prompt] # visudo
%wheel ALL=(ALL) NOPASSWD: ALL
“`
追加ユーザーのsshキー作成
“`
[prompt] # su – username
[prompt] # ssh-keygen -t rsa
“`
公開鍵を調整
“`
[prompt] # cd .~/.ssh
[prompt] # cat id_rsa.pub >> authorized_keys
[prompt] # chmod 600 authorized_keys
“`

秘密鍵をローカルにダウンロード
“`
[prompt] # cd .~/.ssh
[prompt] less id_rsa
“`
ローカルから秘密鍵「id_rsa」を使用してs

元記事を表示

AWS Elastic IPの個数上限を引き上げる方法

## 概要

AWSのElastic IP取得上限数はリージョンごとに5個である。とある作業でElastic IPを6個取得する必要があったため、インフラエンジニアさんに相談し、個数上限を引き上げる方法を教わった。実際に体験してみたのでメモ的にまとめる。

## 方法

1. AWSマネジメントコンソールにて Service Quotasを開く。
1. サイドバーの「AWSのサービス」をクリックする。
1. AWSのサービスで`Amazon Elastic Compute Cloud`と入力し、検索する。
1. サービスクォータで`EC2-VPC Elastic IPs`と検索し、ヒットした「クォータの名称」をクリックする。

![CleanShot 2024-03-22 at 12.46.59.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/73265930-29d8-76a5-0ce9-cf7c1156d1f5.jpeg)

1. 「アカウントレベルでの引き上げをリクエスト」をク

元記事を表示

test

“`
vpc1 = TerraformAwsVpc(self, ‘Vpc1’,
cidr=vpc_config.vpc1[‘cidr’],
azs=[common_az_var.availability_zone], # 假设您要在一个可用区中创建所有子网
private_subnets=[subnet[‘cidr’] for subnet in vpc_config.vpc1[‘subnets’] if subnet[‘type’] == ‘private’],
public_subnets=[subnet[‘cidr’] for subnet in vpc_config.vpc1[‘subnets’] if subnet[‘type’] == ‘public’],

元記事を表示

Amazon Location Serviceプレースインデックス機能のAPIエンドポイントへリクエストをしてみた

## はじめに
今回はAmazon Location Serviceプレースインデックス機能の3つのエンドポイントへリクエストしてみました。
プレースインデックス作成の設定はあくまで今回の例です、実際に試す方は必要に応じて変更してください。

## Amazon Location Serviceプレースインデックス機能
ジオコーディング、逆ジオコーディング、地点の検索機能を扱うことができます。
– ジオコーディング
住所、POI などを検索し、座標データを取得できます。
– 逆ジオコーディング
座標を入力し、その位置に関するメタデータを受け取ることができます。
– サジェスト検索
住所や地名に含まれる文字列で検索し、候補を返すことができます。

## 作成手順
Amazon Location Serviceの画面から「プレースインデックス作成」ボタンを押します。
入力フォームから以下の内容を入力します。今回権限関連はAPIキーを作成して使用します。

![スクリーンショット 2024-03-15 143310.png](https://qiita-image-store.s3.ap-

元記事を表示

AWS勉強備忘録18 – S3のバージョニング、ライフサイクルポリシー

# AWS S3で過去のバージョンを復元する2つの方法

AWS S3のバージョニング機能を使うと、ファイルの過去のバージョンを保持し、必要に応じてそれらを復元することができます。誤ってファイルを上書きしたり、削除したりした場合でも安心です。ここでは、AWS S3で過去のバージョンを復元する2つの主な方法について説明します。

## 方法1: 過去のバージョンを新たなバージョンとしてコピーする

この方法では、復元したい過去のバージョンを現在のバージョンとして設定することにより、ファイルを復元します。

手順は以下の通りです(現行のバージョンをバージョンnとします):

1. **バージョンIDの確認**: 復元したいバージョンのファイルを特定し、そのバージョンIDを確認します。
2. **コピー操作**: 特定した過去のバージョンを同じバケット内の同じオブジェクト名でコピーします。この操作により、選択したバージョンが最新のバージョンとして設定されます。

このプロセスにより、バージョンn-k(kはnより小さい自然数)の内容がバージョンn+1として新たに保存され、これが最新バージョンと

元記事を表示

【合格体験記】AWS Certified Solutions Architect – Professionalに合格しました(2024/03/16)【SAP-C02】

# 目次
[#1.はじめに](#1はじめに)
[#2.筆者のスペック](#2筆者のスペック)
[#3.学習内容](#3学習内容)
[#4.学習期間](#4学習期間)
[#5.試験当日](#5試験当日)
[#6.あとがき](#6あとがき)

# 1.はじめに

題名の通り、AWS Certified Solutions Architect – Professionalに合格しました。

IAM Identity Centerで作ったユーザーにAWS CLIからアクセスする方法

# 手順

– セッションを立ち上げる
“` sh
$ aws configure sso
“`
aws access portal(IAM Identity Centerで作ったユーザーのログイン画面)に行けば、実行後の入力すべき値が確認可能。それに従って、入力していく。

– 認証が終われば、プロファイル名を登録しておく

“`sh
CLI profile name [{プロファイル名}]:
“`
出てきたプロファイル名を登録する。

“`sh
export AWS_PROFILE={プロファイル名}
“`
これだけ。あとはコマンド叩く。

# IAM Identity Centerの良さ

IAM Identity Centerで作ったIAMユーザーにcliからアクセスすると、そのタイミングでアクセスキーが発行される。「セッションが切れる or 一定の時間が経つ」とそのアクセスキーは自動で廃棄される。
普通のIAMで作ったユーザーにアクセスするのと違い、超短期的なアクセスキーの運用により、セキュリティを高められる。

元記事を表示

Cloud 9で色々起動しちゃうシリーズ jupyterlab

“`bash
mkdir jupyter-lab
cd $_
“`

“`bash
python3 -m venv .venv
source .venv/bin/activate
“`

“`bash
pip install jupyterlab
“`

“`bash
jupyter lab –port 8080 –ServerApp.allow_remote_access True
“`

プレビューさせても、Cloud 9のIDE内だとエラー表示になるので、新規タブで開きましょう。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/afa3ee6a-66f8-f118-0872-4c4562a98e76.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/da53745d-6a36-270e-bef0-677470ae50cf.png)

元記事を表示

AWS|同じメールアドレスで複数のIAMユーザーを作る方法

# AWS|同じメールアドレスで複数のIAMユーザーを作る方法

“`
user@hogehoge.com
“`
これを

“`
user+[好きな文字]@hogehoge.com
“`
とするだけで、別のメールアドレスとして認識され、user+[好きな文字].hogehoge.comのメールは全てuser@hogehoge.comに届く。

元記事を表示

AWS入門 IAM Identity Center

# 初めに
自分のAWSの勉強ノート。汚いです。

# 用語説明
– AWSアカウント
– AWSのアカウントを作って最初に作成されるアカウント。rootユーザーのこと。なんでもできる。
– IAMユーザー
– 特定の権限を与えられたユーザー。rootユーザーと比べてできることが制限されたもの。
– IAMグループ
– IAMユーザーをグループ化したもの。
– IAMロール
– 制限された権限。IAMユーザーや、IAMグループに付与できる。
– IAM Identity Center
– AWSアカウントが複数ある場合に、IAMユーザー、IAMロールを管理するためのもの。

# IAM Identity Centerと各アカウント、ユーザーの関係

以下の図のようなイメージ?
アカウントにもrootアカウントと子アカウントがあり、ユーザーにもrootユーザーと子ユーザーがあるってことか。

IAM Identity Cneterを使えば、子ユーザーから子ユーザーへのスイッチが楽にできるって話ってことか。

![image.png](https:/

元記事を表示

教育ママがAWSを使い倒して、英語絵本朗読サイトを作りました(ほぼ無料)

# 最初に
 1歳児を育児中のエンジニアです。もうすぐエンジニア歴7年目に突入しそうです。
年齢のせいか、現場でコードを書くことがなくなりつつあります。諸事情あって数年間ずっと資格勉強ばかりしていたのですが、いい加減資格だけのハリボテエンジニアなのが恥ずかしくなってきました。せっかくAWS SAPをとったので、その知見を活かしたサービスをなるべく早く、なるべく安く作ってみました。その記録になります。

# 要件定義
 家庭教育の一環として「おうち英語」を実施中です。英語環境を家庭で作り、0歳時のころから英語に慣れ親しむことで、ハリーポッターを原書で読める小学生を目指します。昔、自分がTOEIC900を目指して地道に頑張っていたころ、留学経験がないのに英語がペラペラな同僚がいました。コツを聞いたところ「小学生の時におばあちゃんがハリーポッターの原書を読み聞かせしてくれたんだ」と返ってきて、英語は本人の努力云々ではなく親ガチャであったことに衝撃を受けました。よって、子供ができたら絶対におうち英語をやると決めていたのです。

 まず英語の絵本を調達しました。が、親の私は純正日本人ゆえ英語の

元記事を表示

AWS SAM: 役割と機能をざっくりまとめてみた

こんにちは!Xyeerです
今日は、SAMの役割と機能について説明します。

## 経緯
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3749163/d52c05cc-4442-a7af-270d-dea05d3673fc.png)

現在、上記のようなシステムを使っています。
Lambdaには、[Amazon Elastic Container Registry](https://aws.amazon.com/jp/ecr/)経由でアップロードしています。

**問題点**
・Lambdaにアップロードするまで、システムが問題なく動くかわからない。
・何度もソースコード修正するのに、毎回アップロードして確認するのが手間である。
### →ローカル環境で、Lambdaを使えるようにしたい

そんな思いで色々と調べていたら、サーバレスアプリケーションを簡単に定義、デプロイ、管理できるフレームワークであるSAMに出会いました。

## そもそも AWS SAMって何?
イベント駆動型のサー

元記事を表示

SwiftでAmazon S3のモックを用意して自動テストを実装する

# 概要
AWS SDK for Swiftに[Testing and debugging](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/using-testing-debugging.html)というセクションがあり、モックを使用した自動テストの方法が記載されています。
また、上記のドキュメント内で紹介されているコードは[Github](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift/example_code/swift-sdk/mocking)上に公開されているので、こちらを確認するとより理解が深まります。

上記のコンテンツを参考にしてモックを使ったテストを実装したのでその方法についてメモを兼ねて記述します。

# 詳細

モックを用意して自動テストを実装する際の基本的な流れは以下の通りです。

**1. Protocolを作成し、Protocol内でモックを作成したい関数を指定する
2. 1で作成したProtoco

元記事を表示

AWS AppFlow 接続先情報を変更するために「フローを編集」をクリックするとエラーが出る

## 概要

AppFlowの接続先の認証情報が代わった。送信元接続の情報を変えようとフローの詳細画面からアクションを開き「フローを編集」をクリックしたらエラーが出たので自分の場合の解決方法を簡単にメモする。

## エラー内容

“`
Error while communicating to connector: HttpClient error executing/parsing response given request object due to 接続先の情報
“`

## 解消方法

そもそも、送信元接続の情報変更は、フローの編集画面からではなく、フローの詳細画面の「送信元接続」の下にある「別の接続を選択」をクリックして変更すれば良い。
接続が確立されている、「送信元接続」を選択できれば、「フローを編集」をクリックしてもエラーにならない。

元記事を表示

AWS勉強備忘録17 – UL/DLの方法、 S3のアクセス管理と改ざん防止機能

# UL/DLの方法について

| 方法 | 説明 | 適用シナリオ | メリット | デメリット |
|———————–|————————————-

元記事を表示

SalesforceのApexでREST APIを使用してS3に署名バージョン4でアクセスする方法

SalesforceのApexを使用して、REST APIでAmazon S3に署名バージョン4を使用してアクセスする方法の日本語記事があまりなかったので、メモとして残しておく。

# 前提条件
– AWSアカウントを所有しており、IAMユーザーを作成し、アクセスキーとシークレットキーを取得していること
– S3バケットのアクセス権やSalesforceの設定が適切にされていること

# 実装
以下の公式ドキュメントの手順にしたがって実装。詳細は以下を参照。
[署名付き AWS API リクエストを作成する](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/create-signed-request.html)

:::note warn
`secret, secretKey, region`はクラス変数等で定義しておく
:::

## 手順1: 正規リクエストを作成する
“` Apex
private String generateCanonicalRequest(String method, String filena

元記事を表示

OTHERカテゴリの最新記事