AWS関連のことを調べてみた2022年05月14日

AWS関連のことを調べてみた2022年05月14日

既存の IAM ロールが削除されると、該当ロール名がプリンシパル ID に変換される

ある日突然 Terraform 差分が起きた件について、調査して分かったことをメモ

Assume Role 設定で指定していた IAM ロールの ARN が、見覚えのない文字列(`AROA`から始まる)に変更されていて、Terraform 適用時に差分が起きた

“`tf
Principal = {
~ AWS = “AROA…” -> “arn:aws:iam::[アカウント ID]:[ロール名]”
}
“`

この変更を行った覚えはなくて、調査した結果、該当 IAM ロールが削除されたことによって、ARN からプリンシパルID に変換されたことが原因だった

どういうことかと言うと、
– 前提として、AWS の仕様で、意図しない IAM ロール利用を防ぐために、IAM ロールは裏側でユニーク ID で管理されている
– [普段は AWS 側で必要な時に ID 変換されるため目にする機会がないが、arn が指す IAM ロールが削除されると、この ID がコンソール表示される](https://docs.aws.amazon.com/ja_jp/IAM/latest/U

元記事を表示

AWS SecretMangerを即時削除する

– 数日間残るので削除して同じ名前で作り直すことができない。
– 即時削除をする必要があり、CLIからのみできるみたい

“`
aws secretsmanager delete-secret –secret-id secret-vault –force-delete-without-recovery
“`

元記事を表示

CloudTrailに記録されるマネジメントコンソールサインインのログはバージニア北部リージョンに記録されるとは限らない

いつもお世話になっているClassmethodさんのブログを参考に設定して設定してみました。

https://dev.classmethod.jp/articles/aws-management-console-sign-in-notice/

しかし**通知が来ない**😥😥😥

調べてみると、必ずバージニア北部リージョンとは限らないようです。
公式ドキュメントはこちら

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_sign-in.html

> ユーザーがコンソールに直接サインインすると、選択されたサービスのコンソールがリージョンをサポートするかどうかによって、グローバルまたはリージョンのサインインエンドポイントにリダイレクトされます。

ということで

# 試してみた

:::note
Chromeのシークレットモードで試しました。
また、エイリアス設定はしていないので`alias`部分には`12桁のアカウントID`を指定しました。
:::

* URL欄に **https://

元記事を表示

VPC作成の上限を引き上げる

VPCはリージョンにつき、5つまでの制限がある
上限を解放するために申請を行ったときの自分用メモ

# IAM
– 権限付与

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow”,
“Action”: “servicequotas:*”,
“Resource”: “*”
}
]
}
“`

# 申請
– [Service Quotasのダッシューボード](https://ap-northeast-1.console.aws.amazon.com/servicequotas/home/)にアクセスし、「AWSのサービス」を選択
![0067.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242897/ebe607a

元記事を表示

AWS Security Hubの結果をさらしてみる

[AWS Security Hub](https://aws.amazon.com/jp/security-hub/)とは
> **セキュリティ体制の管理と改善**
> AWS Security Hub では、AWS のセキュリティステータスを一括表示できます。セキュリティチェックを自動化し、セキュリティ検出結果を管理し、AWS 環境全体にわたってセキュリティで最優先すべき問題を洗い出します。

2022/5/13現在、以下のセキュリティ基準が用意されています。

* CIS AWS Foundations Benchmark
* AWS 基礎セキュリティのベストプラクティス
* PCI DSS

個人で利用しているAWSアカウントにSecurity Hubを有効にしましたので、「AWS 基礎セキュリティのベストプラクティス」のスコアをさらしてみます。

どーん

![ap-northeast-1.console.aws.amazon.com_securityhub_home_region=ap-northeast-1(1280×720).png](https://qiita-imag

元記事を表示

ELB ログを検索する

簡単にメモを残しておく

– [ドキュメント](https://docs.aws.amazon.com/ja_jp/athena/latest/ug/application-load-balancer-logs.html)の通り、Athena 上にテーブルを作成
– 必要に応じて、検索クエリを実行
– [ログ項目](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-log-entry-format)は要確認
– 今回は、 `特定 IP からの、特定 URL に対するレスポンスタイム` を見たかったので ↓

“`sql
SELECT
client_ip,
elb_status_code,
target_status_code,
request_verb,
request_url,
time,
request_creation_time,
parse_datetime

元記事を表示

AWSアカウントセキュリティ入門

# はじめに
 AWSのアカウントセキュリティ系のサービスは年々利便性が向上しており、AWSユーザや企業でも今後利用が拡大していくものと思われます。
 複数アカウント利用の場合に有用な、下記のサービスについて、どのような役割や機能を持っているか学習したため、備忘録としてまとめました。
※ ハンズオン的な内容は含んでません。
– **SecurityHub**
– **CloudFormation StackSets**
– **ControlTower**
– **(おまけ)AWSセキュリティのベストプラクティスと具体的な実装**

