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

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

セキュリティグループIDを指定してEC2同士の接続制御をする時のポート番号の指定は必要?

こんにちは、ふくちと申します。

今回は友人からふと言われた、
**「セキュリティグループIDを指定してEC2同士の接続制御をする時に、ポート番号の指定って必要なんやっけ?」**
という疑問について検証してみました!

# そもそもEC2の接続制御って何を使うべき?
これは**セキュリティグループを用いるのがベストプラクティス**です。ネットワークACLでも接続制御はできますが、ベストプラクティスはセキュリティグループの利用です。
下記の公式ドキュメントに明記されています。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-best-practices.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3616210/9bb0cf7f-c1b5-4826-c816-3b181408c3fc.png)

ベストプラクティスに従い、セキュリティグループを用いて接続制御を行っていきます。

# EC2同士で接続

元記事を表示

AWSのECSファーゲートでウェブアプリをデプロイしたい

# コンテナをそのまま使えるやつ?
fargateってdockerコンテナをそのまま使えてドメインまで与えながらロードバランサーも簡単につけられるプロダクトってイメージ持ってます。※合ってるかは知りません
ただ設定がすごくめんどくさかったので備忘録で残しておきます。

# 手順
## 1、ECRを作成してimageをpush
Amazon Elastic Container Registryでリポジトリを作成

プッシュコマンドを表示 でCLIを用いてpushできる
自分はshellファイル作りました。
“`shell
## AWSにログイン
aws ecr get-login-password –region ap-northeast-1 | docker login –username AWS –password-stdin
## dicker imageのビルド
docker compose up -d
## imageにtag付け
docker tag dev-indeed-entry-express:latest 6546543187

元記事を表示

不要なリソースの稼働時間、コストを削減する方法

## はじめに
今回は、**不要なリソースの稼働時間、コストを削減する方法**について、整理しました。今回ご紹介する内容を活用すると、毎回、必要な時ににインスタンスを起動したり、停止したりする手間が減るので、アプリケーション開発に集中する事が出来ると思います。

## **想定されるケース**
**開発チームとテストチームは、営業日の営業時間中に作業しますが、本番環境は 24 時間、365日稼働しています。最小限の運用労力でコストを削減するために何をすべきでしょうか?**

## **ソリューション**
最小限の運用労力でコストを削減するために、開発およびテスト環境のリソースを営業時間外に停止し、営業時間中に再起動することが効果的です。これにより、不要なリソースの稼働時間を削減し、コストを削減できます。

営業日の夕方に実行される Amazon EventBridge ルール`StopInstancesRule`を作成します。タグに基づいてインスタンスを停止する AWS Lambda 関数`StopInstancesFunction`を呼び出すようにルールを設定します。営業日の午前中

元記事を表示

Denoでのシグナルを使ったプロセス停止ハンドリング

## この記事の概要
この記事は、常時実行している処理のプロセスを修了した際に処理途中で停止を防ぐ方法を学びましたので記事として残します。
間違った情報を記載している可能性がありますので温かい目で読んでいただければと思います。

## 通常のプロセス停止
以下に擬似的に処理を100%で完了と表示されるサンプルコードをDeno(TypeScript)で記述しています。
“`typescript
console.log(“Start”);

while(true) {

for (let i = 1; i <= 10; i++) { console.log(`${i*10}%`); if( i === 10 ) { console.log("Complete!"); } // 1秒まつ await new Promise((resolve) => setTimeout(resolve, 1000));
}

}

console.log(“Exit”);

