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

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

AWSのEC2インスタンスでKubernetesを作ってみる

# 概要

AWSのEC2インスタンスで、kubeadmとAnsible Playbookを使ってKubernetesを作ってみたので、手順を本記事にまとめます。

# 本記事の対象者

* マネージドなKubernetesサービス(EKS,AKS,GKE等)以外でK8sを作ってみたい
* KubernetesをMinikubeやkindではなく、物理マシンでcontrol planeとworker nodeで分けて自力で作ってみたい
* しかしながら自宅にKubernetesの構築を手軽に試せるような物理マシンがない

# Kubernetes全般の環境情報

* OS : Ubuntu 22.04
* コンテナランタイム : containerd
* Kubernetesのバージョンは以下

“`
$ kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.5

$ kubelet –version

元記事を表示

AssumeRoleについて

# はじめに
こんにちは、@72_mikanです。
AssumeRoleを使う機会があり、最初かなりとっつきにくいイメージがあったためアウトプット目的でAssumeRoleについてまとめていきます。

# 目次
– IAM – Identtity and Access Manegement について
– AssumeRoleについて
– AssumeRoleの使い方
– 最後に

# IAM – Identtity and Access Manegement について
AssumeRoleを使う前にIAMについてまとめていきたいと思います。
IAM(Identtity and Access Manegement)はAWSリソースのアクセスを安全に管理するためのサービスのことで、ユーザーがAWSリソースへのアクセス制限の権限を一元管理することができます。
具体的にはIAMユーザー、IAMグループ、IAMロールがあり、これらには最初作成された時点では何の権限も持っていない状態になります。つまり、AWSリソースを使えない状態になります。

![iam1.png](https://qiita-

元記事を表示

Amazon Managed Grafanaのダッシュボードのエクスポートとインポート

こんにちは。Kaneyasuです。

以前、GrafanaのHTTP APIでデータソースの設定をするやり方を書きました。

https://qiita.com/satoshi256kbyte/items/ac655ab6b64058769620

これを利用したらダッシュボードの作成も自動化できるんじゃないか?と当時思ったのですが、
ダッシュボードの方はエクスポート・インポートの方が圧倒的に楽ということがわかったので書いておきます。

Amazon Managed Grafanaはv9.4で確認しています。

# GrafanaのHTTP APIでは細かいところまで設定できない

まずは、ダッシュボードのHTTP APIを確認します。

https://grafana.com/docs/grafana/latest/developers/http_api/dashboard/

現状では単純にダッシュボードの作成までしかできないようです。
ダッシュボードは作成して、パネルの設置などをするのが本番なので一旦HTTP APIは置いとくとします。

# ダッシュボードのエクスポート

ht

元記事を表示

AWS Cloud9 + VSCodeで開発するまでの環境構築

# 概要
Cloud9で立ち上げた環境にVSCodeから繋ぎに行けると、VSCode側での拡張機能でLintingとかFormattingがバカバカ撃てて快適なので使いたかった。
結局無料枠のt2.microが弱すぎたので、ローカルで開発してCodeCommitにPushするかたちに落ち着いたが、手順自体はまとめたので共有。
## 用意するもの
### WindowsのPC
Mac、Linuxについては解説していません。
試してないけど大体同じで行けそうな気はしてます。気だけしてます。(無責任)
### Visual Studio Code
これいらないなら別のページ行ってください。
VSCodeの拡張機能が絡んでくる関係で、そのあたりの解説が参考にならないです。
拡張機能以外のところを参考にしたい場合は見ていっていただければと。
### AWS IAMユーザのアクセスキー
管理権限持ちの人に作ってもらってください。作り方についてはここでは解説しません。
### AWS CLI / AWS Command Line Interface
[AWS コマンドラインインターフェイス配布ページ

元記事を表示

TerraformでAWS ChatBotとSlackを連携させる手順

# はじめに
TerraformでAWS ChatBotを作成し、Slackと連携させるための手順をまとめる。

# テスト用のチャンネルを作成

Slackからテスト用のチャンネルを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703223/845328c4-ccf4-be49-8954-6be4ae57a2d0.png)

chatbot-testという名前にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703223/3bfd8814-d960-aa2d-ecf1-073f87eb0637.png)

今回はパブリックチャンネルにしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703223/5c0dbbbd-c5df-8917-8722-0c4

元記事を表示

そのエラー、予約語ですよ。

こんにちは。
開発するにあたってエラーが出て悩む瞬間が多々あるとは思います。
私は今回そのエラー内容で無駄に悩んでしまったため、備忘録としてブログに残しておきます。

## ■やろうとしたこと
CloudFormation でSSMパラメータを定義する

### ■エラーとなったymlファイル

“`
AWSTemplateFormatVersion: ‘2010-09-09’
Resources:
TestHogeHoge:
Type: AWS::SSM::Parameter
Properties:
Type: String
Description: “TestHogeHoge”
Value: “sasaki-test”
Name: “aws”

