- 1. AWS KMS (Key Management Service)まとめ
- 2. 動いているEC2を全部問答無用で停止するLambda
- 3. RHEL9 libmemcachedねぇぞって話
- 4. AWS ECSを使ってとりあえずnginxをデプロイしてWebブラウジングする
- 5. AWSの最新アップデートを楽しく追いかける方法
- 6. 初めてEC2のインスタンスを立ててVScodeでSSH接続してみたけどエラーに襲われた話
- 7. AWS SSA不足知識まとめ
- 8. [AmazonLinux2023版] Webサーバ公開手順メモ
- 9. terraformでS3バケットを作成しようとしたときに起きた変なエラー
- 10. ChromeからAWS SkillBuilderにログインできなくなったときの対処方法
- 11. (小ネタ) 複数AWSアカウントのマネジメントコンソールをブラウザで同時に開く方法
- 12. 【AWS】S3に保存した画像をRekognitionで分析し、DynamoDBとQuickShightで可視化してみた(1/2)
- 13. AmazonLinux2023に構築したWebサーバであえてTLSv1.0、1.1を有効化したときのメモ
- 14. Lambdaオーソライザーで独自認証処理を実装する
- 15. AWSとオンプレミスの接続方法/VPN
- 16. Lightsailを作ってみる③~ スナップショットを取得する
- 17. AWS SNSとSQSのファンアウト構成についてメモ
- 18. [AWS]SecurityHubを導入したら最低限やっておきたい設定の自動化
- 19. [CDGC] Amazon Redshiftのスキャン
- 20. AWSの通信料まとめ
AWS KMS (Key Management Service)まとめ
# KMSの概要
*AWS KMS (Key Management Service)*
データ暗号化に利用するキーを作成・管理を行うためのマネージドサービス。
CMK(マスターキー)と呼ばれる鍵が存在する。
この(CMK)の可用性は99.999999999%(イレブンナイン)
# KMSの仕組み
## エンベロープ暗号化
データを暗号化する鍵(データキー)とデータを暗号化する鍵を暗号化する鍵(マスターキー)を利用する方式。データ暗号化用の鍵をさらに暗号化するので、セキュリティが強化される。
KMS で使用される鍵
– CMK(Customer Master Key)
– データキーを暗号化するマスターキー
– AWSが管理する[HSM](https://e-words.jp/w/HSM.html)内でマスターキーも暗号化される
– CDK(Customer Data Key)
– データを暗号化するキー
– ユーザーが都度生成する## CMK の種類
– カスタマー管理CMK
– AWSユーザー側で作成、管理している
– アプリ内で使用するデータなどの暗号化に使用
動いているEC2を全部問答無用で停止するLambda
## さくっとコピペでどうぞ
“`python:python
import json
import boto3client = boto3.client(‘ec2’)
def lambda_handler(event, context):
response = client.describe_instances(
Filters=[
{
‘Name’: ‘instance-state-code’,
‘Values’: [
’16’,
]
},
]
)
targetInstances = []
for i in response[‘Reservations’]:
targetInstances.append(i[‘Instances’][0][‘InstanceId’])if not targetI
RHEL9 libmemcachedねぇぞって話
# pgpool-II入れたい
“`bash:bash/terminal
[ec2-user@ip-xxx-xx-xx-xx ~]$ sudo dnf install pgpool*
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.
Last metadata expiration check: 0:11:40 ago on Wed 04 Oct 2023 03:46:29 PM UTC.
Error:
Problem 1: cannot install the best candidate for the job
– nothing provides libmemcached needed by pgpool-II-4.4.2-1.rhel9.x86_64
AWS ECSを使ってとりあえずnginxをデプロイしてWebブラウジングする
こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。今回はAWSのコンテナサービスであるECSを見よう見まねで使用してみたいと思います。
具体的にはECSでnginxコンテナをデプロイして、Webブラウザでアクセスしてみたいと思います。# 用語
## AWS ECS
Elastic Container Serviceの略。
説明は公式に委ねますが、AWS側でデプロイとかスケーリングとか色々マネージングしてくれる便利なやつ位のイメージしかありません。今後頭の中のイメージを具体化していけば良いと思っています。>コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを容易にするフルマネージドコンテナオーケストレーションサービスです。アプリケーションと必要なリソースを記述するだけで、Amazon ECS が柔軟なコンピューティングオプションで、アプリケーションを起動、モニタリング、スケーリングし、アプリケーションが必要とする他の AWS サポートサービスと自動的に統合します。カスタムのスケーリングルールやキャパシティルールの作成などのシステムオペレー
AWSの最新アップデートを楽しく追いかける方法
クラウドサービスのAWS、毎日のように多数の機能アップデートがあり、追いかけるの大変ですよね!
https://aws.amazon.com/jp/new/
# そもそも最新情報なんてずっと追わなくてよくない?
そんなことないんです! アップデートを毎週追っているとメリットも多数。
– 常に最新機能に詳しくなれる。業務にも生きる
– 最新情報をきっかけに普段触れていないサービスにも詳しくなってくる
– 同僚やコミュニティの仲間と毎日ワイワイ盛り上がれる。大きなアプデ時はお祭り!# アップデートってどこを見ればいいの?
### What’s New at AWS
https://aws.amazon.com/new/
日本語環境でアクセスすると日本語ページにリダイレクトされると思います。
残念ながら本当に最新のアップデートは英語でしか出ておらず、2週間ほど経ってから日本語版になっています。なので最新の英語What’s Newを見たい場合、ページ内の言語切り替えを「English」にしてから確認しましょう!また、有志が運営している非公式のTwitter版もあります
初めてEC2のインスタンスを立ててVScodeでSSH接続してみたけどエラーに襲われた話
# はじめに
– エンジニア歴半年とちょっとの備忘録
– AWSのEC2を使いたかった# やっていく
### EC2を選択
![%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2023-10-04_18.08.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3504047/d0649f1e-8226-3680-e533-0d22fd8e32f4.png)### インスタンスを起動を選択
![%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2023-10-04_18.07.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3504047/0d0ffb29-1da6-a86a-
AWS SSA不足知識まとめ
### IAM
#### IAMポリシーのタイプ
■ユーザーベースのポリシー
アクセス許可を指定できる
【管理ポリシー】
1つのポリシーを様々なエンティティに付与可能
AWS管理ポリシー:AWSが作成・管理しているポリシー
カスタマー管理ポリシー:AWSアカウントで作成・管理するポリシー【インラインポリシー】
1つのポリシーに1つのエンティティ■リソースベースのポリシー
リソースに対するアクセス権限設定を付与可能
S3のバケットポリシー、ロールの信頼ポリシー#### IAMのツール
IAMアクセスアナライザー:信頼ゾーン外からのアクセス有無の確認
IAMアクセスアドバイザー:IAMユーザーのアクセス可能なリソースと最終日時の確認#### Permissions boundary
IAMユーザーに対して権限境界を設定して付与可能な権限範囲をあらかじめ制限できる。
Permissions boundaryとIAMポリシーの共通部分のみ権限付与されるイメージ
AWS OrganizationsでもSCPという形でOU(組織)ごとにこの仕組みを用いている
[AmazonLinux2023版] Webサーバ公開手順メモ
最近AmazonLinux2023でちょっとしたWebサーバを稼働させたので、作業を残しておく。
– 単一のEC2、m3.smallなど、とにかくSpecの小さいインスタンスで動作させる
– 非エンジニアがWebサーバを見に行くときに困らないよう、信頼済み証明書を入手
– ある程度安定して動くよう自サーバ内で死活監視。+αでCloudWatchEventでインスタンス自体の再起動設定もいれとく# セキュリティグループの設定
443,80を開けておく# Apache install
~~~
sudo su –
yum update
yum install httpdecho “test” > /var/www/html/index.html
systemctl restart httpd
~~~
ブラウザで確認(httpで)# SSL対応
– 自前でserver_keyを生成する場合、自己署名となってしまい、ブラウザアクセス時に「信頼できないサイト」と表示されてしまう。
– フリーでSSL証明書を入手できる手段として、letsencryptを利用する
terraformでS3バケットを作成しようとしたときに起きた変なエラー
## エラー内容
“`
│ Error: creating Amazon S3 (Simple Storage) Bucket (backetname): AuthorizationHeaderMalformed: The authorization header is malformed; the region ‘us-east-1’ is wrong; expecting ‘us-east-2’
│ status code: 400, request id: xxxxx, host id:xxxxx│
│ with module.s3.aws_s3_bucket.backetname,
│ on module\s3\main.tf line 1, in resource “aws_s3_bucket” “backet_name”:
│ 1: resource “aws_s3_bucket” “backet_name” {
“`## 原因
同名のバケットを消した後にterraformでデプロイしようとしたから。## 対策
1. 別名で作る。
2.
ChromeからAWS SkillBuilderにログインできなくなったときの対処方法
ある日突然,こんな画面になってどうにもならなくなった人へ。
![20231004_00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2059/4ef63326-de82-e734-f260-ed1a9b99dd88.png)こうなると,通常のCookieの削除をしても状態が改善されない。
私の場合は,以下の対処方法で再びログインできるようになった。# 対処法1:ChromeにログインしないでAWS SkillBuilderにアクセスする。
当たり前だが,ユーザ情報に何も紐づかないので,普通にログインできる。とはいえこのままでは,今まで使っていたブックマークなども使えないので不便。
# 対処法2:Chromeからログインするときに設定情報を削除する。
アカウントの「同期は有効です」を選択する。
![20231004_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2059/2b1a1097-76ac-9300
(小ネタ) 複数AWSアカウントのマネジメントコンソールをブラウザで同時に開く方法
業務でAWSを使用していると、用途別に複数のAWSアカウントを使用することがあると思います。
各アカウントのマネジメントコンソールにアクセスする際、
同時に複数アカウントのセッションを維持できなくて各アカウントのマネジメントコンソールを行ったり来たりする作業が困難だと思います。そんなときの対処法として、ブラウザのセッションを分ける方法を紹介したいと思います。
*マネジメントコンソール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/896507/b7f40ef6-95ea-2ba6-6714-08bb1789afc6.png)## Google Chromeの場合
ブラウザ右上をクリックしプロファイルを追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/896507/f0890948-56b1-2541-56a6-fabdd3f8ad31.png)
以下のような画
【AWS】S3に保存した画像をRekognitionで分析し、DynamoDBとQuickShightで可視化してみた(1/2)
# 概要
Rekognitionを使って画像分析を試したかっただけですが、せっかくなのでDynamoDBとQuickShighを用いて結果を可視化してみました。
記事は2つに分かれており、1つめが分析(DynamoDBへ保存)、2つめが可視化(QuickShightを導入)となっています。
# 構成図
以下、構成図です。
![画像分析.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3491382/bd19d43c-42df-45b6-87a6-4b25f71901aa.png)
S3に画像が保存されるとLambdaが動作し、Rekognitionにて画像を分析します。
また、分析した結果をDynamoDBへ保存し、QuickShightで可視化します。# 手順1(S3構築)
1-1.バケット名を入力し、リージョンは東京、その他はデフォルトのまま設定します。
設定が完了したら、「バケットを作成」を押下します。
![s31.PNG](https://qiita-imag
AmazonLinux2023に構築したWebサーバであえてTLSv1.0、1.1を有効化したときのメモ
`※2023年にTLSv1.0、1.1について有効化することは推奨されてませんが、必要に迫られたときの調査と解決に至るまでのメモをまとめました`
うまく行かなかった手順も含めて記載しています。## 作成するEC2の情報
|項目|バージョン等|
|—|—|
|AMI|ami-06373f281e72070d8|
|AMIの説明|Amazon Linux 2023 AMI 2023.2.20231002.0 arm64 HVM kernel-6.1|
|アーキテクチャ|64bit、Arm|
|インスタンスタイプ|t4g.small(2023年12月31日まで無料トライアルなので)|
|セキュリティグループ|22,80,443番ポートのAnyWhereな接続を許可するインバウンドルールを新規作成|
|EBS|ルートボリュームのみ、8GB、gp3|その他、作成後のインスタンスに対してElasticIPをアタッチしました
## 作成したEC2の確認とWebサーバインストール
ssh接続後、まずopensslのバージョン確認
“`
$ sudo su
# openssl ve
Lambdaオーソライザーで独自認証処理を実装する
# この記事について
API Gatewayのアクセス制御の仕組みの1つに「Lambdaオーソライザー」という機能があります。
今回はLambdaオーソライザーを使って、
クエリパラメータ「type」の値によって後継のAPIを実行するかどうかを判断する使い方をしてみたいと思います。
Lambdaオーソライザーを作成して動きを確認することを目的としているので、
LambdaオーソライザーやAPI Gatewayの仕様に関しては説明をしません。
AWS公式HPで補足をお願いします。
[API Gateway Lambda オーソライザーを使用する](https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html#api-gateway-lambda-authorizer-flow)# 対象者
* Lambdaオーソライザーを作成したことがなく、サクッと挙動を確認してみたい。# API Gatewayの準備
サンプルAPIを利用して、R
AWSとオンプレミスの接続方法/VPN
# AWSとオンプレミスの接続方法1. リモートアクセスVPN
“`VPN“`とは「Virtual Private Network(バーチャル・プライベート・ネットワーク)」の頭文字を取った略語
一般的なインターネット回線を利用して作られる仮想のプライベートネットワークのことです。“`リモートアクセスVPN“`は、拠点に設置したVPNゲートウェイに対し、ユーザー個人がPCやスマートフォンなどから一時的にVPNの経路を確立するもの。
・AWS VPN(AWS Client VPN)
AWS VPN(AWS Client VPN)は、アマゾンが提供しているVPNサービスです。
オンプレミスとAWSのリソースを、仮想のVPNトンネルによって接続するだけでなく、PCやスマートフォンなどの端末からAWSのリソースに接続することを可能。公式ドキュメント
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/what-is.html
# AWSとオンプレミスの接続方法2. 拠点間VPN
拠点間VPN
Lightsailを作ってみる③~ スナップショットを取得する
# はじめに
前回以下の記事でLightsailの構築をしましたが、今回はその作成したLightsailのインスタンスのスナップショットの取得について記載したいと思います。
スナップショットの取得についてもLightsailの画面から行えます。https://qiita.com/Shun_konno/items/b6461594de1cdd7caa87
https://qiita.com/Shun_konno/items/f51ae599b68e0d2d36ea
# スナップショットタブ
Lightsailの画面を開き、スナップショットタブを選択します。
![image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3375141/fc6bbd98-ff4a-d33a-2260-75c8b3cb8f57.png)## 手動スナップショットの取得
### スナップショットの作成
「スナップショットの作成」を押下すると作成する名前の入力欄が出てくるので、任意の名前を入力して「作成」を押下しま
AWS SNSとSQSのファンアウト構成についてメモ
# はじめに
AWS SNSとSQSのファンアウト構成についてメモ# 参考
https://www.slideshare.net/AmazonWebServicesJapan/20190717-aws-black-belt-online-seminar-amazon-simple-queue-service# Amazon SNS(Simple Notification Service)とは
Amazon SNSは、Amazon Web Servicesのフルマネージドな通知サービスです。SNSを使用すると、アプリケーションやユーザーにスケーラブルなプッシュ通知、SMS、Lambda関数、HTTPSエンドポイント、SQSキューなど、さまざまなエンドポイントのSNSトピックにサブスクライブ(メッセージ送信)できます。### 主な特徴と機能
– **トピックとパブリッシュとサブスクライズ**:
– トピック
– 利用者はトピックを作成し、そのトピックにメッセージを発行できます。
– パブリッシュ
– APIなどから特定のトピックにメッセージを発
[AWS]SecurityHubを導入したら最低限やっておきたい設定の自動化
# はじめに
SecurityHub、使っていますか?
AWS環境上にシステムを構築するにあたり、様々なセキュリティフレームワークに準拠しているかを管理できる便利なツールなのでAWSアカウントを開設したら是非有効にしたいサービスです。
https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/what-is-securityhub.html
Organizationの統制化にあるアカウントであれば、CloudFormationStackSetsやAWS ServiceCatalogなどで実装することもできるかもしれませんが、
* terraformを常用しており、cloudformationに馴染みがない(学習コストを許容できない)。
* お客様所有の環境など、StackSetsやServiceCatalogを使ううまみがない。などの理由でterraformで実装したいというケースもあるかもしれません。
本稿ではterraformでSecurityHubの有効化と、一緒にやっておきたい最低限のセキュリテ
[CDGC] Amazon Redshiftのスキャン
# はじめに
[インフォマティカ](https://www.informatica.com/jp/)が提供する、 [CDGC](https://www.informatica.com/jp/products/data-governance/cloud-data-governance-and-catalog.html)(データガバナンス&カタログ)を使って、Amazon Redshiftからメタデータを取得(スキャン)するためのガイドです。
※2023/10時点の情報を元にしています。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/c1c62b1b-96f9-83f9-9e48-42d00d195606.png)
# 事前準備
CDGCがセットアップ済みであり、メ
AWSの通信料まとめ
### 1. 同一リージョン内の通信
EC2インスタンスとS3バケットが同一のAWSリージョン内にある場合、その通信は通常**無料**
“`markdown
– EC2 (us-east-1) ↔ S3 (us-east-1) = 無料
“`### 2. 異なるリージョン間の通信
EC2とS3が異なるリージョンにある場合、データ転送料金が発生。
“`markdown
– EC2 (us-east-1) ↔ S3 (us-west-2) = 有料
“`### 3. VPCエンドポイントの使用
“`markdown
– VPCエンドポイント使用 = エンドポイント料金あり、通信料金は通常無料
“`### 4. インターネット経由の通信
EC2からインターネット経由でS3にアクセスする場合、データ転送出口料金が発生する可能性あり。
“`markdown
– EC2 ↔ インターネット ↔ S3 = 有料(出口料金)
“`### 5. Transfer Accelerationの使用
S3のTransfer Accelerationを使用すると