# SecurityHub
### 機能
– AWSのセキュリティ系サービスは現在20以上と非常に多くあり便利な反面、バラバラに各サービスによる検知状況を確認するのは大変。(**運用の複雑化**)
– Security Hubにより**各サービスを一括してモニタリング**する機能が提供されており、上記問題の解決手段となる。
– Security Hubでは、以下のようなセキュリティサービスが統合されており一括可視化できる。
– Config
– G

元記事を表示

AWS超初心者によるAWS費用試算

# はじめに
AWSを利用するにあたり、予算確保等の理由から「(上振れしない様に)それなりに精緻な」形で「年/月単位」で発生する費用の試算を求められることがあるかと思います。
今回は、上記要望のもと、AWS超初心者が行ったAWS費用の試算方法について、まとめてみます。

# AWS費用試算の道のり
## 困りポイント
AWS費用試算はどうやれば?ということで調べていくと、[AWS Pricing Calculator](https://calculator.aws/)を利用しましょうという話が出てくるかと思います。
試算ページの項目を埋めていけば想定費用が結果として得られる訳ですが、AWSサービスに依っては、試算に必要な値をいきなり埋めていくのはハードルが高い(筆者的には)場合があります。

例:ELBの試算ページ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609667/62f84191-5a3b-a96e-8933-65dba93ceb37.png)

## まずは費用発生条件を

元記事を表示

【小ネタ】cloudadminのパスワードを変更する(VMware Cloud on AWS)

# はじめに

「VMware Cloud on AWS (VMC) の cloudadmin のパスワードは変更可能ですか?」とご質問を頂くことがあるので実際に試してみました。

# 目次