Outputs:
TestHogeHoge:
Value: !Ref TestHogeHoge
“`

### ■エラー文言

“`
Parameter name: can’t be prefixed with “aws” or “ssm” (case-i

元記事を表示

新年なのでLLMとのチャットアプリをイチから作ってみた①

新年なので(?)、いちからLLMチャットアプリを作りたくなりました。

漠然とこんな条件で検討を始めました。

* LLMはもちろん、Bedrockを使う
* AWSのサーバーレスなサービスだけを使用する(固定費がほぼかからない構成)

いちからと言っても、いい感じのものがないか探したところ、[Skeleton](https://www.skeleton.dev/)にチャットのコンポーネントが用意されていることを知りました。

* https://www.skeleton.dev/elements/chat
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/111896d5-eb60-9507-92d1-5025c9b4bfd0.png)

https://www.skeleton.dev/

これを使ってチャレンジしました。

:::note
SvelteもSvelteKitもTailwindもほぼ未経験デス。。
:::

## 目次

長くなりそうなので3回に分けて投稿予定です。

元記事を表示

SAP on AWS – Specialty

## SAP サービス

### SAP Selective Data Transition (SDT)
SDT(Selective Data Transition)は、移行工程そのものを「初期移行」と「差分データ移行」に分割することにより、移行ボリュームの調整が可能です。
すなわち、任意のデータを自由にS/4HANAへ移行することが可能となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160072/b2ce47ff-be17-1724-aa6e-627936f9bfab.png)

### SAP Data Management and Landscape Transformation
– データ移行サービス – Transition into the Intelligent Enterprise
– データマネジメントサービス – Data Management
– システムランドスケープオプティマイゼーションサービス – System Landscape Optimiza

元記事を表示

infolinkの技術構成

# アプリケーション側

Djangoを使ってます。

requirements.txtはこんな感じ

