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

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

terraform aws-vpc作成

# 最初に

terraformを業務で使用することになりました。
そのため勉強したことをまとめています。

# terraformでaws-vpc作成
※リソース名等を意味のないものに変更しています。

main.tf

“`
# プロバイダーとプロファイルの指定
provider “aws” {
shared_credentials_files = [“~/.aws/credentials”]
region = “ap-northeast-1”
profile = “profile-name”
}
# tfstateファイル格納先の指定
# バケットは事前に作成する必要あり。
terraform {
backend “s3” {
bucket = “s3-bucket”
key = “tfstateファイル格納先指定”
encrypt = true
region = “ap-northeast-1”
profile = “profile-nam

元記事を表示

異なる組織間でのEventbridgeの連携方法

## はじめに
これは簡単な備忘録になります。
今回の記事の内容についてはA組織のXアカウントに対してB組織のYアカウントのイベントブリッジを連携させる場合のIAMロール、イベントベースのポリシーの設定内容です。

## 送信側(Yアカウント)での準備
### 1.Eventbridge用のIAMロールの作成
“`JSON
{
“EventBridgePutEventsRole”: {
“Type”: “AWS::IAM::Role”,
“Properties”: {
“RoleName”: “EventBridgePutEventsRole”,
“AssumeRolePolicyDocument”: {
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Principal”: {
“Service”: “events.amazonaws.

元記事を表示

boto3でECSのExecute Commandを使ってローカルとコンテナでファイルをコピーする

# 概要

ECSのExecute Commandはものすごく便利で、コンテナ内に入ってデバッグする際には重宝します。そこで、ファイルのコピーがしたいなぁと思うこともあります。
それほど大きくないテキストファイル(例えばPEM公開鍵とか)ならコピペでもいいですが、ちょっと大きめのファイル(設定ファイルなど)とかバイナリファイルだと少し面倒です。

そういったことを実現するためにboto3を使ってセッションを開いて、セッション経由でいろいろ試してみましたのでメモしておきます。ここではファイルのコピーにフォーカスしていますが、セッションWebSocketでの通信についてもまとめてありますので、boto3を使ったオートメーションにも応用できると思います。通信仕様に関する公式なドキュメントが見つけられなかったので、仕様通りの動作ではないかもしれませんが、ファイルコピーに関しては一応動作しました。

ここではFargateのコンテナに対して行いました。コンテナへの接続設定は完了している前提で、設定方法は扱いませんので、以下のページなどを参考にして下さい。

– [[DevelopersIO] 実

元記事を表示

AWS IAM Access Analyzerメモ

AWS IAM Access Analyzerは、AWS Identity and Access Management(IAM)が提供するセキュリティツールで、AWS環境内のアクセス許可に関するリスクや潜在的な問題を可視化するためのものです。特に、外部や他のAWSアカウントからのアクセスが許可されているリソースを検出し、不適切な公開設定やアクセス許可を管理するのに役立ちます。

### AWS IAM Access Analyzerの主な機能
1. **外部アクセスの検出**: アクセスアナライザーは、S3バケット、IAMロール、KMSキー、Lambda関数、SQSキューなどが外部からアクセス可能になっているかを自動的に分析します。
2. **アクセスパスの分析**: すべてのリソースに対するポリシー(リソースベースポリシー)を調べ、予期しない公開設定や潜在的なセキュリティリスクを特定します。
3. **リアルタイムモニタリング**: リソースのアクセス許可が変更されると、自動的に新しい分析が実行されるため、常に最新のセキュリティ状況を把握できます。
4. **詳細なフィードバックと修

元記事を表示

AWS STS (Security Token Service)メモ

AWS STS (Security Token Service) は、AWS(Amazon Web Services)が提供する一時的な権限付きの認証情報を生成するサービスです。このサービスを使用することで、長期的な認証情報を作成せずに、安全にAWSリソースへの一時的なアクセスを許可できます。

### AWS STSの主な特徴
1. **一時的な認証情報**: STSは、アクセスキーID、シークレットアクセスキー、セッショントークンなどを含む短期間のトークンを提供します。これらは最長12時間で期限切れになります。
2. **ロールベースのアクセス**: STSを使用してIAMロールを引き受けることができ、認証情報を直接共有せずにAWSリソースに安全にアクセスできます。
3. **フェデレーション**: STSはIDフェデレーションをサポートしており、外部IDプロバイダー(例: 企業のディレクトリやソーシャルメディアアカウント)からのユーザーがAWSサービスにアクセスできるようにします。
4. **クロスアカウントアクセス**: STSは複数のAWSアカウント間でのセキュアなアクセス(

元記事を表示

LLM監視の定番OSS、LangfuseをAWS App Runnerにデプロイしてみよう!

# Langfuseとは?

生成AIアプリケーションのトレース監視やプロンプト管理など、開発・運用に便利な機能を多数備えたGUIソフトウェアです。

この分野ではLangChain社のLangSmithが有名ですが、SaaSのため本格利用するにはサブスク契約して課金する必要があります。

これに対して、Langfuseはこれと似たような機能を持つOSSとして公開されているため、自分でクラウドなどへデプロイすればライセンス費用なしにLLMアプリ監視サーバーを利用することができます。

https://langfuse.com/docs/deployment/self-host

AWSの場合、コンテナイメージさえあればアプリをマネージドにデプロイ・運用できるApp Runnerという便利サービスがあるので、これを使ってLangfuseを構築してみようというのが今回の記事です。

![スクリーンショット

元記事を表示

初めてのAWS CloudHSMのM of N アクセス制御 #AWS #SAP

# AWS CloudHSMのM of N アクセス制御についてわかりやすく解説
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806193/04cfad58-0fbe-2c11-bdde-26abc5a8560b.png)

今回は、AWS CloudHSMの「M of Nアクセス制御」について、初心者の方にもわかりやすく説明します。
SAPで時々出題されるのですが、KMSとの違いいまいちよくわからず、、、。ということでまとめてみました!

## ◆一言要約
::: note info
AWS CloudHSMの「M of Nアクセス制御」は、複数人が共同で承認しないと重要な操作ができない仕組みです。例えば、4人のうち2人以上の承認がないと設定変更できないようにすることで、セキュリティを強化します。
:::

公式ドキュメントだと…
https://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-authent

元記事を表示

【AWS】NATゲートウェイについて勉強する

# はじめに

本記事ではインフラ初学者がVPCを触りつつ、NATゲートウェイについて学んでいく内容になります。

既存の環境として、以下のような構成があります。
![sampe.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3857754/12b46a20-0484-bd95-8ace-37267740e5e1.png)

上記構成を元に、色々リソースを付け加えていく形で勉強を進めていけたらと思います。

# 目次

1. NATゲートウェイとは?
2. NATゲートウェイを構築する
3. NATゲートウェイを通じた疎通確認をする
4. まとめ
5. 参考文献


# NATゲートウェイとは?
NATゲートウェイとは、プライベートサブネット内のインスタンスがVPC外部ネットワークへ接続するために必要なサービスです。

現状の構成では、プライベートサブネット内にあるEC2(DBサーバー)はインター

元記事を表示

CloudFrontを使用してS3オリジンへのアクセスで403エラーが発生する原因を調べた

# 403とは
Webサイトの閲覧禁止を意味するコード

# 考えられる原因
### オブジェクトの公開設定
S3バケット内のオブジェクトが「パブリックにアクセス可能」となっているか確認してください。オブジェクトが非公開の場合、CloudFront経由でのアクセスが制限される可能性があります。

### AWS KMSによる暗号化
S3のオブジェクトがAWS Key Management Service (KMS) で暗号化されていないことを確認してください。KMSで暗号化されたオブジェクトにはCloudFrontからアクセスできません。

### S3バケットポリシー
S3バケットポリシーで”s3:GetObject”のアクセス許可が設定されているか確認してください。特にCloudFrontのオリジンアクセスアイデンティティ(OAI)またはオリジンアクセスコントロール(OAC)が使用されている場合、それらが適切に許可されている必要があります。

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”

元記事を表示

LaravelとS3の接続テストを行うコマンドを作る

## 1. 事前準備

### 1.1 S3バケットの作成
1. AWS Management Consoleにログイン
2. Amazon S3にアクセス
3. 「バケットを作成」を選択
4. リージョン(ap-northeast-1)とバケット名(任意だがグローバルで一意であるもの)を設定、他はデフォルトで一旦OK

### 1.2 IAMポリシーの作成
1. 「ポリシーの作成」を選択
2. 以下のポリシーを作成(名前: S3BucketCRUDPolicy)※ポリシー名は任意

“`json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“s3:ListBucket”,
“s3:GetBucketLocation”,
“s3:PutObject”,
“s3:GetObje

元記事を表示

[Amazon Web Services]クロスアカウントロールで複数のLambdaランタイムを一括更新

Python3.9のサポート期限が迫り、Lambdaランタイムを更新する必要があります。
自分の環境では複数のAWSアカウントを所有しており、マネジメントコンソールによる各Lambdaランタイムの更新は非常に手間がかかると感じました。

そこで今回は、IAMRole,Lambda,StepFunctios,という要素を使い、
クロスアカウントロールで複数のLambdaランタイムを一括更新してみました。

## システム構成図
今回のシステム構成図は以下になります。
基本は下記記事を参考にさせていただいており、IAM権限設定やlambdaRunTimeUpdate関数処理内容をカスタマイズし、クロスアカウントでのLambdaランタイム更新をしていきます。
https://qiita.com/hirosys-biz/items/58465b5221e3e60b576a

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3822026/f7788470-a24e-e299-c974-8fbb66

元記事を表示

AWS IoT CoreのMQTTテストクライアントに対して、Windowsのコマンドプロンプトからメッセージをパブリッシュする

#AWS CLIを使う方法
“`
aws –region us-east-1 iot-data publish –topic “YOUR_TOPIC” –cli-binary-format raw-in-base64-out –payload “{\”key\”: \”value\”}”
“`

のChap1 step5に書いてあった。

“`
aws configure
“`

“`
aws iot describe-endpoint –endpoint-type iot:Data-ATS
“`
でhome regionに設定してあれば–regionの記載も不要です。
“`
aws iot-data publish –topic “YOUR_TOPIC” –cli-binary-format raw-in-base64-out –payload “{\”key

元記事を表示

AWS AI Day ハッカソンの優勝作品が素晴らしかったので、模倣してみました

10/31に、AWS主催のイベント「AWS AI Day」が開催されました。

https://aws.amazon.com/jp/events/ai-day/

:::note
すごくおしゃれなホテルで開催されました!
:::

このイベントの最後に、ハッカソンの決勝戦があり、DNPさんのチームが優勝されました。

https://prtimes.jp/main/html/rd/p/000000715.000069194.html

デモ動画