1. [cloudadminとは](#cloudadminとは)
1. [パスワードの変更](#パスワードの変更)
1. [パスワードを忘れてしまった場合](#パスワードを忘れてしまった場合)
1. [参考文献](#参考文献)


# cloudadminとは
VMC では SDDC をデプロイすると cloudadmin@vmc.local という SDDC で管理・運用をする為に必要な権限を持ったユーザーが作成されます。

尚、VMC ではホストの管理やその他のタスクは VMware が行うため、クラウドの管理者に必要な権限はオンプレミス データセンターの管理者よりも少なくなります。

最初に割り当てられる cloudadmin のパスワードは VMC コンソールから確認が可能です。

元記事を表示

Redshift SpectrumでParquetのMIN/MAXプルーニングの効果を確認する

# Redshift SpectrumでのParquetのMIN/MAXプルーニング

Redshift SpectrumではS3上に置かれたファイルをクエリすることができる機能です。
サポートしているファイルフォーマットはいくつかありますが、有名なフォーマットとしてParquetがあります。
Parquetではカラムごとに、いくつかのグループでまとまって管理が行われ、そのグループごとに最小値、最大値の統計情報を持っています。Redshift Spectrumではその統計情報を確認することで、不要なグループを読み飛ばすMIN/MAXプルーニングを行うことができます。

# データの準備

Redshiftに格納されているTPC-Hのlineitem表からS3にParquetのデータを2種類作成します。

– lineitem表のデータをそのままS3に出力するクエリ
“`
CREATE EXTERNAL TABLE lineitem_spectrum
STORED AS parquet
LOCATION ‘s3://my-bucket/lineitem-spectrum/’

元記事を表示

AWS Copilot で Elixir + Phoenix Framework の Web サイトを公開する

## はじめに

[Phoenix Framework][pf] で作った Web サイトをとりあえず [AWS] 上で公開したい!

でも、 EC2 でサーバーを立てたり SSH 接続して環境構築とかしたくない!

ちょっと動かしたいだけなので [Ansible] まで使いたくない!

AWS コンソールから VPC の設定とかもしたくない!

かといって [CloudFormation][cf] も [Terraform][tf] も面倒臭い!

という人向けの記事です

AWS Copilot を使えば何も考えずに Phoenix が AWS 上で動きます

※本番環境用となるとクラスタリングだったり、 mix release したりとかあるので、
あくまでも簡単に立ち上げるだけです

※ある程度 AWS や Docker の知識があることを前提としています

AWS Copilot 公式はこちら

https://aws.github.io/copilot-cli/ja/

本記事で実装したコードはこちら

https://github.com/RyoWakabayashi/p

元記事を表示

stepfunctionsでのDynamoDBを使用した多重実行制御

# はじめに
AWSのEventBridgeを使用して定期実行などを行う際、最低1回の実行が保証されている([参照](https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-troubleshooting.html))。
しかし、処理によっては多重実行が望まれないものもある。
そこで今回は、DynamoDBを用いて、stepfunctionsの多重実行を制御する方法を考えた。

# 実装
今回は、日次で1回のみ行う処理をイメージした。ステートマシンの構造は以下の通りである。

– DynamoDBに実行日を表す値(yyyymmdd)を入れる
– 上の処理が正常に動作したらメインの処理が走る、エラーが起こったらステートマシンを終了する

## DynamoDBのテーブル作成
今回はtestというテーブル名で、パーティションキーをyyyymmddとするテーブルを作成した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

SpringBootアプリケーションをCodePipelineを用いてBeanstalkに自動デプロイ

## 概要

[SpringBootアプリケーションをCodePipelineを用いてEC2インスタンスに自動デプロイ](https://qiita.com/tatsuakimitani/items/86258d80326ddc8091d9)
があったので、
[CodePipelineでSpringBoot on BeanstalkのCD/CIパイプラインを構築する](
https://springhack.com/codebuild-codedeploy-codepiplne%e3%81%a7springboot%e3%81%aecd-ci%e3%83%91%e3%82%a4%e3%83%97%e3%83%a9%e3%82%a4%e3%83%b3%e3%82%92%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b/)に倣ってBeanstalkに自動デプロイしました。

## 手順1 Githubにソースをコミットしておく
[spring initializr](https://start.spring.io/)でspringbootプロジェクトを作成し、

元記事を表示

EC2にLaravel+MySQL環境構築

# はじめに

EC2にLaravelをインストールし、
すでに作成済み(githubやcodecommitなど)のプロジェクトを展開する方法です。

※バージョンなどは古い場合があります。

# 開発環境作成

#### 必要なものをインストール
ec2-userで作業します。

**httpd** をインストール。

“`
$ sudo yum -y install httpd
“`

**git** をインストール。

“`
$ sudo yum -y install git
“`

**PHP** をインストール。(バージョンは任意)

“`
$ sudo amazon-linux-extras enable php7.4 -y
“`

“`
$ sudo yum clean metadata
“`

“`
$ sudo yum install php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}
“`

問題なくインスト

元記事を表示

既存のECSクラスタでもContainer Insightsが使いたい

CopilotでECSクラスタ生成した後、コンテナのタスクのメトリクスがみたいなぁと思ったときに対応方法わからんかったので、調べたことメモ。

# AWS ECSでCloudWatch Container Insightsを有効化
– Amazon ECS → アカウント設定に移動
– Container Insightsのチェックボックスをオン

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3442/7d06aa7a-bcff-56f0-0e96-55d11af5063a.png)

# 既存のECSクラスタに設定反映
新規クラスタ作成時は、Container Insightsの利用確認する設定があるみたいだけど、既存はコマンドからしかできないみたい。

“`
aws ecs update-cluster-settings –cluster awesomeCluster –settings name=containerInsights,value=enabled
“`

##

元記事を表示

【AWS】HomebrewにAWSCLIをインストールするには?

# はじめに
実際の業務でHomebrewにAWSCLIを準備する機会がありました。
その準備をする際にやっていた手順について書きたいと思います。

# AWSCLIとは?
AWSCLIとは、AWSサービスをコマンドラインで管理するためのツールになります。

以下の各OSにインストールをして、使用することが可能です。

– Linux
– macOS
– Windows

今回は、macOSのHomebrewにAWSCLIをインストールする手順についてご紹介します。

# 前提

| 項目 | 内容 |
| —- | —- |
| OS | macOS Monterey バージョン 12.3.1 |
| Homebrew | 3.4.10 |

“`zsh:Homebrew
ma-sato@satsuton ~ % brew -v
Homebrew 3.4.10
Homebrew/homebrew-core (git revision e657c47b69a; last commit 2022-05-05)
Homebrew/homebrew-cask

元記事を表示

AWS SSO で委任された管理者アカウントを設定しよう

## 何が嬉しいのか
AWS SSO で委任された管理者として組織のメンバーアカウントを設定できるようになりました 🎉🎉🎉

https://aws.amazon.com/jp/about-aws/whats-new/2022/05/aws-sign-on-administer-delegated-member-account-in-organization/

AWS SSO は組織の管理アカウントに作成されます。そのためこれまではユーザーやグループの割り当てを操作する担当者に管理アカウントへのアクセス権限を与える必要がありました。このアップデートによりそれらの管理作業を組織のメンバーアカウントで実施できるようになります。管理アカウントへのアクセス権限を与える人数を最小限に抑えることが可能になり、最小特権の原則のベストプラクティスを実践しやすくなります。

## 留意点
委任された管理者アカウントでは以下のタスクを実行できません。

* 管理アカウントのユーザーアクセスの管理
* 管理アカウントでプロビジョニングされたアクセス許可セットの管理
* AWS SSO の有効化、設定の削除

元記事を表示

Unity:S3から複数の動画を選択しストリーミング再生する方法

# S3に置いた動画データを選択して配信する
S3に置いた複数の動画データから配信する動画を選択する方法についてまとめます。

## 実装したもの

【AWS】AWS認証情報の設定方法/保管場所/優先順位を理解する。

# まえがき
なんとなくで使ってきたAWS認証情報設定周りについてちゃんと理解する。

# AWS CLIインストール
[ここ](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)からインストールする。
“`
% aws –version
aws-cli/2.0.50 Python/3.7.4 Darwin/20.6.0 exe/x86_64
“`

# まずは aws configure で認証情報を設定してみる
とりあえず適当な値を入れてみよう。
“`
% aws configure
AWS Access Key ID [None]: AccessKeyId
AWS Secret Access Key [None]: SecretAccesskey
Default region name [None]: Tokyo
Default output format [None]: json
“`
上記コマンドを実行すると、下記2ファイルが生成される。
|

元記事を表示

OTHERカテゴリの最新記事