“`python
bleach==5.0.1 サニタイザーです。styleやタグや属性を区別するのに使う。 非推奨らしいです。githubに載ってました。どうしよう
beautifulsoup4==4.12.2 一部のclassを許可するため
Django==4.2.4
django-allauth==0.55.2 認証
django-ckeditor-5==0.2.10 djangoでckeditor5を簡単に使える。カスタマイズされたのを使いたい場合は自分でインストール
django-ipware==6.0.0 get_cliant_ip(request)みたいな感じで簡単にipをとれる。ログを保存しないといけないので使ってます。
django-widget-tweaks==1.5.0 {{form.password|add_class:”bg-gray-50 …”}}みたいな感じでallauthのテンプレートをカスタマイズしてます。
django-environ==0.

元記事を表示

AWS で MACを使ってみた

## はじめに
MACを使用して検証をしようとしたところ、久々に触ってみたところ、電源がつかない、、、

→修理を待たずに今すぐ検証をしたい

 →AWSでMACを使ってみよう

という流れで今回 Mac on AWSを使用してみたのでフィードバック

## つまずいたところ

DedicatedHosts 占有ホストが必要
→正直、今まで触る機会がなかった、、、

## 実際に構築
### 占有ホストの用意

EC2のインスタンスの中にDedicated hostsがあるのでクリック

Dedicated Hostsを割り当て をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3529251/e7d4af76-45c

元記事を表示

【AWS】Lambdaで署名付きURLを作成する実装例【署名付きURL】

## はじめに
以前APIGatewayとLambdaの連携についての記事を投稿しましたが、この構成の使用例として、Lambda関数でのS3ファイルの署名付きURLを生成して返す実装について投稿します。

[APIGateWayとLambdaの連携についての記事]
https://qiita.com/Nana_777/items/0ce03f59045aa04401bc

## 署名付きURLを利用するメリット
### 一時的なアクセス制御
署名付きURLは有効期限を持ち、期限が切れるとアクセスが拒否されます。これにより、一時的にアクセスが必要な場合に、不要にアクセス権を与え続けることを避けることができます。

### 簡単なアクセス管理
署名付きURLを使用することで、AWS Identity and Access Management (IAM) ポリシーの設定が簡略化されます。特定のS3オブジェクトに対するアクセス許可を一時的に発行でき、必要がなくなれば署名付きURLを無効にできます。

### 安全なデータ転送
署名付きURLはHTTPSプロトコルを使用して生成され、データの転

元記事を表示

RustのAWS SDKがGAになったので早速触ってみる!

2023/11にAWS SDK for Rustの一般提供が開始されたようでした!

– [AWS SDK for Rust の一般提供を開始](https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-sdk-rust/)
– [[速報] AWS SDK for RustがGAになりました! #AWSreInvent](https://dev.classmethod.jp/articles/aws-sdk-for-rust-ga/)

最近はRustしか触っておらず、CLIツールやWebAPIなどで今後S3をRustから利用することもあろうと思い、ちょっとだけ触ってみました!

## まずは情報を眺めてみる

さすがAWS!という感じで、情報はそれなりに豊富にあるようでした!

– 基礎的な情報
– [Rust用AWS SDK](https://aws.amazon.com/jp/sdk-for-rust/?pg=devrust)
– [APIリファレンス](https://awslabs.github.io/

元記事を表示

2023年の振り返り(KPT)と今年の目標

@Esperna です。明けましておめでとうございます。
遅くなりましたが昨年の振り返りと今年の目標を。
昨年は様々なライフイベントや天候等に翻弄され続けた一年でした。
自分でコントロール不能なものが多過ぎた割には総じてよくやったと言える一年でした。
昨年の振り返り(KPT)と今年の目標を書きます。

# Keep

* ブログは[個人](https://qiita.com/Esperna)で13件、社内で3件
* 英語の記事は見送ったがそれなりに量のアウトプットを出せたので良し
* 読んだ書籍の数7冊
* [OAuth徹底入門 セキュアな認可システムを適用するための原則と実践](https://www.amazon.co.jp/gp/product/B07L5M7DXS/ref=ppx_yo_dt_b_d_asin_title_351_o02?ie=UTF8&psc=1)
* 実際に動かしたコードを[GitHub](https://github.com/Esperna/oauth-in-action-code)に上げながら読んでます
*

元記事を表示

AWS環境でAI関連のシステムのPOC(1)

# はじめに
2024年は、生成AIをクラウド環境で動かして試行錯誤するハンズオンを通じて、アウトプットできたらと思っています。POCの内容としては、Webアプリケーションから画像キャプション生成サービスを試す予定です。

# システムの概要
ユーザーが画像をアップロードすると、BLIPモデルでキャプションを生成し、それを表示するシステムを検討しています。

概要図は初めてPlantUMLを使って描画しました。配置に少し手間取りましたが、見やすい図が作成できたと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468278/95c214e7-1fe4-e60d-3318-98d8b1f9c4a5.png)

# PlantUMLとは
PlantUMLは、シンプルな記法で様々なダイアグラムを迅速に作成できるオープンソースのツールです。
https://plantuml.com/ja/

# 実際のPlantUML
“`Architecture
@startuml archi

元記事を表示

Step FunctionsでParameter Storeの値を入れ替える

# はじめに
AWS Systems Managerのパラメーターストアに接続先を格納しておいて、障害発生時に別の接続先に書き換える、という構成があるようです。

今回は、パラメーターストアを2つ作成し、一方を稼働系、もう一方を待機系の情報を格納しておいて、Step Functionsで入れ替えるような構成を作ってみました。

# 概要

– 以下の二つのパラメーターストアを作ります
– PrimaryParameter
– 今回は最初に`tokyo-endpoint`という値を入れておきます
– SecondaryParameter
– 今回は最初に`osaka-endpoint`という値を入れておきます
– 上記2つの値を入れ替える仕組みを、Step Functionsで作ります

# ソース
概要の仕組みを作成するCloudFormationテンプレートは以下になります。

