- 1. ローカルPCとAWSをVPNで接続した
- 2. GoogleドメインからAWSのRoute 53に移管する手順
- 3. IoT開発検証 ~センサデータ収集監視と閾値超過通知~
- 4. AWS一ミリも分からない人向けサイト2つ
- 5. Amazon EBSボリュームのDelete on Terminationについての備忘録
- 6. AWSでスナップショットから特定のファイルを復元する
- 7. AWS 操作練習 ElasticIPの登録
- 8. Firehoseのレコード出力の設定をCDKで構築する(改行の区切り文字/動的パーティショニング)
- 9. qiita2review をインストール
- 10. SageMaker TrainingにおけるDockerイメージとConda環境の最適化
- 11. 【AWS】EventBridgeがEC2を自動停止しなくなった
- 12. Windowsで作成したLambdaレイヤーで”Unable to import module”エラーが発生した場合の対処(の一つ)
- 13. 【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part3
- 14. 2021年頃に設定していたCloudWatchの請求アラームが動かなくなっていた
- 15. AWS CLIを使用するためのconfigure設定方法
- 16. CloudFormationでElastiCache Serverlessのエンドポイントを取得する
- 17. 【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part2
- 18. AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)
- 19. VPCフローログとは??の備忘録
- 20. TerraformでDocumentDBの初期設定を行う
ローカルPCとAWSをVPNで接続した
### 前回まで
前回、VPNServerのCFnテンプレートを作成しました。今回はVPNserverの設定を行って、ローカルPCとAWSをVPN接続してみようと思います。https://qiita.com/mirutaro/items/131474af950c8b0a4ad4
### 構築したい構成
ローカルPCの仮想環境にテスト用のLinuxやWindowsサーバを作成しています。VPN経由でこれらのサーバと、AWS上のプライベートネットワークにあるEC2サーバと相互通信可能な環境を構築します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636209/6f3e953b-6dba-7118-b905-7cc90d528248.png)
### 実際のネットワーク構成
SoftetherVPNをローカル側とAWS側双方にインストールし、下図のように実際にネットワークを構成します。
![image.png](https://qiita-image-store.s3.ap-
GoogleドメインからAWSのRoute 53に移管する手順
# 背景
以下の記事でも取り上げたのですが、2023年6月にGoogleドメインのサービス終了(Squarespaceという他社サービスへ移管)が発表されました。
https://qiita.com/minorun365/items/790635f211a14ad6b4db
Googleドメインは使いやすく、安心のGoogleということで愛用していましたが、価格・サービスともにどうなるか不安なため別のサービスへ個人ドメインを移管することにしました。
# 前提(私の場合)
– 個人ドメイン(.com)をGoogleドメインで管理している
– DNSサーバーもGoogleドメインのものを利用
– 個人ドメインを使ったメールアドレスをZohoメールで管理している
– AWSのAmazon Route 53へドメインを移管したい※Zohoは無料でも使えるGoogle Workspacesという感じでオススメのサービスです。
https://www.zoho.com/jp/mail/
ちなみに価格重視であればCloudflare等、別の選択肢もありますが、私は仕事柄AWSを頻
IoT開発検証 ~センサデータ収集監視と閾値超過通知~
# はじめに
最近AWSを用いた製造現場のDX化の技術検証に携わっております。
そこで検証した内容をアウトプットのため、他にも同じようなことをしている方のため
簡単にですがまとめたいなーと思いました。構築手順をサクッとまとめるので、わからんことあったら直接ご連絡ください笑
# やること
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/a2f73758-207f-cd0a-518d-865660bb6064.png)
センサデータを収集してニアリアルタイムで分析するため、IoT SiteWiseを利用しています。
また今回は検証しませんが、将来的にエッジでAWSに送信するデータの加工や取捨をしたいのでGreengrassを使用しています。
SNSの理由は言うまでもなく閾値通知ですね# 検証
実際にセンサデータやサーバを用意するわけにはいかないので、その部分はCloud 9で代用していきます。## アーキテクチャ
![image.png](https://qiit
AWS一ミリも分からない人向けサイト2つ
## はじめに
こんにちは、AWSを学ぶ上で一番苦労することは学習教材探しではないでしょうか。
とにかくサービスが多い上に、情報が豊富であるがために初めの一歩目に何をすべきか分からないという方多いと思います(自分がそうだった)。ちなみに今回紹介するサイトはどちらもAWS公式のものになります。
## IT 初心者向けクラウド入門ウェビナー ’Cloud for Beginners’
サイトは[こちら](http://qiita.com “Qiita Home”)![スクリーンショット 2024-01-27 11.47.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2965124/a91cf2d0-0f20-845b-cabb-27902892238b.png)
### 対象者
– クラウドについてわからない人
– AWSを使う利点がわからない人
– AWSの基本サービス(EC2, ELB, IAM, RDSなど)の概要がわからない人## AWS Cloud Practitioner
Amazon EBSボリュームのDelete on Terminationについての備忘録
### Delete on Termination
オンの時: EBSボリュームは削除
オフの時: EBSボリュームは保存デフォルトでは・・・・?
ルートボリュームのDeleteOnTermination はTrue→保存しない(削除)
追加のボリュームDeleteOnTermination はFalse→保存(保持)ここは、違う、ここはこうじゃない?等々ございましたら、ご指摘いただけますと騒いです。
AWSでスナップショットから特定のファイルを復元する
# はじめに
「バックアップを取得していないファイルを消してしまった、、、」
皆さん、そんな経験はないでしょうか。サーバ内にバックアップを取得していれば、即座に復旧対応が可能ですが
すべてのファイルがそのような状態ではないと思います。ただ運用中のサーバであれば、スナップショットを取得していることは
多いのではないでしょうか。スナップショットから新規にサーバを作成し運用するのも一つの手段ですが、
サーバそのものが変わってしまうと、諸々の設定の更が必要な場合もあり
手間がかかります。そのため今回は新規にサーバを作成せず、
一部ファイルの復旧作業を進めていきます。なお本記事はAWS環境での復旧方法となります。
※OSはRHEL8# 大まかな作業の流れ
今回はスナップショットからボリュームを作成し、そのボリュームを
対象サーバへアタッチして削除前の設定を確認できるようにする、
といった流れを想定しています。なお、本作業においては*サーバの停止*が発生しますので、
絶対にサーバを停止できないといった方は他の方法を模索してください。# 復旧作業
## 「cron
AWS 操作練習 ElasticIPの登録
# 概要
AWS で GitLabサーバーを構築した.
しかしずっと立てているのはもったいない,時間指定で立てることにする.
その時,立てるたびにIPが変わってしまう問題に直面ElasticIPを使用して,その問題を解決しよう.
# 前提条件
Webサーバー等(今回はGitLabサーバー)など,サーバーがAWS上にある.## あああ
ElasticIPをを割り当てる.(とりあえず初期設定でよい)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1505183/ced6f4a5-b2bd-f85a-3a58-ddf70bcdf988.png)割り当てられました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1505183/dabc89c9-1b13-d8ae-e6b3-3f38951a5efb.png)「ElasticIPアドレスの関連付け」から,EC2インスタンスに関連付
Firehoseのレコード出力の設定をCDKで構築する(改行の区切り文字/動的パーティショニング)
# 背景
Firehoseでは、1行1レコードとして出力したり、Lambdaで1レコードごとに処理するためには、追加での設定が必要です。
画面からだと簡単に設定できますが、CloudFormationおよびCDKでは、設定方法が直感的とは言い難いです。この記事では、CDKのみを使用して、こちらの画像の状態にする方法を紹介します。
![スクリーンショット 2024-01-18 8.52.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3468968/31379ea2-7606-ab85-f8e2-dc3593f89f88.png)
## 設定項目解説
### New line delimiter/改行の区切り文字
設定することで、各レコードが1行ごとに出力されます。“`json
{“id”:1}
{“id”:2}
“`
JSONL形式になるため、後続の処理でS3から取り出した時に処理しやすくなります。#### 設定しない場合に困ること
これを設定しないと、いわゆるJSONL形式では
qiita2review をインストール
# qiita2review
https://github.com/nanbuwks/qiita2review
「qiita2reviewの使い方」
https://qiita.com/nanbuwks/items/5625acb49580084696c5「Re:VIEW を apache で動かす」
https://qiita.com/nanbuwks/items/dd15819ec7798a9eca7bで紹介した、マルチユーザーで記事を執筆してPDF本を作るオンラインシステムをインストールする説明です。
# 環境
– Ubuntu 22.04 LTS
– Re:VIEW 5.8「AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)」
https://qiita.com/nanbuwks/items/653dda3993ebc23e6081
でインストールした環境です。# 下準備
まず、Webサーバで動作させるために apache と php をインストールします
“`
$ sudo apt insta
SageMaker TrainingにおけるDockerイメージとConda環境の最適化
# はじめに
以前、以下の記事でDockerコンテナ内にConda環境を設定し、Amazon SageMakerでのトレーニングを実行する手順を書きました。https://qiita.com/suzuki0430/items/47228a8af26ccb4a88a2
また、以下の記事では、デバッグ環境(EC2/Deep Learning AMI)とトレーニング環境(SageMaker)で環境を一致させるために、condaの設定ファイル`environment.yml`をデバッグ環境から書き出して、それを使ってトレーニング環境のDockerイメージを構築しました。
https://qiita.com/suzuki0430/items/0bda6a04019cef2eb319
DockerのベースイメージにSageMaker Training用のイメージを選択した結果、ベースイメージと`environment.yml`のライブラリの重複が原因で、11 GBくらいの巨大なイメージが生成されてしまいました。
当時はとりあえず早く学習を回したい!という気持ちだったので、そのコンテナイ
【AWS】EventBridgeがEC2を自動停止しなくなった
## EventBridgeに登録したEC2が自動停止しない!!
EventBridgeにEC2の夜間自動停止をスケジュールしていたはずなのに、停止しなくなっていたことに気づきました。
以前は大丈夫だったのに!無駄金かかっているじゃん!なぜだ!?ハマったので供養のため残しておきます。
## (今回の)結論
ターゲットのInstanceIdsに、終了済(削除済)のインスタンスが含まれていたためでした。
画像の赤枠のインスタンスは存在しませんでした。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620254/f26ab6e9-9756-552a-840e-a1bff8ede633.png)
インスタンスごとにスケジュールを登録するか、エラーを監視するのが良さそうです。
## 調べたこと
* とりあえず目の前で実施し、自動停止が動いていないことを確認
* ターゲットが正しいか
* ロール/ポリシーが正しいか
* CloudTrailのログ確認 ←さらっとエラーコードが出力されて
Windowsで作成したLambdaレイヤーで”Unable to import module”エラーが発生した場合の対処(の一つ)
ローカルのWindows環境で外部ライブラリの動作確認をした後に、`pip install -t`してLambdaレイヤーを作成したらLambdaで以下のエラーが発生した際の調査メモ。
※他の原因(循環参照)でも同じエラーが発生するようなのでどちらが原因かは適宜判断`[ERROR] Runtime.ImportModuleError: Unable to import module’lambda_function’: cannot import name ‘xxx’ from partially initialized module ‘xxx’ (most likely due to a circular import)
`# 環境
– ローカル環境:Windows
– Lambda:Python# 原因
そのまま書いてありました。
要はライブラリにバイナリを含む場合は、インストール時の環境(Windows)とLambda実行環境(Amazon Linux)の差異でエラーになるようです。> NumPy や pandas などのコンパイル済みコードを含む Python パ
【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part3
# 概要
この記事ではAWS認定DASに出題されるリソースを使った構成をシリーズ化して紹介します。
前回までの内容は以下をご覧ください!
[【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1](https://qiita.com/mcen/items/24f20be7a3094dfef6a0)
[【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part2](https://qiita.com/mcen/items/7d978203ef22412309f2)# 今回の実施内容
前回Part2の内容を行いました。今回はGlueの設定を行います。
* Part1
* JSONのダミーデータの作成
* S3バケットの作成
* Part2
* Lambda作成
* S3イベントとLambdaの連動
* Part3
* Glueの設定
* Part4
* Athenaの設定
* Part5
* Quicksightでの可視化## AWS Glueとは?
AW
2021年頃に設定していたCloudWatchの請求アラームが動かなくなっていた
## はじめに
私は2021年頃からAWSの個人学習用アカウントを作成してたまに触っているのですが、アカウント作成当時に設定したアラーム設定が動作していなくて焦ったので残しておこうと思います。## 結論
2021年頃にマイ請求ダッシュボードの設定とCloudWatch、SNSから請求アラームを設定していた方は見直しが必要かもしれません。
CostExplorer画面の確認、CloudWatchで過去に作成したアラームの状態を確認しましょう!
そして **予算を設定して請求アラート** 、**CloutWatchで請求アラーム** が出るようにしましょう!## 気づいたきっかけ
先月Amazon Qのハンズオンを行い、リソースが空の場会のAmazon Qの料金が気になったので一か月程度放置してみようと思い放置し、そのまま忘れていたのを思い出してマネジメントコンソールを確認したところ以下のように表示されていました。![スクリーンショット 2024-01-25 175423.png](https://qiita-image-store.s3.ap-northeast-1.amaz
AWS CLIを使用するためのconfigure設定方法
CLIを利用するときにConfigureの設定方法をよく忘れるので備忘で残す。(実施した環境はWindows)
### 0.事前準備するもの
CLIを実行するためのIAMのアクセスキー### 1.初期設定(スイッチロールなし版はこの手順だけでOK)
defaultのままでよいとき
aws configure
プロファイルを利用するとき(IAMが複数ある場合などはプロファイルを作ってわける)
aws configure --profile "プロファイル名"
入力項目。準備したIAMのアクセスキーとシークレットキーを入力する
AWS Access Key ID [****************xxxx]:
AWS Secret Access Key [****************xxxx]:
Default region name [None]: ap-northeast-1
Default output format [None]: json### 2.スイッチロールする場合のconfig修正
手順1でプロフ
CloudFormationでElastiCache Serverlessのエンドポイントを取得する
**2024/1/25時点の現象です。将来的にドキュメントが更新されると思われます。**
# 結論
`Endpoint.Address`で取得できました。
“`
!GetAtt ServerlessCacheCluster.Endpoint.Address
“`# 何が問題だったか
ドキュメントでは一応Addressというプロパティが用意されているかのように記述されていますが、実際にスタックを更新しようとするとエラーになります。“`
Fn::GetAtt
Address
Property description not available.
“`https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#aws-resource-elasticache-serverlesscache-return-values-fn–getatt
【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part2
# 概要
この記事ではAWS認定DASに出題されるリソースを使った構成をシリーズ化して紹介します。
前回までの内容は以下をご覧ください!
[【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1](https://qiita.com/mcen/items/24f20be7a3094dfef6a0)# 今回の実施内容
前回Part1の内容を行いました。今回はLambda関連の設定を行います。
* Part1
* JSONのダミーデータの作成
* S3バケットの作成
* Part2
* Lambda作成
* S3イベントとLambdaの連動
* Part3
* Glueの設定
* Part4
* Athenaの設定
* Part5
* Quicksightでの可視化## Lambda作成
S3バケット「**transbucket-2024**」のinputフォルダにアップロードしたjsonファイルを
csvファイルに加工後、outputフォルダに格納するLambdaを作成していきます。
AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)
「AWS上にRe:VIEW環境を構築する」
https://qiita.com/nanbuwks/items/da9136f1b6f789aaffcf
では、Ubuntu 16.04 AMD64 上に Re:VIEW Ver.2系「AWS上にRe:VIEW環境を構築する (Ubuntu20.04 + Re:VIEW5.3)」
https://qiita.com/nanbuwks/items/33bcb7826be567f882f4
では、Ubuntu 20.04 AMD64 上に Re:VIEW Ver.5系今回は、2024年01月25日現在に使える組み合わせで構築を試しました。
特に問題はなかったのだけれど、インストールできたというエビデンス。# 環境
– AMAZON AWS t2.micro
– 1VCPU
– 1GIB
– EBS のみ
– Ubuntu 22.04 AMD64
– Ruby 3.0.2# 事前準備
“`
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-
VPCフローログとは??の備忘録
### AWS公式説明
VPC フローログは、VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャできるようにする機能です。#### 初見の個人的見解
ほ〜ん。VPCを介しているネットワークを監視して、何をしているのかを見てるのね。#### 主な監視対象
トラフィックの送信元と送信先
通信のポートとプロトコル
パケットおよびバイト数
通信の開始および終了時刻
アクション (許可→ACCEPT, 拒否→REJECTなど)#### 監視対象範囲
VPCフローログが監視できる範囲は、
・VPC内部
・異なるVPC間以上となります。
ここは、違う、ここはこうじゃない?等々ございましたらご指摘いただけますと幸いです。[VPC フローログを使用した IP トラフィックのログ記録](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html)
TerraformでDocumentDBの初期設定を行う
# 経緯
業務でDocumentDBに触れる機会があったので書いてみます。
インフラ構築はCloud9上でTerraformを使用して行ないました。
DocumentDBはmongoDB互換DBであり、スキーマレスにデータを保存することができます。
ただいくらスキーマレスとはいえある程度の制約を持たせたいユースケースもあります。
(studentsコレクション中のドキュメントには生徒名、学年を必須にする、など)
そのような場合は以下公式ドキュメントを参考に制約を設けることができます。
https://www.mongodb.com/docs/v5.0/core/schema-validation/業務上のユースケースにおいても制約を設けたかったので、DocumentDBの作成後にDB及びコレクションを作成し、制約を持たせる初期設定を行いました
# 結論
踏み台EC2を作成し、SSHトンネリング後、shファイルを実行しました。
というのも今回はVPCも新規作成して、その中にDocumentDBを作成したため、Terraformを実行しているCloud9からはDocumentDBにア