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

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

EC2 AutoScalingのヘルスチェック猶予期間の算出方法

# はじめに
AutoScalingのヘルスチェック猶予期間のパラメータの算出方法を備忘として書いておきます。

# そもそもAutoScalingのヘルスチェック猶予期間とは?
AutoScalingのヘルスチェックには以下2つのタイプがあります。
・EC2
・ELB
EC2の場合、EC2のステータスチェック(コンソール上2/2OKと出るもの)が評価され、正常な状態であれば、AutoScalingは対象のEC2を正常とみなします。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/monitoring-system-instance-status-check.html

ELB側を選択すると、ELBのヘルスチェック(HTTPやTCP)結果を元に正常か判断されるため、EC2だけでなく、アプリケーションとしての正常性も評価可能であることから、通常ELBタイプを選択しておくことが望ましいです。
ただし、AutoScalingが発動し、ELBのヘルスチェックに合格する前にAutoScalingがヘルスチェックをしてしま

元記事を表示

【AWS】特定のIPに関するSecurity Groupのルール追加をSCPで制限できるか検証、調査してみた

AWS認定試験の練習問題を公開しているサイト[EXAMTOPICS](https://www.examtopics.com)のAWS認定SAP-C02試験、問題44について検証、調査してみました。
※EXAMTOPICSはサイト運営公式回答の他にコミュニティーの投票機能があり、正解が割れることが多々あります。
## 問題解説
問題文は[こちらの公式](https://www.examtopics.com/exams/amazon/aws-certified-solutions-architect-professional-sap-c02/view/5/)から参照。
### 問題概要
AWS Organizationsで管理しているOUに属するアカウントに対して、Security Groupに特定のIPアドレス(0.0.0.0/0)を接続元として含むインバウンドルールの作成を拒否したいがどうすればよいか。
### 回答
公式回答、コミュニティー投票が大きく割れた問題となっています。
①SCPから”aws:SourceIp”コンディションキーで条件指定して許可する(EXAMTOPICS公式

元記事を表示

AWS Batch 備忘録

# はじめに
エンジニアとなり約半年。
最近、業務でAWS Batch を使用することがあり、「なんじゃこれ?」となったので、調査したことを備忘録として載せます。まだまだビギナーエンジニアなので、不足点とかあればすみません。

# AWS Batchとは?
簡単にいうと、大規模計算におけるバッチ処理を効率的に行なってくれるサービスです。
バッチ処理を行う際、AWS Batch が自動でインスタンスをプロビジョニングしてくれます。
[AWS Batch 公式ドキュメント](https://aws.amazon.com/jp/batch/)

# AWS Batch の設定
AWS Batch では、「ジョブ」「ジョブ定義」「ジョブキュー」「コンピューティング環境」を設定する必要があります。それぞれ見ていきましょう。
– ジョブ
– ジョブ定義
– ジョブキュー
– コンピューティング環境

### ジョブ
AWSによって実行される作業単位のことです。ジョブ定義に基づき作成されます。
パラメータには以下のようなものを設定します。
– 元となるジョブ定義
– 投入先ジョブキュー 等

#

元記事を表示

AutoScalingで、別VPCにENIを作ってEC2にアタッチ(ユーザーデータ編)

# はじめに
前回、AutoScalingでスケールアウト時に、別VPCに作っておいたENIをアタッチする仕組みを、ユーザーデータで実装した内容を記事にしました。

https://qiita.com/a_b_/items/b42aaaff989681c186b6

今回は、都度ENIを作ってアタッチする仕組みをユーザーデータで実装しました。

# 概要
ユーザーデータでインスタンス起動時に、以下を行います。
1. ENIを作成
– インスタンスとは別VPCに作ります
1. インスタンスにアタッチ
1. ”EC2終了後に自動削除を有効”の設定に変更

そのため、上記を行う権限をインスタンスに付与しています。

# 参考

以前、Step Functionsを使って同様のことをやっていますので、そちらも参考にしてください。

https://qiita.com/a_b_/items/76d707635bfc1f1d3337

# CloudFormationテンプレート

CloudFormationは以下になります。単純になるよう、AZは一つです。

元記事を表示

Amazon Q network troubleshootingを使ってネットワークトラブル対応してみた

# 1.Amazon Q network troubleshootingとは
Amazon Q network troubleshootingは、Amazon VPC Reachability Analyzer と連携する Amazon Q の機能です。AWS アカウント内のネットワーク層リソース間の通信におけるトラブルシューティングを行ってくれます。
2024年2月現在プレビューリリース中で、バージニア北部リージョンで利用可能です。対応言語は英語のみとなります。
また、1日に20回まで質問可能という制約があり、24時間ごとにリセットされます。

以下のリソース間のネットワークトラフィック制御を分析できます。
 ・EC2
 ・RDS
 ・Auto scaling group
 ・Elastic network interface
 ・Internet gateway
 ・NAT gateway
 ・Transit gateway
 ・Virtual private gateway
 ・VPC
&e

元記事を表示

AWS Cognitoで認証したJWT(トークン)の有効性チェック

クライアントサイドで認証したトークンをサーバーサイドでもチェックする場合のチェック処理です。

# 初歩的なチェック処理。
“`java:ValidationUtil.Java
package com.yksc.lambda.util;

import java.net.URL;
import java.security.interfaces.RSAPublicKey;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.nimbusds.jose.jwk.JWK;
import com.nimbusds.jose.jwk.JWKSet;

public class ValidationUtil {
public static void main( String[] args ) throws Exception {
String region = “us-east-1”;
St

元記事を表示

AWS Lambdaで日本時間を扱う

AWS Lambdaの関数内で、日本時間をUNIX時間に変換する処理を実装した時に、9時間足されたUNIX時間に変換されてしまいました。
コードは下記の感じ。
“`csharp
if (DateTimeOffset.TryParse(input, out DateTimeOffset dateTimeOffset))
{
DateTime dateTime = dateTimeOffset.DateTime;

long unixTimestamp = ((DateTimeOffset)dateTime).ToUnixTimeSeconds();
return unixTimestamp.ToString();
}
else
{
return string.Empty;
}
“`
`input`に日本時間(フォーマット:`2024-01-01T00:00:00+09:00`)の文字列が入ります。
上にコードを示しましたが、このコードには特に問題はありません。

# 解決方法
Lambdaの環境変数を追加する。
– キー:`TZ`
– 値:`Asia/

元記事を表示

Next.jsとAWS Amplifyを利用してWebサイトを爆速構築する

# はじめに
最近作成したWebサイト「[Entools](https://entools.tona-h.com/)」はNext.jsを利用しています。
ホスティング先としてAWS Amplifyを利用することで爆速構築することができました。
今後この構成を流用していくため構築手順を記載していきます。

# 前提
– AWSアカウント作成済み
– AWSの基本的な知識あり
– GitHubのリポジトリあり

# Next.jsのインストール+プロジェクト作成
[公式サイトの手順](https://nextjs.org/docs/getting-started/installation)を基にNext.jsのインストールとプロジェクト作成を行います。

“`shell:Next.jsインストール+プロジェクト作成
npx create-next-app@latest
“`

# amplify.ymlの作成
amplifyのカスタムビルドスクリプトをamplify.ymlに記載し、プロジェクトルートに配置します。

“`yml:amplify.yml
version: 1
fron

元記事を表示

AWSのLIGHTSAIL(WordPress)にHTTPS設定をするだけの話

AWSのLIGHTSAILにSSL設定をします。
route56を使ってSSL証明書を発行して、というのではなく、Let’sEncyptを使用した簡単なコマンドだけで実装できる方法です。

## 前提条件
* ドメインのネームサーバを「お名前.com」のような外部サービスを使用している
* ドメイン設定済み
* LightSailのWordPressインスタンスを使用している

1. SSHでサーバログイン
2. bncert-toolを実行する
3. ウェブサイトで HTTPS を使用しているかどうかをテスト

## 1. SSHでサーバログイン

“`
ssh -i ~/.ssh/{LightSailのSSHキー名}.pem bitnami@{LightSailのIPアドレス}
“`
サーバにログインする

## 2. bncert-toolを実行する

下記コマンドでbncert-toolを実行します
WordPressインスタンスには初期でインストールされている

“`
sudo /opt/bitnami/bncert-tool
“`
下記、質問されるので回答する
#

元記事を表示

【超簡単】無料枠内におさまる範囲でAWS環境を構築する

# はじめに

以前、実務で使う AWS 技術を個人で学習するなら『これだけで十分!』という AWS 環境の最小構成 を紹介しましたが、環境構築の方法には全く触れていませんでした。

https://qiita.com/kyooooonaka/items/a20b2c61a19f2e4f337f

そこで、本記事では **『無料利用枠の範囲でも、実務に必要な AWS 技術を十分に学べる AWS 環境の構築方法』** を紹介します。

# 構築環境

今回構築する環境は以下の図のとおりです。

![](https://i.gyazo.com/775940c1165bd60b0ba17dd3705226ed.png)

また、次の手順で環境を構築していきます。

1. VPC の作成
2. サブネットの作成
3. パブリック IP の自動割り当て
4. インターネットゲートウェイの作成
5. ルートテーブルの作成
6. セキュリティグループの作成
7. EC2 インスタンスの作成
8. EC2 インスタンスへ SSH 接続

それでは、実際に環境を構築してみましょう。

# 1. VPC

元記事を表示

Elasticsearchが Unexpected http method: PRIと吐いた件について

# はじめに

みなさんこんにちは。

突然ですが、みなさんはElasticsearchをFargateでデプロイしたことありますか?意外にサイトが少なく、情報が少ないまま私はデプロイしたわけですが。まぁAmazon OpenSearch Serviceがありますから、それ使えばいいじゃんという話ですよねすいません….存在に気づいた時にはすでにFargate使ってたもんですから……

それはそうとして、せっかくならとFargateにHTTPS通信つけてみたんですよね。そしたらElasticsearchから
“`
“java.lang.IllegalArgumentException: Unexpected http method: PRI”
“`
と吐かれまして…..そんでこの原因がめちゃくちゃしょうもなかったので共有したいと思い記事にしました。

# TL;DR

ってことでどのようにして解決したのかって話ですよね。

EC2 > ロードバランサー > Fargateと紐付けてあるNLBを選択 > リスナーの編集 > ALPNポリシー

この部分を「None」にす

元記事を表示

代表的なSAPサービスの違い 

SAPonAWS受験に向け、代表的なSAPサービスの違いについて初心者向けに簡単にまとめました。

## SAP HANA
High-Performance Analytic Appliance
インメモリ(処理が爆速)で列志向(分析が得意)の**データベース**。
普通のDBより処理が早く(数100倍)、分析が得意。
インメモリデータベースのデメリットは、ストレージを利用するDBよりコストが高く、耐久性も低いこと。
SAP HANAではスナップショットやトランザクションログ等の工夫により、障害対策が行われている。

## SAP S/4 HANA
SAP Business Suite for SAP HANA

SAP HANA を用いた[ **ERP(Enterprise Resource Planning)** ](https://e-words.jp/w/ERP.html)**製品**。
経営のため、購買、製造、物流、在庫管理、販売、給与、財務・会計などを一元管理する。
SAP HANAという高性能なデータベースを用いている。

## SAP Commerce (SAP

元記事を表示

Google ColabとAWSを連携して、boto3を使う方法

# はじめに
Lambda関数を実装するなら、まずGoogle Colabでコードの挙動をひとつずつ確かめながら書いていく方が課金を抑えられるのではと気づいたので、手順をまとめました。

# 1.AWS設定ファイルをGoogle Driveに保存する
– config
– credentials
:::note info
macなら
~./aws/config
~./aws/credentials

Windowsなら
%USERPROFILE%.aws\config
%USERPROFILE%.aws\credentials
:::

https://docs.aws.amazon.com/ja_jp/sdkref/latest/guide/file-location.html

# 2.Google Driveのマウント
“`py
from google.colab import drive
drive.mount(‘/content/drive’)
“`

# 3.AWS認証設定
“`py
import os

config_file = “/content/drive/M

元記事を表示

AWS Distro for OpenTelemetry の Amazon EKS アドオン (ADOT Operator) でやれること

Amazon EKS のアドオンに「AWS Distro for OpenTelemetry (ADOT)」というものがあります。説明としては
> ADOT is generally available (GA) for tracing and can also be used for metrics. Amazon EKS add-ons support for ADOT enables a simplified experience through EKS APIs to install one component of ADOT, the ADOT Operator, in your Amazon EKS cluster for your metrics and/or trace collection pipeline.

> ADOT は一般にトレースに使用でき (GA)、メトリクスにも使用できます。ADOT の Amazon EKS アドオンサポートにより、EKS API を使用して ADOT の 1 つのコンポーネントである ADOT オペレーターを Amazon EKS

元記事を表示

アートコレクションサイトのリリース

# はじめに

はじめまして、しゅんすけと申します。
このたび、アートコレクター向けのウェブサイトをリリースしました。
エンジニアが個人開発のサービスを紹介する場としてQiitaは最適だと思ったので、ここに紹介させていただきます。

# サービス紹介
### アートコレクションSNS「exhiwork」

https://www.exhiwork.com

### コンセプト
作家を応援するアートコレクターとつながるSNS

### ピッチ
1. 誰のためか → 資金力のないアートコレクター(自分)
2. どんな課題があるか → 作家・コレクションを発見・共有・記録したい
3. どのように解決するか → ウェブ2.0
4. なぜウェブか → つながりやすく可視化しやすい、実績あるデータ運用
5. ビジネスモデル → 広告モデルからフリーミアムへ

# 機能
1. アカウント登録
2. コレクション登録
3. ネーム(作家・ギャラリー・ジャンル)登録
4. プロフィール閲覧
5. 検索
6. フォロー
7. お気に入り
8. いいね

# 未対応
1. アート画像の掲載
2. 非ログイン

元記事を表示

【AWS】API Gatewayのログ設定方法

## はじめに
API GatewayとLambdaを使ってLINE Botを作成中、デフォルトではAPI Gatewayのログが出力されておらず困ったのでやり方を調べてみました。
※間違いなどあればコメントで指摘をいただけると嬉しいです!

## 結論:専用のIAMロール作成が必要

設定は以下の3ステップ。これで、CloudWatchのロググループにログストリームが出力されるようになりました。

①IAMロールの作成:
「AmazonAPIGatewayPushToCloudWatchLogs」のポリシーを持つIAMロールを作成する

②IAMロールの適用:
上記①のIAMロールをAPI Gatewayの「設定」>「ログ記録」に設定する

②ログ出力の設定:
対象API Gatewayの「ステージ」でCloudWatchへのログ出力を設定する

## 設定手順
### IAMロールの作成
IAMロールを作成します。ポリシーはAWSで用意しているものを使います。
![IAM-menu.PNG](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

AWSでDocker使ってみた。

内容
・はじめに
・実行環境
・全般の流れ
・使用できるサービス
・Cloud9のセットアップ、イメージ作成
・ECRにイメージをアップロード
・VPCを作成
・クラスター作成
・タスクを定義
・サービスを作成
・リソースの削除
・さいごに

AWSサイト:

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-ECS-2022-confirmation_012.html

## はじめに
本記事はAWS学習が本題です。SAA受験と実務に向けて学習します。
この題材にしたのは、使用できるAWSのサービスが豊富であったこと、また、Dockerは理解していたものの扱ったことがなかったため機能を理解するために選択しました。

## 実行環境
Windows11
AWS IAMユーザー(権限は全部持たせてます。)

## 全般の流れ
全般の流れとしては、AWS Cloud9(テキストエディタのようなもの。)でコンテナイメージの作成、AWS ECRにアップロードし、AWS ECS,AWS Fargateで動かしていく。

元記事を表示

AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話(3)

[AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話(2)](https://qiita.com/weeeveeee/items/af46fb3f05a1d823436a)でAWS LIGHTSAILのGITHUB ACTIONS の設定をしました。

ここでは LIGHTSAIL にGITをインストールするところまでやります。
記事を分けた理由としては、ここでもSSHキーがでてきますが、GITHUB actions で使用したSSHキーとは違うものです。
混在しないためにも、別記事にしました。

ここでやることは
1. LIGHTSAILサーバにGITをインストールする
2. LIGHTSAILサーバでSSHキーペアを作成する
3. SSHキーのパブリックキーをアカウントのSSHキーに登録
4. GITHUBの接続を確認する
5. 作業ディレクトリに移動して、git cloneする
6. GITHUB Actions を Re:Run する

## 1. LIGHTSAILサーバにGITをインストールする

下記コマンドでGITをインストールする

元記事を表示

AWS CloudFormationでCognitoを構築してみる

# はじめに
今回はCloudFormationを用いて、AWS Cognitoを構築していきたいと思います。
AWS CognitoはAWSが提供するユーザー認証サービスです。
今回はCognitoを単体で構築し、利用できるところまでやっていきたいと思います。

# 目次
・Cognitoの設定項目
・CloudFormation作成
・利用検証
・最後に
・参考

# Cognitoの設定項目
今回はEメールアドレスを利用したサインインでの実施を想定しています。
また多要素認証はAuthenticator アプリケーションで実施します
アプリケーション統合のコールバックURL設定はhttps://www.yahoo.co.jp/にしております。

上記以外の項目についてはCloudFormationの設定をを見てご確認ください

# CloudFormation作成
Cognitoのユーザープールとそれに関係するユーザープールドメインやユーザープールクライアントを作成します

“`yaml:Cognito.yaml
AWSTemplateFormatVersion: ‘201

元記事を表示

お名前ドットコムのネームサーバを切り替えて別AWSアカウントのホストゾーンへ移行する方法

お名前ドットコムで取得しているドメインのNSを切り替え、あるAWSアカウントにあるホストゾーンを別のAWSアカウントのホストゾーンへ移行する方法です。

お名前ドットコム以外のドメイン取得サービスでもやる事はほとんど変わらないので、参考になれば幸いです。

移行元のAWSアカウントのホストゾーンをエクスポートし、移行先に同じドメイン名でホストゾーンを作成後にインポート、最後にNSの切り替えを行います。

公式の方法でエクスポート・インポートをする場合、エクスポート後にファイルを修正したりなどが面倒だったため、cli53というツールを使いました。

macの場合はbrewからインストールできます。
“`
brew install cli53
“`

windowsの場合は下記からインストーラーのダウンロードができます。
https://github.com/barnybug/cli53/releases/tag/0.8.22

移行元と移行先のAWSのcredentialを定義している前提で説明します。
なんのこっちゃ分からない…という方は[こちら](https://qiita.co

元記事を表示

OTHERカテゴリの最新記事