- 1. AWS移行ツール整理
- 2. Amazon SageMaker Studio が起動できなかった時の対処法 (アプリ再起動)
- 3. 【学習メモ】API Gateway Lambda オーソライザーとは
- 4. 【AWS】CloudWatchのカスタムウィジェットからリソースを操作する(EC2開始/停止)
- 5. AWS環境とオンプレミス環境を繋ぐVPN、専用線まとめ
- 6. CloudFormationで複数のIamユーザーをまとめて作成
- 7. 【OCI クラウド移行ガイド】AWS SNS+CloudWatch AlarmをOCI Notifications+Alarmsで実装できるか検証してみた~監視&通知サービス編~
- 8. BedrockとAurora Serverless PostgreSQL pgvectorでRAGする – Amazon Titan Embeddingsでベクトル入門③
- 9. AWSでAPI Gatewayをkinesis変換でLambdaする場合のCORS解消
- 10. 【OCI クラウド移行ガイド】NoSQL Database MigratorでAmazon DocumentDB を Oracle NoSQL Database Cloud Serviceへ移行してみた
- 11. AWS CodeBuildの超詳細解説
- 12. RailsとGoogle OAuthで他者のAWS環境を操作する方法
- 13. AWS Jam体験会レポート 〜体験から社内への展開に向けて〜
- 14. AWSマネコンへのSSOとかSTSの一時認証とかまとめ
- 15. CloudFormationでEC2作業環境を構築
- 16. TerrfaformによるIac化記録_ELBによる負荷分散
- 17. クロスアカウントでEC2からS3バケットへPUTする方法
- 18. aws cloud practitioner資格取得勉強時にお世話になった教材纏め
- 19. AWS Site to Site VPNとubuntu 22.04/StrongswanによるVPN接続
- 20. Amazon Bedrockとチャットできる LINEbotボット構築ハンズオン
AWS移行ツール整理
# はじめに
オンプレからAWSに移行したい!でも移行ツールのこと何も知らない。。。
一体どれがべスプラなんだろう。。。と思いひとまず整理してみました!# 対象者
– オンプレからAWSへの移行を検討中の方# 目次
1. [移行準備/管理ツール](#移行準備/管理ツール)
1. [サーバ/DB移行ツール](#サーバ/DB移行ツール)
1. [データ転送ツール](#その他)
1. [その他](#reference)
1. [参考文献](#reference)# 結論
– 移行ツールはたくさんある
– 要件によって適切に使い分ける必要あり
# 移行準備/管理ツール
– AWS Migration Hub
– 移行の進捗状況を一元的に管理
– AWS Application Discovery Service
– 移行元となるオンプレミス(自社運用)側のシステム情報を収集
– OSの種類やソフトウエアのバージョン、IPアドレスなどのネットワーク情報
– 対象システム
Amazon SageMaker Studio が起動できなかった時の対処法 (アプリ再起動)
Amazon SageMaker Studioを使用していて、ユーザープロファイルを開こうとすると、たまに以下のエラーメッセージが出てJupyter Notebookが開かないことがあります。
“`
The loading screen is taking too long. Would you like to clear the workspace or keep waiting
“`![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397277/c7a3f9fd-7caf-9d28-6dbd-5dec6da10f65.png)
この時、Clear Workspaceのボタンを押すと大抵復活しJupyterの画面が開くのですが、今回そうならず、ずっとブラックアウト画面 → 上記エラーメッセージ → ブラックアウト画面・・・が続いて起動しない状態に陥りました。
以下のガイドにしたがって対処するのですが、
Amazon SageMaker Studio を起動できないのはなぜ
【学習メモ】API Gateway Lambda オーソライザーとは
# Lambda オーソライザーとは
・Lambda 関数を使用して、API へのアクセスを制御する API Gateway の機能
(クライアントが認可された人か確認するってこと)クライアントがリクエストをAPI Gatewayへ送信
↓
API GatewayがLambda オーソライザーを呼び出し
↓
Lambda オーソライザーが認可戦略を使用して、「この人はOK」か確認
↓
OKの場合、IAM ポリシーを出力として返す# Lambda オーソライザーの種類
## トークンベース の Lambda オーソライザー
・TOKEN オーソライザーのこと
・JSON ウェブトークン (JWT) や OAuth トークンなどのベアラートークンで発信者 ID を受け取る## リクエストパラメータベースの Lambda オーソライザー
・REQUEST オーソライザーのこと
・ヘッダー、クエリ文字列パラメータ、stageVariables、および $context 変数の組み合わせで発信者 ID を受け取る
・WebSocket API では、リクエストパラメータのみ使える
【AWS】CloudWatchのカスタムウィジェットからリソースを操作する(EC2開始/停止)
## はじめに
Lambdaで実装できるならCloudWatchのダッシュボード上で色々な操作ができそうなので、
EC2を開始/停止するLambda関数を書いてカスタムウィジェットに設定し、CloudWatchのダッシュボードからEC2の開始/停止をしてみる。
(Lambda書いてまでCloudWatchからEC2を操作する必要性は置いておいて)### Lambda
サーバレスでコードを実行できるサービス。今回は[AWS SDK for Python(Boto3)](https://aws.amazon.com/jp/sdk-for-python/)を使う。### CloudWatch
ダッシュボードに追加するウィジェットは折れ線グラフだったり円グラフだったり色々種類がある。その中にカスタムウィジェットというものがあり、Lambdaを実行し、実行結果を表示することができる。:::note warn
カスタムウィジェット自体には料金は掛からないが、Lambda関数は実行した分従量課金される。
:::## 1. Lambda関数を実装
以下2つを実装する。
* パラメー
AWS環境とオンプレミス環境を繋ぐVPN、専用線まとめ
# オンプレミス環境とAWS環境を安全に接続する
選択肢
1. Client VPN
1. AWS Site-to-Site VPN
1. AWS Direct Connect## 1. Client VPN
クライアントPCからAWS環境へのアクセスに利用するVPN。クライアントソフトを導入する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406130/8e2db74d-d27b-da6b-d50e-9a78218b9e64.png)
OpenVPNクライアントを導入したクライアントPCからClientVPNのDNS名を利用してアクセス。
VPC内のリソースへはENIを通してアクセスされる。この時、ENIではアクセス元のIPアドレスがNATされるためアクセス先のリソースからはアクセス元は見えない。
なお、ClientVPNエンドポイントを介してインターネットにアクセスしたい場合にはルートテーブルに記載する必要がある。## 2. AWS Site-to-Site
CloudFormationで複数のIamユーザーをまとめて作成
## 背景
AWSのIaCのCloudFormationでループ処理ができるようになっていたらしい(2023/07くらい)
[AWS Docs](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-foreach.html)
CloudFormationでIamユーザーを複数作る際に似たような処理を何回も記載するのは面倒だったけど、これで一気に作成できる
## CloudFormation yml
ymlで記載
“`yml
AWSTemplateFormatVersion: 2010-09-09
Transform: ‘AWS::LanguageExtensions’
Description: Template for creating Initial IAMParameters:
UserNames:
Type: List
Default: user01, user02, user03
【OCI クラウド移行ガイド】AWS SNS+CloudWatch AlarmをOCI Notifications+Alarmsで実装できるか検証してみた~監視&通知サービス編~
# OCIクラウド移行ガイドとは
オンプレミスやAWSなど、複数のプラットフォームからOracle Cloud Infrastructureへの移行プロジェクトに取り組んでいるクラウドエンジニア(@araidon,@kazunishi,@yama6)による、OCI移行手順をまとめたシリーズ記事です。
各回、サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。# 移行したいサンプルワークロード
日々の業務でよく目にするサービスを中心に、サンプルワークロードとしてまとめてみました。このシリーズでは、主にAWSからの移行を取り上げます。
このワークロードは、ユーザがログインして、Web上で写真を共有するWebサービスをイメージしています。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/5d657078-030c-a277-544e-eebe031c74cf.png)
# 移行検討するサービス:SNS+CloudWatch Alarm
近年のパブリ
BedrockとAurora Serverless PostgreSQL pgvectorでRAGする – Amazon Titan Embeddingsでベクトル入門③
Aurora Serverless PostgreSQLのpgvectorをVector DBとして使用したRAGを構成します。
# 概念図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/0225f260-2917-f334-ed02-3633d98e4a03.png)# 構成図
VPCで閉じたかったのでCloud9を使っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/63dde7f3-6d2f-d233-be11-5faf7ae587cd.png)# Aurora Serverless PostgreSQLの構成
エンジンタイプ Aurora PostgreSQL Compatible
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/357
AWSでAPI Gatewayをkinesis変換でLambdaする場合のCORS解消
CORSひっかかったのでメモ
“`
POST https://…amazonaws.com/kinesis 500 (Internal Server Error)
“`|レスポンスキー|変更するパラメータ|変更タイプ|値|
|—|—|—|—|
|200|header.Content-Type|追加|’x-amz-json-1.1’|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/48015/5a8f2ec3-5766-1253-9846-a2b6687302b3.png)
### 参考URL
https://qiita.com/daisukeArk/items/c6bcc6e1548c00e4b9a6
【OCI クラウド移行ガイド】NoSQL Database MigratorでAmazon DocumentDB を Oracle NoSQL Database Cloud Serviceへ移行してみた
# OCIクラウド移行ガイドとは
オンプレミスやAWSなど、複数のプラットフォームからOracle Cloud Infrastructureへの移行プロジェクトに取り組んでいるクラウドエンジニア(@araidon,@kazunishi,@yama6)による、OCI移行手順をまとめたシリーズ記事です。
各回、サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。# 移行したいサンプルワークロード
日々の業務でよく目にするサービスを中心に、サンプルワークロードとしてまとめてみました。このシリーズでは、主にAWSからの移行を取り上げます。
このワークロードは、ユーザがログインして、Web上で写真を共有するWebサービスをイメージしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2325706/1c9074f1-d4df-e201-1274-0b92d49837e1.png)# 移行するサービス:Amazon DocumentDB
今回、移行対象とす
AWS CodeBuildの超詳細解説
# はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧は[こちら](https://qiita.com/tech4anyone/items/b06f88035d27c6ef13b2)。この記事ではCodeBuildとはどういうサービスで何ができるのかを超詳細にまとめています。
具体的には以下流れで説明します。
– AWS CodeBuildとは
– AWS CodeBuildの仕組み
– AWS CodeBuildのローカルビルド
– AWS CodeBuildのVPC内起動
– AWS CodeBuildの環境変数
– AWS CodeBuildのセキュリティ
– AWS CodeBuildのテストレポートAWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。
# この記事を読んでほしい人
– CodeBuildがどういうサービスか説明できるようになりたい人
– CodeBuildを採用するときのベストプラクティスを説明できるように
RailsとGoogle OAuthで他者のAWS環境を操作する方法
こんにちは!hagurereです。今回は個人開発中にエンドユーザーのAWS環境をRailsサーバーから操作する用件があったので方法を調べて実装してみました。なかなかない要件で同じようなことをやっているドキュメントが見当たらなかったのでここに残しておきます
# 概要
google-oauth2で発行されるid_tokenとユーザーから入力してもらったIAMロールを元にAWS::STS::Client.assume_role_with_web_identityから一時的なaccess_keyを発行し、それを使ってs3からオブジェクトを取得します。
※ 検証用の簡易的な実装ですので細かいことは考慮してません
# 環境
rails(7.0.4)
ruby(3.1.4)
aws-sdk-s3 (1.136.0)
omniauth(2.1.1)
omniauth-google-oauth2(1.1.1)
redis(4.8.1)# google認証とid_token取得
![スクリーンショット 2023-11-05 18.38.17.png](https://qiita-image-s
AWS Jam体験会レポート 〜体験から社内への展開に向けて〜
先日、AWS主催のAPN(AWS パートナーネットワーク)向けのAWS Jam体験会へ参加させていただく機会がありました。今回は各社2名という定員だったのですが、運良く参加することができたので、体験した所感や今後社内への展開にむけたアクションなど記録として残しておきます。
# AWS Jamとは?
– 事前に周到に準備された課題シナリオを実際のAWS環境を利用しながらクリアして、得点を競い合うイベントです(ハンズオン形式の学習コンテンツ)。– 似たものにGameDayがありますが、Jamには複数のヒント(手がかり)が用意されています。課題がお手上げのときには、この手がかりを使ってヒントを得ることができますが、手がかりを使うとペナルティ(減点)が発生してしまいます。課題の残り時間を考慮しながら手がかりを使うのか、使わないほうがいいのか、このあたりはチームごとの戦略にも依存してきます。
– 課題(チャレンジ)には「Easy」「Medium」「Hard」の三段階のレベルがあり、課題のレベルごとに所要時間や得点が異なります。難しいほど得点も高くなります。
– 課題への取り組み方法は、
AWSマネコンへのSSOとかSTSの一時認証とかまとめ
# 社内リソースのSSO
AWS云々の前にそもそも社内のリソースへのアクセスを一元化するにはどうするのか。
## Active Directory
システム管理者が組織のリソースを管理するマイクロソフト製のサービス。
社内にはファイルサーバやプリンタなど様々なサーバやデバイスがあり、それぞれがユーザ認証を必要としている。各デバイスを利用する度にユーザ名とパスワードを求められ、各デバイスでそれらの認証情報を保持するのは効率がいいとは言えない。また管理者側からするとそれらの権限管理をバラバラに設定していくことは煩雑でオペミスを誘発する原因にもなりうる。
そこで、それら認証や権限管理を一箇所に集約することで、ユーザへはシングルサインオン(SSO)を提供し、管理者へは管理の一元化を提供する方法が出てきた。`Active Directory`はその一つである。### ディレクトリ
`Active Directory`は組織のリソース(人や物、データなど)をオブジェクトとしてツリー構造で表現したディレクトリを用いて管理している。各オブジェクトの情報(ユーザ名や所属などの付帯情報)はプロ
CloudFormationでEC2作業環境を構築
## 目的
AWSで仮想マシンやオブジェクトストレージ、仮想マシンを置く仮想ネットワーク環境をまるっと作る.
マネジメントコンソールでもできるが、結構手間なのと、同じ環境を再現するのが大変なので、
環境構築をCloudFormationでスクリプト化する## 構築したい環境
– 仮想ネットワークとしてVPCと一つのパブリックサブネットを用意
– 仮想ネットワーク環境の中にEC2を一つ建てる.
– オブジェクトストレージ(S3)のバケットを作成
– EC2には作成したバケットのみにアクセスできる権限(policy)を付与
– 起動するEC2はubuntu20.04イメージを使用し、awscliを起動時にインストール### セキュリティ
– EC2へはsshのみ接続のみ許可
– ssh接続時にkeypairを要求## CloudFrmation
AWSでIaCを実現するツールの一つで、起動したいAWSサービスをまとめてjsonやymlに記述し、AWSで実行させることでまとめてサービスを起動する. CloudFormationで起動される一連のサービス群をstackと呼
TerrfaformによるIac化記録_ELBによる負荷分散
## はじめに
TerraformはIaC(Infrastructure as Code)ツールの一つです。
私自身、AWSを勉強する傍ら、AWSへの理解を深めるため、Terraformについても学んでいます。
今回はELBを用いたベーシックな構成について、Terraformで構築してみたので記事として投稿しました。今後似たような感じで投稿していこうと思います。## アーキテクチャー図
非常にシンプルな構成です。
以下のように要件を設定してます。
– Route53に登録したドメインでアクセスできる
– 一つのVPCにパブリックサブネットとプライベートサブネットが複数存在
– AZを跨いだ構成にしておく
– サーバーインスタンスはプライベートサブネット内に配置する
– インスタンスはALBを通してしかアクセスできないようにする
– ALBはHTTPSとHTTP通信の両方を受け付けるが、HTTP通信でアクセスされた場合にはHTTPSにリダイレクトする
クロスアカウントでEC2からS3バケットへPUTする方法## 概要
アカウントAのEC2からアカウントBにあるS3バケットへオブジェクトをputする方法について調べたので記載します。## 方法
①アカウントBでIAMロールを作成ポリシーにS3バケットへのフルアクセスを付与
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/6ccd31cd-4395-28aa-ccfe-10b12b68829e.png)信頼関係のプリンシパルにアカウントAのIDを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/f2931a32-7b67-c966-07ce-2791ba11aafb.png)②アカウントAでIAMロールを作成
ポリシーのResourceにアカウントBで作成したIAMロールのARNを記載
![image.png](https://qiita-image-store.s3.ap-northeast-1
aws cloud practitioner資格取得勉強時にお世話になった教材纏め
## *はじめに
AWS Skill Builderだけで勉強するも良いと思います。
AWS Cloud Questを活用すると楽しい。https://aws.amazon.com/jp/training/digital/aws-cloud-quest/
:::note info
2023年10月2日より日本語化対応がされました。
:::## *おすすめ書籍
AWS認定資格 クラウドプラクティショナーの教科書: 合格へ導く虎の巻 CloudTech制作委員会シリーズ
https://amzn.asia/d/7R3XdPO
![81LOcZqrQxL._SL1500_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2738983/f35bbc2f-21e0-4e0c-acad-a9c27e47bece.jpeg)
AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー 改訂第2版
h
AWS Site to Site VPNとubuntu 22.04/StrongswanによるVPN接続
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/a2efc322-a799-7889-887a-350f75bfff5f.png)
# 1.EC2(osaka)作成
大阪リージョン側のstrongswanをインストールするEC2を作成します。## 1-1.EC2作成
以下でEC2を作成します。
・OS:`ubuntu 22.04`
・キーペア:`(ED25519形式のキーペア)` ※ubuntu仕様
・パブリックIPの自動割当て:`有効化` ※別途EIP紐づけ## 1-2.EIP関連付け
恒久的にVPNを利用する際はグローバルアドレスを固定したほうが便利なためEIPをEC2に関連付けします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/90684690-fd54-1a33-9124-70473c2bd043.png)## 1-3.PSK作成
接続
Amazon Bedrockとチャットできる LINEbotボット構築ハンズオン
## はじめに
AWSから生成AIサービス「Amazon Bedrock」がGAされました。
この1ヶ月巷の至る所で「Bedrock」に関する勉強会や、事例の紹介がおこなわれています。
そんな熱気に当てられ、少し出足が遅くなりましたが「自分でも構築してみよう!」ということで ハンズオンしてみました!
なにより、こんな軽い気持ちで生成AIにさわれるだなんて控えめに言ってAWS最高ですね!## 構成
### 処理フロー
①LINEでメッセージの送信
②APIGateway経由で Lambda 実行
③Lambdaの実行処理
③-1 LINEのリクエストを検証
③-2 DynamoDBから会話履歴の取得
③-3 LINEメッセージを Bedrockに送信・応答を取得して LINEユーザに返信
③-4 ユーザとの会話をDynamoDBに保存### 構成図
![](https://cloud5.jp/wp-content/uploads/2023/11/スクリーンショット-2023-11-05-10.54.45-640×243.