“`yaml
AWSTemplateFormatVersion: “2010-09-09”

Parameters:
PrimaryParameterV

元記事を表示

Aurora MySQL 2から3へのバージョンアップで挙動が変わるSQL(2)

こんにちは。

本投稿では、Aurora MySQL 2 の EOS 対策として Aurora MySQL 3 へのバージョンアップ(MySQL 5.7からMySQL 8へのバージョンアップ)を検証した際に、Aurora MySQL 2で実行できていたSQLが3で実行できなくなるという情報をいただいたので、実際にそのSQLをSQLテストツール(Insight Database Testing)を使って確認してみた例を紹介します。

## はじめに

Auoroa MySQL 2から3 (MySQL 5.7から8) へのバージョンアップを考えた際、以下の変更点などのMySQLのドキュメントを参照することの多いのではないでしょうか?

https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-sql-changes

ここに書いてある変更がどんなものか、自分たちのサービスやアプリケーションで使用していないか、それらを探すのは骨の折れる作業だと思います。また、ここに書かれている内容以

元記事を表示

AWSのIAM Roleについて整理してみた

### 対象読者

![IAMROLE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2636207/cb1ce65b-cd67-35df-e4ce-91259fee8fad.png)

※要点整理から攻略するAWS認定 セキュリティ・専門知識を参考に作成

– この図を見た時、教科書的な説明は思い浮かぶが、実際の所IAM Roleについてよくわからない人
– 試験ではアクセスキーは×、IAM Roleは〇のように覚えてしまった人

こういった方に私なりに整理して、IAM Roleとは何かをお伝えできればと思います。

間違いなどありましたらコメントや編集リクエストいただければ確認し返答いたします。

### 結論

– IAM Roleは「ユーザが管理しなくていいアクセスキー」で「ユーザーとサービス」に「一時的」に権限を渡している。
– PrincipalでそのRoleを使っていいアカウント・AWSサービス等を限定する。

### この記事で説明すること

– アクセスキーのデメリット
– IAM

元記事を表示

CloudFrontだけで短縮URLサービス作ってみた。

## はじめに
短縮URLは、オンラインの情報共有において欠かせない存在になっています。
しかし、その便利さの裏でセキュリティ上の問題も指摘されていることがあります。
例えば、QRコードを介した不正サイトへの誘導事例などが報告されています。

[原因は「短縮URL」か? QRコードから不正サイトへ誘導される事例が相次ぐ オートバックスセブン、学習院大学も](https://www.itmedia.co.jp/news/articles/2311/15/news194.html)

こういったこともあり、エンジニアの皆様は自作されることも多いのではないでしょうか?

自作短縮URLサービスに関して様々なアーキテクチャがある中、CloudFront大好きな私は、エッジロケーションで完結するのでは?と考えました。

**そう、CloudFront KeyValueStore + CloudFront Functionsならね。**

URLの実態をCloudFront KeyValueStoreに保存し、CloudFront FunctionsでそのURLと共に301を返せばいいではありませ

元記事を表示

Rust・AxumのDockerイメージをAWS Lambdaにサクッとデプロイする(Lambda Web Adapter)

先日こんな記事を書きました!

https://qiita.com/nokonoko_1203/items/57fbbdddbf7975a1d803

Rustの「Axum」というWebAPI用のフレームワークを利用して、レイヤードアーキテクチャでTodoアプリを作る記事になります。

その過程でちょっとこだわってDockerfileを作成したので、せっかくなのでこれをAWSのLambdaを使ってサクッとデプロイしてみようと思います!

Lambda Web Adapterという比較的最近リリースされた機能を利用すると、Dockerイメージをほんの数分でデプロイできるので、今回はこちらを利用していきます!

– 参考記事
– [Lambda Web Adapter でウェブアプリを (ほぼ) そのままサーバーレス化する](https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/)

## Dockerfileを作成

僕の書いた記事でも紹介していますが、今回はこちらのリポジトリを使っていきます。

h

元記事を表示

LaravelアプリをEC2で動かす

# 概要

お仕事でGitHubにあるLaravelアプリをEC2に設置して動作確認することを試したので、記録として作業内容を書いていく
* 表示までを優先させたので、httpでの接続までを記載
* DBはRDSを使わずにEC2内で行うようにしている

## 前提
* GitHubでLaravelアプリをPushしている
* AWSアカウントを持っている
* 東京リージョンを使用

## 環境
nginx: 1.21.1
php: 8.1
Laravel 8.x
MySQL: 8.0.26

## 流れ
・EC2の作成と起動
・必要なツール(nginx,php,MySQL)をインストール
・DBの設定と作成
・LaravelアプリをEC2に置く
・各種設定、パッケージインストール
・php-fpm、nginx調整
・画面表示確認
・確認後のEC2終了

# 作業内容

## EC2の起動
AWS管理コンソールにアクセスし、EC2ダッシュボードから`インスタンスを起動`を選択

![スクリーンショット 2023-12-03 4.22.08.png](https://qiita-

元記事を表示

OTHERカテゴリの最新記事