- 1. [AWS]ルーアカウント作成後にするセキュリティ設定
- 2. AWSの個人開発での利用
- 3. AWS Lambda, CloudWatch, SNS, SSMを活用したApache Webサーバーの監視と自動再起動の技術検証
- 4. 【AWS】route53で独自ドメインを取得する
- 5. お名前.comで取得したドメインをRoute53に登録。サブドメインも作ってECSごとに振り分ける
- 6. CloudWatchでApache httpdサービスを監視し、停止時にメール通知アラートを発生させる方法
- 7. dbtとAthenaで管理されていないテーブル一覧を出力する
- 8. 「AWS Hands-on for Beginners Serverless AWS Amplify を用いた Web サイトの構築方法を学ぼう」をAWS CLIでやってみる
- 9. AWS EventBridgeでのワイルドカード活用法まとめ
- 10. New RelicによるAWSの監視をTerraformで自動化する(第2回: アラート)
- 11. AWS 名前にHubがついているサービスのまとめ
- 12. AWS EventBridgeとSSMのRun Commandを活用したEC2インスタンスのApache自動起動
- 13. AWS EventBridgeでEC2インスタンスの起動を検知し、LambdaとSSMを連携して自動化する方法
- 14. 実務でAWSのECRを作成する際に注意したこと
- 15. ECS on Fargate構成にする際の効果的なコスト削減案(Arm化含む)
- 16. 【備忘録】AWS Backupでk3sクラスタを復元する時の注意点
- 17. インターネットに公開したインスタンスがどれくらい攻撃を受けるのか試してみた(1Hで200件以上のアクセス!!)
- 18. Amazon SageMaker と GitHub の連携
- 19. テスト
- 20. AWS Systems Manager Run Commandを利用したEC2インスタンスの管理とコマンド実行ガイド
[AWS]ルーアカウント作成後にするセキュリティ設定
# はじめに
AWSの学習のために検証用のアカウントを用意していただきました。
気軽に検証ができるのがクラウドのメリットなので、これからサーバーを立てたりと色々と検証をしていこうと考えています。検証をするだけでもいいのですが、せっかくなので検証内容を記事にしていきたいと思います!今回は、検証の前にルートアカウント作成後にやっておくべき設定について記事にしたいと思います。
これからアカウント作成する初心の方の参考になると嬉しいです。下記の公式ハンズオンの中から自分に必要だと考える設定を実施しています。
料金が発生するサービスもあるのでご注意ください。https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Security-1-2022-reg-event.html?trk=aws_introduction_page
# 実施内容
・作業用ユーザーの作成
・AWS Budgetsでコストのアラートを設定
・AWS Cloudtrailの確認# 実施詳細
・作業用ユーザーの作成
作業用のIAMユ
AWSの個人開発での利用
今回はAWSの個人開発での利用について記事にしたいと思います。
1. AWSアカウントを作成する
最初に、AWSを利用するにはアカウントが必要です。公式サイト(AWS)でアカウントを作成してください。AWSは初回12ヶ月間の無料利用枠(Free Tier)を提供しており、個人開発ではこの無料枠内でサービスを利用することができます。2. EC2(Elastic Compute Cloud)で仮想サーバーを利用する
AWS EC2は仮想サーバーを提供するサービスで、個人プロジェクトでウェブアプリケーションをホスティングしたり、バックエンドAPIを動かすのに役立ちます。利用手順:
インスタンスの作成: AWSマネジメントコンソールでEC2インスタンスを起動します。無料枠内では t2.micro インスタンスが利用可能です。
OSの選択: UbuntuやAmazon Linuxなどのオペレーティングシステムを選択します。Ubuntuは人気のある選択肢です。
セキュリティグループの設定: サーバーにアクセスできるポート(例:SSHの22番ポートやHTTPの80番ポート)を設定します。
AWS Lambda, CloudWatch, SNS, SSMを活用したApache Webサーバーの監視と自動再起動の技術検証
## はじめに
この記事は、前回の記事に続き、AWS Lambdaを活用したApache Webサーバーの監視・自動再起動設定について解説します。前回の記事の内容をもとに、Lambda関数を使ったさらなる自動化の手順を紹介します。
https://qiita.com/free-honda/items/d7eb9e39cfc95ac6e91b
今回の記事では、Lambda関数を使ってApacheサービスを自動再起動する手順を追加し、その設定方法を詳しく説明します。
## 知識整理
:::note warn
[前回の記事](https://qiita.com/free-honda/items/d7eb9e39cfc95ac6e91b)では、以下の内容について説明しました。**前提準備:AWS環境の準備**
**⓵Apacheのインストールと設定**
**⓶CloudWatchエージェントのインストール**
**⓷CloudWatchエージェントの設定ファイルの作成**
**⓸ApacheのHTTPポート監視**
**⓹CloudWatchアラームの作成**
:::これに
【AWS】route53で独自ドメインを取得する
# はじめに
検証で度々ドメインが必要になるため、route53で独自ドメインを取得してみることにしました。
アウトプット習慣をつけがてら記録しておきます!スクリーンショットを載せているので本記事通り進めるだけでドメインの取得は可能です。
仕組みを理解したいと思っている方の中で、以下の単語の意味が全く分からないという方はまずDNSという技術について勉強するのがお勧めです。
– 独自ドメイン
– TLD(トップレベルドメイン)
– ホストゾーン
– ネームサーバー
– レコード(例:Aレコード、CNAMEレコード等)# 独自ドメインの取得方法
## 1.全体の流れ|項番|作業内容|
|:–:|:–|
|1|マネジメントコンソール上からRoute53に遷移|
|2|取得したい独自ドメインを選択|
|3|購入手続き|
|4|登録成功の通知がきたら取得完了|## 2.取得方法
### 2-1. route53に遷移
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2574
お名前.comで取得したドメインをRoute53に登録。サブドメインも作ってECSごとに振り分ける
タイトルの通りです。同じVPCの中で複数のサーバーにドメインを割り当てたい時、その分ドメインを取得したり、証明書を発行しないといけないわけではないんです。
![maji-noka.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/920917/aa46257c-02de-14e9-e237-2e99f4b08a90.png)
# 手順
– お名前.comでドメイン取得
– Route 53に登録
– お名前.comのNS
– ACMで証明書発行
– ターゲットグループの作成
– ALBの作成
– Route 53にAレコード、CNAMEを登録
– サブドメイン作成
– ECSにてサービス作成# お名前.comでドメインを取得
ドメイン取得自体は特に難しくないので、ドメイン登録画面からお好きなドメインを検索して取得する。
UI/UXが~~うざ~~徹底されていて何かとお金を発生させようとしますが迷うことなくドメイン取得のみを行ってください。
![スクリーンショット 2024-10
CloudWatchでApache httpdサービスを監視し、停止時にメール通知アラートを発生させる方法
## はじめに
本記事では、CloudWatchエージェントを使用してApache WebサーバーのHTTPSサービスを監視し、停止した際にアラートを発生させる方法について解説します。CloudWatchエージェントは、Apacheのログやシステムメトリクスを収集し、監視やアラートに活用できる有効なツールです。
実務では、Datadogというクラウドに最適化した監視製品を使用していますが、この機会にCloudWatchについても備忘録として整理していきます。
## 知識整理
### EC2
Amazon EC2はAWSが提供するスケーラブルな仮想サーバーです。ここでは、EC2上に構築されたApache Webサーバーの状態をCloudWatchエージェントで監視します。https://aws.amazon.com/jp/ec2/
### Apache
ApacheはHTTP/HTTPS通信を提供するWebサーバーで、今回の対象となるサービスです。特に、HTTPポート(通常80)での監視を行います。https://hnavi.co.jp/knowledge/blog/a
dbtとAthenaで管理されていないテーブル一覧を出力する
# 目的
[dbt-core](https://github.com/dbt-labs/dbt-core)と[dbt-athena-community](https://github.com/dbt-labs/dbt-athena)を使い、Amazon Athenaへデータモデルを構築しています。
運用していくうえで、
– Athenaにあるテーブルがdbt側で管理されていない
– dbt側にある定義のテーブルがAthenaにないこの2つについて、管理し定期的にメンテナンスがしたくなりました。
そこで、dbtとAthenaいずれかで管理されていないテーブル一覧を出力するスクリプトを作りました。
# コード
先にコードの全容と、実行結果です。
“`bash
#!/bin/bashdbt_content=”name,resource_type,schema\n”
glue_content=”name,resource_type,schema\n”
dbt_data=”dbt_output.csv”
glue_data=”glue_output.csv”# sou
「AWS Hands-on for Beginners Serverless AWS Amplify を用いた Web サイトの構築方法を学ぼう」をAWS CLIでやってみる
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-amplify-2022-reg-event.html?trk=aws_introduction_page
上記、「AWS Hands-on for Beginners Serverless AWS Amplify を用いた Web サイトの構築方法を学ぼう」 をAWS CLIでやってみる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3297641/37f90f5a-186e-22c8-6ab7-1046cdb3cc20.png)
ハンズオンから引用:::note alert
Cloud9は新規利用できなくなりました。
今まで利用したことがあるアカウントはまだ利用できるようです。
:::# 02 AWS Amplify のハンズオン(環境構築、Cloud9 編)
## Cloud9環境構築
### Cloud9環境構築 (CloudShellで実施
AWS EventBridgeでのワイルドカード活用法まとめ
# はじめに
本記事では、EventBridgeでスケジュールルールを設定する際に使用するワイルドカードについて学んだ内容をまとめました。EventBridgeでスケジュールルールを作成する機会があり、どのようにすれば想定通りのスケジュールで実行されるルールを設定できるかを学んだので、その内容を整理しました。
ちなみに、作成したルールは1時間に3回実行する(毎時0分、20分、40分に実行する)ようなルールだったため、最初はrate式でやるかなと思ったんですが、最終的にはワイルドカードを使い、cron式で設定しました。:::note warn
注意:EventBridgeで設定する時刻はUTCです。日本時間(JST)で想定した時刻に実行されるように値を設定してください。EventBrigdeでは設定したcron式が以後どのタイミングで実行されるか確認することができ、タイムゾーンもUTCとローカルタイムゾーンで切り替えることができるので、設定前にはそこで確認することをお勧めします。
![image.png](https://qiita-image-store.s3.ap-northea
New RelicによるAWSの監視をTerraformで自動化する(第2回: アラート)
# 前回
https://qiita.com/neruneruo/items/3a1739d6726abd9432b4
# はじめに
New Relic記事第二弾。
前回は、AWSのメトリクスを、CloudWatchメトリクスストリームを使ってNew Relicに転送してサマリを監視するところまでをTerraformで自動化した。今回は、メトリクスを監視してアラートを作成する部分を構築する。もちろん、Terraformでの自動化方法についても紹介する。
# アラート作成
前回作ったLambda関数は一定確率でエラー終了して、Lambda Function URLsで500応答を返すようにしている。“`python
import json
import randomdef lambda_handler(event, context):
random_value = random.random()if random_value < 0.5: return { 'statusCode': '200', 'body': json.
AWS 名前にHubがついているサービスのまとめ
# はじめに
AWSのプラクティショナーの勉強をしていたらHub系の名前がついたサービスがいくつかあったのでまとめておきます。# 一覧
よく出題される範囲ではこの3つがありました。– AWS Security Hub
– Cost Optimization Hub
– AWS Migration Hubそれぞれ簡単に紹介します。
# AWS Security Hub
単一のアカウント内だけでなく複数のアカウントをまたがってセキュリティのアラートを集めて一元管理ができるようです。
複数アカウントの指定の方法は以下の2つです。
– AWS Organizationsを使った方法 (推奨)
– AWS Organizationsを使わない方法上の方法では、AWS Organizationsを使って一元管理されたアカウントを指定できます。
下の方法では、どれかのアカウントを管理アカウントとして、そのアカウントから他アカウントを招待することができます。# Cost Optimization Hub
こちらもAWSをアカウントをまたがってコスト管理ができるようです。C
AWS EventBridgeとSSMのRun Commandを活用したEC2インスタンスのApache自動起動
## はじめに
AWS Systems Manager (SSM) の Run Command は、AWS環境内のEC2インスタンスなどをリモート操作できる強力なツールです。Run Commandの基本的な使い方については、前回の記事でも詳しく説明していますので、興味がある方はぜひご覧ください。
https://qiita.com/free-honda/items/f2a2e922a826c2b45a18
https://qiita.com/free-honda/items/071fc55d2c8f2aee57c3
この記事では、EventBridgeを使用してEC2インスタンスの起動を検知し、Lambda関数をトリガーとしてSSMコマンドを実行します。
さらに、指定のインスタンスにApacheのサービスを自動起動させる自動化の流れを解説します。
## 前提条件
この手順では、AWSの各種サービスを活用して、インスタンスの起動を動的に検知し、Apacheサービスの起動を自動化するフローを構築します。![image.png](https://qiita-image-st
AWS EventBridgeでEC2インスタンスの起動を検知し、LambdaとSSMを連携して自動化する方法
## はじめに
AWS Systems Manager (SSM) の Run Command は、AWS環境内のEC2インスタンスなどをリモート操作できる強力なツールです。この記事では、EventBridgeを使用してEC2インスタンスの起動を検知し、Lambda関数をトリガーとしてSSMコマンドを実行し、指定のインスタンスにメッセージを出力する自動化の流れを解説します。
Run Commandの基本的な使い方については、前回の記事でも詳しく説明していますので、興味がある方はぜひご覧ください。
https://qiita.com/free-honda/items/f2a2e922a826c2b45a18
## 前提条件
この手順では、AWSの各種サービスを活用して、インスタンスの起動を動的に検知し、コマンド実行まで自動化するフローを構築します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/391af16a-d1b1-42ac-784e-d1354399b
実務でAWSのECRを作成する際に注意したこと
## はじめに
ECRを作成するにあたり、どんな設定が必要なのか?何に注意しないといけないのか?がわからなかったのでざっくりしらべたことをまとめる## 調査する要件
AWSでECRを作成するにあたり必要な要件は以下を考える必要がある。例:amazonlinux2-aarch64-3
– OSをどうするか?
– CPUアーキテクチャをどうするか?
– バージョンをどうするか?## OSについて
Amazon Linux2やさまざまなOSを選択でき、他のLinuxディストリビューションやWindows Server等も選択可能である。一方で、Amazon Linux2は安定性とOSのサポートが受けられる。
AWSが提供しているOS?だから優遇されているなと所感を感じたが、サポート期間を考慮しないといけない。
### Amazon Linux2とLinux2023のそれぞれのサポート期間
サポート期間は以下となっている。
– AmzonLinux2:2025年6月30日
– Ama
ECS on Fargate構成にする際の効果的なコスト削減案(Arm化含む)
少し前、アプリケーションをAPI Gateway + Lambda構成からELB(ALB) + ECS on Fargate構成に置き換えました。理由は、Lambdaの同時実行数を超えるほどのトラフィックが発生して、より安定したスケーリングが必要になったからです。
ECS on Fargateへの移行後、負荷への耐性は向上したのですが、Lambdaと比べると常時課金されるELBやFargateのコストが増加し、新しい悩みの種になってしまいました。
今回の記事では、コスト削減のために行ったいくつかの施策をまとめました。
## 1. 開発環境のリソースを最小限に抑える
Fargateの料金は、使用するvCPUとメモリのサイズに応じて課金されます。そのため、トラフィックが少ない開発環境では、リソースを最小限に抑えることでコスト削減が可能です。今回は、最低限のスペックとして`256(.25 vCPU), 512 MiB`を設定しました。![スクリーンショット 2024-10-12 8.04.26.png](https://qiita-image-store.s3.ap-northea
【備忘録】AWS Backupでk3sクラスタを復元する時の注意点
お試しk3sクラスタをAWS EC2上で運用しています。暫く使わないので、AWS Backupを使ってバックアップ・レストア(復元)を試しました。
AWS Backupは大変便利で、EC2をバックアップするとついでにアタッチされたEBSボリューム一緒にバックアップしてくれます。ですが、私が試しに使ってみると、問題になる点がいくつかありました。
* 復元したEC2インスタンスには元のプライベートIPアドレスが割り振られず、違うアドレスになってしまう。
* 復元したEC2インスタンスにSSHでログインしようとすると、「SSHのホスト鍵が変わっている」と盛大に叱られてしまう。
* k3sで使う証明書を作り直す必要がある。# 元のプライベートアドレスを保持してEC2インスタンスを復元する
バックアップした時と同じプライベートIPアドレスにしてあげないと、k3sクラスタが復元後にまともに動作しなくなります。しかし何も考えずにAWSコンソール上で復元すると勝手に違うアドレスに割り振ってしまいます。
元のプライベートIPアドレスを保持して復元する方法は、以下に書いてあります。https:/
インターネットに公開したインスタンスがどれくらい攻撃を受けるのか試してみた(1Hで200件以上のアクセス!!)
## はじめに
皆さんAWS使っていますか?
どうも駆け出しエンジニアです、私もAWSに触れる機会が増えました。そこで1つの疑問が。
「こんなにも素早くサーバーを構築可能だが、実際にインターネットに公開したサーバーはどの程度攻撃を受けるリスクがあるのだろう…?」もしかすると中には、「検証で1時間も使わないし、とりあえず全てのトラフィック許可しておくか」と思った経験は無いでしょうか。
今回は実際にAWSのEC2に「T-Pot」をインストールしてどのくらいアクセスされているのかを調査しました。
#### T-Potとは
マルチハニーポットプラットフォームで、様々なツールや罠が用意されています。複雑な設定を必要としないにも関わらず様々な機能を利用できるのが特徴です。>ハニーポット(honeypot)とは、あえてシステムへの不正侵入を許して攻撃手法や何をターゲットとしているのかを分析する、「おとり」のようなシステムのことです。本来ハニーポット(honeypot)を直訳すると、「ハチミツが詰まっている壺」という意味があります。つまり、ハチミツの匂いで動物や昆虫を
Amazon SageMaker と GitHub の連携
### 手順
1. Amazon SageMaker ドメインへの GitHub リポジトリの登録
1. Amazon SageMaker -> ドメイン -> ドメインの詳細 -> 環境 に遷移
2. ドメインの推奨コードリポジトリより「アタッチ」ボタンを押下
3. JupyterServer アプリ・JupiterLab アプリそれぞれに対象の Git リポジトリの URL を登録2. Code Editor 内でのリポジトリのコードの取り込み
1. Amazon SageMaker CodeEditor の対象ブックを開く
2. Explorer より「Clone Repository」を選択
3. GitHub の認証を通し、対象のリポジトリを選択して Clone3. git config の設定
1. GitHub のユーザー名、メールアドレスを設定する
“`$ git config –global user.name “your name”“`
“`$ git config –global user.
テスト
テスト投稿
AWS Systems Manager Run Commandを利用したEC2インスタンスの管理とコマンド実行ガイド
## はじめに
SSM(AWS Systems Manager)Run Commandは、AWS環境内でリモート操作を可能にする強力なツールです。主にEC2インスタンスやオンプレミスサーバーに対してコマンドを実行したり、ファイル転送やパッチ適用などの運用タスクを自動化するために利用されます。
本記事では、SSM Run Commandを使った技術検証の具体的な手順について解説します。
## 前提条件
:::note
**IAM Roleの設定:**
最新のAmazon LinuxやWindows Serverにはプリインストールされていますが、手動でのインストールが必要な場合もあります。
“`
AmazonSSMManagedInstanceCore
AmazonEC2RoleforSSM(古い場合)
“`**SSMエージェントのインストール:**
最新のAmazon LinuxやWindows Serverにはプリインストールされていますが、手動でのインストールが必要な場合もあります。**AWS CLIのセットアップ:**
コマンドを実行するマシンにAWS