“`
今回常時実行を無限ループで表現しており、実際にこのコー

元記事を表示

未来を先取り!サーバーレスコンピューティングを徹底解説

# はじめに

サーバーレス大好きなエンジニアです!
今日は、最近急上昇中の「サーバーレスコンピューティング」について紹介します!
サーバーレスの実態や使われている事例も含めて書いていきたいと思います!

# 対象読者

– サーバーレスコンピューティングに興味がある方
– 最新の技術トレンドを追いかけたい方
– クラウド技術に関心のある方
– 新しいアーキテクチャの設計を学びたい方

# 目次

1. サーバーレスコンピューティングとは
2. サーバーレス技術の進化とトレンド
3. サーバーレスのメリットとデメリット
4. サーバーレスアーキテクチャの設計方法
5. 実際のケーススタディと成功事例
6. サーバーレスを使用する際のベストプラクティス
7. 今後のサーバーレスの展望

# 1. サーバーレスコンピューティングとは

サーバーレスコンピューティングという言葉を初めて聞いたとき、多くの人は「サーバーが無くなるの?」と驚くかもしれません。でも、実際には「サーバー」そのものがいつもそこにあるのです。サーバーレスコンピューティングとは、クラウドプロバイダーによってサーバー管理が完

元記事を表示

Cloud Formationテンプレートをはじめて書く人へ

# Cloud Formationとは
AWS CloudFormationはAWSのインフラストラクチャをコードで管理するサービスです。JSONやYAML形式でリソース情報を記述し、CloudFormationに読み込ませると自動的にリソースを構築することができます。このコードによって構築されたリソースの管理を行うため、リソースの変更・削除が容易にできるというメリットがあります。さらに、同じリソースを横展開する際には既存のコードをそのまま利用できるため、複製の効率化も図れます。

### テンプレートとは
テンプレートとはAWS上に構築するリソースの情報を記述したコードのことを指します。CloudFormationではJSONまたはYAML形式をサポートしています。このテンプレートを使ってAWSリソースを自動で作成・変更・削除することができます。

### スタックとは
スタックとはテンプレート(インフラを定義するコード)によって作成されるリソースの集まりを指します。スタックを作成する際はテンプレートで定義されたリソースが一括で作成されます。その際、リソースの構築順はCloudF

元記事を表示

Redshift Serverless の RPU の使用量の推移をみる

## SQL

“`SQL
— where句は JST に変換してる
SELECT * FROM SYS_SERVERLESS_USAGE
where start_time >= (timestamp ‘2024-07-10 15:00:00′ – time ’09:00:00’)
and end_time <= (timestamp '2024-07-10 17:00:00' - time '09:00:00') order by start_time asc limit 200; ``` ## リンク * [テーブルのカラム毎の役割とか](https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/SYS_SERVERLESS_USAGE.html) ※割り当てられた RPU 以外にも実際に計算した時間とかも見れる

元記事を表示

PythonスクリプトがLambdaにアップロード出来ない問題について

# 発生した問題について
Pythonでスクリプトを作成し、AWS Lambda上で実行するような検証を行っていた。
スクリプトの概要としては、Python SeleniumでWebサービスのログイン画面をスクレイピングして、各XPathに必要な項目を入力するというもの。

いざ作成したスクリプトをLambdaにアップロードしようとすると…
~~~AWS CLI:エラーメッセージ
An error occurred (RequestEntityTooLargeException) when calling the PublishLayerVersion operation: Request must be smaller than 70167211 bytes for the PublishLayerVersion operation
~~~
どうもZipのファイルサイズが70167211バイト(約66.92MB)より大きくアップロード出来ないようです。
このあと何度も不要なファイルやディレクトリを削除し、Zip化して、アップロードを繰り返すわけですが、一向に上手くいかず…

# 解決

元記事を表示

痒いところに手が届くAWS便利ツールがAIで5分で作れた件

## 概要

毎回AWSの操作でちょっと不便だったものをAIを使ってシェルのアプリ化をしてみました。ほぼ一発で綺麗に動作してくれました。

書き出されたコードは以下に置いておきます。

https://github.com/michihitoTakami/benri_tools

以下こんなスクリプトを書きました、というのを置いておきます。

## AWS CLIを実行の為の2段階認証を対話形式で実行するプログラム

### 入力したプロンプト
“`
以下のコマンドでAWSの2段階認証で返ってくるJSONの内容を出力する内容に変換して表示するスクリプトを書いてほしい。
[ ]の箇所はコマンドラインで対話形式で入力出来るようにしたい。
~/.aws/credentialsの内容を参照して、profile名の一覧を取得して選択出来る様にしてほしい。尚profile名は[]でくくられた文字列である。
~/.aws/mfaから各行のリストを取得して、mfa_arnを選択できるようにしてほしい。
かならずシェルスクリプト形式で書くこと。

# コマンド
aws sts get-session-

元記事を表示

S3のクロスアカウントコピーやってみる

## はじめに
S3のオブジェクトを、どうすれば安全にほかのAWSアカウントのs3バケットにコピーできるのか、考えたことがある人もいると思います。
できるだけ、セキュアな方法で安全にコピーするにはどうすればよいか。
今回は、コンソール上からのコピー方法をこちらの記事を参考に試してみたいと思います。

## クロスアカウントコピーのやり方
今回は以下の2通りの方法を試していきたいと思います。
– S3のACLによるクロスアカウントコピー
– IAMユーザーとバケットポリシーの設定によるS3のクロスアカウントコピー
ACLの設定が一番簡単ですが、IP制限など詳細なアクセス制御をしたい場合はIAMユーザーとバケットポリシーによる設定が良いと思います。

## S3のACLによるクロスアカウントコピー
AWS的にはACLを有効にするのは非推奨みたいですが、今回はACLを使ってクロスアカウントコピーをやってみます。
![image.png](https://qiita-image-store.s3

元記事を表示

AWS CloudFormationの最近の変更点

# AWS CloudFormationの最近の変更
AWS CloudFormationでは2023年末から2024年6月にかけて多くの改善・機能追加がありました。
特に下記は「三大変更点」と呼んでもいいかなと思います。

1. [Gitと同期(Git Sync)](#1-git%E3%81%A8%E5%90%8C%E6%9C%9Fgit-sync-202311) (2023/11)
1. [IaCジェネレーター](#2-iac%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BC-202402) (2024/02)
1. [オンラインエディタをデザイナーからApplication Clomposerへ変更](#3-%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC%E3%81

元記事を表示

AWS Lambdaを定期的に実行するためにEventBridgeを設定する [Terraformを使用]

## 要約
最終的なソースコード全体は以下のリンクからご確認いただけます。

https://github.com/mochi-yu/qiita-material/tree/main/lambda-with-event-bridge-by-terraform

## 関連記事
Go言語で記述したスクリプトを、**AWSのLambdaにTerraformを用いてデプロイする**機会があり、その過程の試行錯誤を整理して一連の記事にまとめました。

この記事はそのうちの3本目として、GoのスクリプトをAWS EventBridgeから定期実行する構成をデプロイしてみたいと思います。

– [zipファイルを用いてGo言語の処理をAWS Lambdaにデプロイする](https://qiita.com/mochi_2225/items/1b645f87148899f1bc09)
– [Dockerイメージを用いてGo言語の処理をAWS Lambdaにデプロイする](https://qiita.com/mochi_2225/items/000ee604b3a274b6b62d)
– **Even

元記事を表示

AWS LambdaにGo言語のスクリプトをDockerイメージでデプロイする [Terraformを使用]

## 要約
最終的なソースコード全体は以下のリンクからご確認いただけます。

https://github.com/mochi-yu/qiita-material/tree/main/golang-lambda-by-docker-with-terraform

## 関連記事
Go言語で記述したスクリプトを、**AWSのLambdaにTerraformを用いてデプロイする**機会があり、その過程の試行錯誤を整理して一連の記事にまとめました。

この記事はそのうちの2本目として、Dockerイメージを用いてLambdaにスクリプトをデプロイしてみたいと思います。

– [zipファイルを用いてGo言語の処理をAWS Lambdaにデプロイする](https://qiita.com/mochi_2225/items/1b645f87148899f1bc09)
– **Dockerイメージを用いてGo言語の処理をAWS Lambdaにデプロイする**(この記事)
– [EventBridgeからAWS Lambdaを定期実行する処理をデプロイする](https://qiita.com/mo

元記事を表示

AWS LambdaにGo言語のスクリプトをzipファイル形式でデプロイする [Terraformを使用]

## 要約
最終的なソースコード全体は以下のリンクからご確認いただけます。

https://github.com/mochi-yu/qiita-material/tree/main/golang-lambda-by-zip-with-terraform

## 関連記事
Go言語で記述したスクリプトを、**AWSのLambdaにTerraformを用いてデプロイする**機会があり、その過程の試行錯誤を整理して一連の記事にまとめました。

この記事はそのうちの1本目として、zipファイルを用いてLambdaにスクリプトをデプロイしてみたいと思います。

– **zipファイルを用いてGo言語の処理をAWS Lambdaにデプロイする**(この記事)
– [Dockerイメージを用いてGo言語の処理をAWS Lambdaにデプロイする](https://qiita.com/mochi_2225/items/000ee604b3a274b6b62d)
– [EventBridgeからAWS Lambdaを定期実行する処理をデプロイする](https://qiita.com/mochi_22

元記事を表示

AWSをローカル環境で試せるLocalStackの環境構築

# はじめに
こんにちは、H×Hのセンリツ大好きエンジニアです。(同担OKです😉)

AWSを用いた開発、どうしてますか?
Lambdaでバッチ処理を行いS3バケットに保存する、みたいな動作をローカルで試してみたいですよね。

今回は、そんなあなたにピッタリのLocalStackの紹介と環境構築をしていきます!😁

# LocalStackとは

https://www.localstack.cloud/

AWSをローカル環境で開発・テストすることができるサービスです。
正確には、**AWSをローカル環境にエミュレートしてくれるサービス**です。

### ローカルでAWSが試せるので、AWSの利用料は掛かりません!

ただ、サービスによってはLocalStack自体が有料プランになりますのでそこだけ注意🤯

# LocalStackの環境構築
方法はいくつかありますが、今回はDockerを使っていきます!

“` docker-compose.yml
version: “3.8”

services:
localstack:
image: localstack/loc

元記事を表示

TestRailとPostmanを連携して、APIテストを自動化しよう!

# はじめに〜TestRailとは?〜
TestRailはテスト管理ツールで、テストケース、テスト結果、エビデンス、レポートなどのテストに関する成果を全て一元管理できます。
TestRailでは以下のようにテストで辟易するような方向けのサービスです。

* 従来のExcelによる辟易するような属人性の高いフォーマット
* バラバラの場所で管理され、探すのに苦労するテスト結果エビデンス
* 最終結果が出てくるまで不透明なテスト進捗状況
* ファイル上書きなどによるテスト結果の意図しない(?)改竄

このようにTestRailは、Excelと比較してチームコラボレーション、リアルタイムの進捗状況追跡、テスト自動化、レポート自動生成、バージョン管理など、多くの利点があります。

## TestRailの使い方をざっくりと解説
まずはTestRailについて、使い方をざっくり解説します。

:::note warn
なお、説明で用いる画像はオンプレ版v7.0.2と少し古めのTestRailとなります。
最新のver.8では、グラフやレポート機能が強化されているだけでなく、承認者機能なども追加

元記事を表示

AmazonLinux2023でパッチマネージャーを使用せずにセキュリティアップデートを自動的に適用する方法

Amazon Linux2等でyum-cronでやっていた方法のAmazon Linux 2023版。
AWSの Patch Manager 経由でなく、OSのみでパッチ(セキュリティアップデートのみ)を適用する方法。

## インストール

“`bash
$ sudo dnf install dnf-automatic
“`

## リポジトリの設定
常に最新のリポジトリからとる設定。

“`bash
$ sudo vi /etc/dnf/vars/releasever
latest
“`

## 設定
セキュリティアップデートのみ適用する。

“`bash
$ sudo vi /etc/dnf/automatic.conf

upgrade_type = default

upgrade_type = security

apply_updates = no

apply_updates = yes
“`

必要であれば通知先メールアドレスの設定(デフォルト:メールは送らずログ出力のみ)や再起動の有無(デフォルト:再起動しない)をします。カーネルや特定パッケー

元記事を表示

知っておくべきクラウドコンピューティングの基本と最新トレンド!

# はじめに

クラウドコンピューティングについて、どれだけ知っていますか?
今や切っても切れないこの技術、実はとても奥が深いんです。今日はその基本から最新トレンドまでを書いていきます!これを読めば、クラウドの世界が好きになっていただけると嬉しいです!

## 対象読者

– クラウドコンピューティングが気になる方
– クラウド技術を基礎から学びたい方
– クラウドの最新トレンドを知りたい方

## 目次

1. クラウドコンピューティングとは
– クラウドの歴史と基本概念
– クラウドの主要サービスモデル(SaaS, PaaS, IaaS)
2. クラウドの利点と課題
– クラウドのメリット
– クラウドの課題とその対策
3. 主要なクラウドサービスプロバイダー
– AWS, Azure, GCP
– 各プロバイダーの強みと特徴
4. 最新のクラウドトレンド
– サーバーレスアーキテクチャ
– マルチクラウドとハイブリッドクラウド
– クーバネット(Kubernetes)とクラウドネイ

元記事を表示

MacBook のメトリクスを CloudWatch で監視したいんだ!

## はじめに

当初は `Raspberry Pi` に `CloudWatch Agent` をインストールして、`CloudWatch` で監視することを文章にしようと思っていましたが、 `Raspberry Pi` で実施した手順を整理し直すために、`MacBook` で同じ手順をやってみることにしました。

## この記事のゴール

– MacBook に `CloudWatch Agent` をインストールできるようになります。
– MacBook のメトリクスを `CloudWatch` で監視できるようになります。

## 背景

`Raspberry Pi` を `NAS` として使っているのですが、いつも間にか `NAS` が落ちている状況に遭遇していました。
落ちていても気づかないので、`CloudWatch` で監視したいと考えた次第です。
`Raspberry Pi` では `CloudWatch Alerm` を設定するところまで実施しましたが、今回は省略します。

## 前提条件

– 利用端末 : `MacBook Air` `Apple M3` `ma

元記事を表示

Terraformの`tfstate`を端末が変わっても管理できるようにS3に配置する

## 要約
最終的なソースコード全体は以下のリンクからご確認いただけます。

https://github.com/mochi-yu/qiita-material/tree/main/terraform-remote-state

## 関連記事
**Terraformの開発環境を整理**したのを備忘録も兼ねて複数の記事にしています。この記事はそのうちの2本目として、「Terraformの`tfstate`をS3で他者と共有して管理する」ことについてまとめます。

– [Terraformで開発環境と本番環境を分けて管理する](https://qiita.com/mochi_2225/items/5287ca115054746d90f9)
– **Terraformの`tfstate`をS3で他者と共有して管理する**(この記事)

## 背景
複数人のチームで開発をしていると、**インフラの構成を管理する人が複数人いる**ということもあるかと思います。または、**先代の担当者からインフラの管理を引き継ぐ**こともあるかもしれません。

「構成はTerraformで管理しているからGi

元記事を表示

OTHERカテゴリの最新記事