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

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

通信効率を上げるためにAWS Global Acceleratorを導入する

## AWS Global Acceleratorとは

わかりやすい記事を一旦抜粋します。

>Global Accelerator を使用すると、ユーザーのトラフィックはインターネットから Amazon のプライベートグローバルネットワークに移動し、90 を超えるグローバルエッジロケーションを経由して、アプリケーションのオリジンに転送されます。AWS Global Accelerator は迅速にセットアップでき、トラフィックのパフォーマンスを最大 60% 向上します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367608/f09a2db3-0e9a-2802-5057-025240f9457c.png)
↑出典: [公式](https://aws.amazon.com/jp/global-accelerator/?blogs-global-accelerator.sort-by=item.additionalFields.createdDate&blogs-global-

元記事を表示

Amazon Location ServiceとOpenLayersとAWS Amplifyを組み合わせてマップアプリケーションを構築してみた

![img](https://day-journal.com/memo/images/try-093_01.gif)

![img](https://day-journal.com/memo/images/try-093_02.png)

### Amazon Location ServiceとOpenLayersとAWS Amplifyを組み合わせてマップアプリケーションを構築してみました :tada:

事前準備

– AWS Amplifyのインストール
[AWS Amplify #001 – インストール](https://day-journal.com/memo/aws-amplify-001)
– OpenLayersを手軽に始めるビルド環境を利用
[openlayers-starter](https://github.com/dayjournal/openlayers-starter)

実行環境

– node v18.1.0
– npm v8.8.0

詳細として下記について説明します。

– [環境構築](htt

元記事を表示

【AWS】あるIAMロールに別のロールを引き受けられる(AssumeRole)ように設定する

タイトルのように設定を行う際に、2つの点でいつも混乱するので備忘録的にまとめる。
– 同一AWSアカウントのロールと、違うアカウント(クロスアカウント)のロールとで必要な設定内容が異なる
– 名前も役割もよく似たPassRoleと設定内容が異なる

# AssumeRoleとは

STS(Security Token Service)の提供するAPIアクションの一つ。
通常利用するユーザロールやサービスロールではアクセスできないAWSリソースへアクセスできるよう、別のロールの権限でアクションを実行するための一時的なセキュリティ認証情報(アクセスキーID、シークレットアクセスキー、およびセキュリティトークン)を生成する。

これで、あるロールが別のロールを「引き受け(assume)」、権限を得ることができる。
この機能を活用し、IAMロールごとに単体で持つAWSリソースへのアクセス権限を分散させ、あるロールに過剰な権限を集中させるような意図しない事態を回避でき、セキュリティ上の問題を軽減することにつなげられる。

# AssumeRoleの設定
あるIAMロールが別のロールを引き受けるに

元記事を表示

CDKv2 で AssumeRole を使い安全に CD する方法

## 課題:CDK v2 で組んだ IaC を安全に CD したい

AWS のサーバーレスリソースを使ったウェブサイトやウェブアプリの構築にトライしています。
インフラは [CDK v2](https://docs.aws.amazon.com/cdk/v2/guide/home.html) を使った IaC(Infrastructure as Code)にしたので、さらに Git にプッシュしたら自動的にデプロイされるよう CD(Continuous Delivery, 継続的デリバリー)を設定したいと考えました。

CD するには CD サービスに対し私の AWS アカウントの操作権を委ねる必要がありますが、できるだけリスクを下げて安全に行いたいものです。
これには AssumeRole を使うベストプラクティスがありますが、 CDK v2 では少し気を付ける点がありましたので、ここでまとめます。

## TL;DR (先に結論)

* CDK v2 の bootstrap でデプロイ時に必要なロールが自動的に作られる。
* このロールに AssumeRole できるユーザーを作

元記事を表示

VMware Cloud on AWS 大阪リージョンをデプロイしてみた (ついでにVTGWで東京リージョンと繋げてみた)

# 1. はじめに
2021年10月末から「[VMware Cloud on AWS](https://www.vmware.com/jp/products/vmc-on-aws.html)」も大阪リージョンに対応していましたが、つい先日(2022/7/29)にすべてのユーザー組織で利用できるようになったということで、私も試しに触ってみます。

> [VMware Cloud™ on AWS リリース ノート](https://docs.vmware.com/jp/VMware-Cloud-on-AWS/0/rn/vmc-on-aws-relnotes.html)

> [VMware Cloud on AWS の大阪リージョンサポート (VMware Japan ブログ)](https://blogs.vmware.com/vmware-japan/2021/10/vmc-osaka-region.html)

https://aws.amazon.com/jp/local/osaka-region/

本稿は2022年8月時点で執筆しており、デプロイ時のSDDCバージョンは1.1

元記事を表示

CloudFront概念まとめ

CloudFrontを勉強してみたので各概念の関係性をまとめてみた
主要概念は、Distribution、Behavior、Originの3つ。

“`mermaid
classDiagram

class Distribution {
<<主要概念>>
+代替DomainName
+カスタムSSL証明書
}

class Behavior {
<<主要概念>>
+pathPattern

}

Distribution o–>”*” Behavior
Behavior –>”1″ CachePolicy
Behavior –>”0..1″ OriginRequestPolicy
OriginGroup –|> Origin
Behavior –>”1″ Origin

Distribution o–>”*” Origin
Distribution –>”0..1″ WAF

class CachePolicy {
+TTL設定
+キャッシュキー設定
}

class OriginRequestPolicy {
+headers
+queryStrings

元記事を表示

【機械学習】AWSでGPUインスタンスをたててBERTモデルを実行してみた

# はじめに
今月から機械学習の案件に携わっており、現在、BERTという自然言語処理モデルについて勉強しています。
最近は、時系列データにBERTを適用して特定の行動を予測するTabBERT(Tabular BERT)というモデルに関する論文を読んでいます。

https://arxiv.org/abs/2011.01843

一部がクレジットカードの使用歴から不正使用かどうかを判別するという内容なのですが、内部の処理が気になったため、GitHubにあがっているコードで論文と同じ結果が得られるかどうかを試してみることにしました。

https://github.com/IBM/TabFormer

ご丁寧に`setup.yml`が用意されていたので、Anacondaでちょちょいと動作を確認してみよ〜くらいのノリで環境構築を始めたところ、`ResolvePackageNotFound`エラーでいきなり失敗しました。

“`
(base) [9:10:58] → conda env create -f setup.yml

元記事を表示

AWSのアクセスキーがファイルに含まれていたらエラーとしたい

## 目次
– [概要](#概要)
– [準備](#準備)
– [git-secretsのインストール](#git-secretsのインストール)
– [コマンドの確認](#コマンドの確認)
– [設定](#設定)
– [検証](#検証)
– [AWSのアクセス情報を含むファイル作成](#awsのアクセス情報を含むファイル作成)
– [ファイルの中身を表示](#ファイルの中身を表示)
– [git secretsでファイルをスキャンしてみる](#git-secretsでファイルをスキャンしてみる)
– [参考](#参考)

## 概要

AWSを用いた開発を行なっていると、AWSのアクセスキーを用いてローカル環境で検証を行います。
しかし、検証後にそのままコミットして、AWSアクセスキーをGitリポジトリに混入させてしまうリスクがあります。
そこで、AWSのアクセスキーがファイルに含まれていたらエラーとする方法について検証しました。

## 準備

### git-secretsのインストール
“`bash
$ brew update
$ brew install

元記事を表示

初めてIAMユーザーを追加したけどcsvをDLせずに閉じちゃった……そんなときは!

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/a99bc99a-9f6e-ea40-ea95-f77b7eb89066.png)
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/01d6c7d0-eebe-f698-7609-94e09ade7823.png)
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/ed05e2f8-1f57-05e2-de80-54186e3591c2.png)
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/afe33e14-3cad-6a79-d9f0-4882499a5bab.png)

元記事を表示

AWS-OCI間 IPSecシングル接続と冗長接続検証

## 概要
AWS内のVMからOracle Cloud(OCI)のVMに接続する要件があったため接続性について簡単な検証を行いました。

## 検証構成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/9c570a85-c854-6e74-299e-12831fd2823e.png)

【AWS】
既存のSubnetに検証用のVMをデプロイしました。
OCIとのIPSec接続はサイト間VPN機能を使用します
【OCI】
既存のSubnetに検証用のVMをデプロイしました。
AWSとのIPSec接続はサイト間VPNを使用します

検証1にてシングル接続を設定して、検証2では冗長構成を設定して障害迂回ができるか検証しました。

## 検証その1

【AWS】
コンソールから仮想プライベートゲートウェイを作成してVPCにアタッチします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

Terraformを使って覚える。(その3:Terraformの実行)

# はじめに
`Terraform`の開発環境が整ったので、今回から`Terraform`を使って`AWS`への構築を進めてみようと思います。

– 【前】[Terraformを使って覚える。(その2:git-secretsとVS Codeのインストール)](https://qiita.com/sakai00kou/items/5941a4862727234e6145)

# Terraform実行方法
実際に`AWS`のEC2インスタンスを作成する例を基に`Terraform`を実行してみます。

– コーディング
– terraform initの実行(初回のみ)
– terraform fmtの実行
– terraform planの実行
– terraform applyの実行

## コーディング
前回インストールした`VS Code`でコーディングを行う場合、「**~.tf**」という拡張子にすることで`Terraform`のフォーマットだと認識されます。

EC2インスタンスを作成する場合、最低限以下のようなコーディングを行うことで作成することができます。

“`hcl

元記事を表示

【いまさらシリーズ】AWS Redshiftまとめ

# Redshiftとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2782361/e2ee13f3-07eb-4187-7bc3-002a0b311053.png)

[公式ページ](https://aws.amazon.com/jp/redshift/)の説明によると、以下の通り。
> SQLを使用して、データウェアハウス、運用データベース、データレイクにわたる構造化および半構造化データを分析し、AWSが設計したハードウェアと機械学習を使用して、あらゆる規模で最高の料金パフォーマンスを実現します。

つまり、あらゆるデータを構造化して蓄積し、高速に**分析処理**ができる特徴がある。

# スナップショット
スナップショットには自動と手動の2種類がある。Amazaon Redshiftはスナップショットを**Amazon S3に内部的に保存する。**

## ストレージの管理
スナップショットを溜め込みすぎて容量の上限を超過すると課金が発生する。そのため、不要になったら削除する必

元記事を表示

リージョンとアベイラビリティゾーン

# リージョンとアベイラビリティゾーン
AWSはサーバーとデータセンターを世界中の21の地域に置いている。
この地理的分類が**リージョン**。
ユーザーがサービスを受けるときは地域をする。
日本には東京リージョンと大阪リージョン(ローカル)がある。
大阪はローカルリージョンという特殊なリージョンなので限られた顧客しか使えない
リージョンとは簡単に言えば**データセンター**。
各リージョンでは複数の**アベイラビリティーゾーン**(AZ)にそれぞれ物理的に独立した設備を置いてある。
イメージ)データセンターの設備をさらに分散している
# リージョンとサービス
**リージョンによって提供されているサービスと提供されていないサービスがある**
ex)まだ東京リージョンで提供されていないサービスを使用したい時は、**そのサービスのみを米国東部などの別リージョンを選んで使用する**。
※サービスによっては海外リージョンの方が安いときがある
※どのリージョンを選んでも、コントロールパネルのダッシュボードから管理するため、日本語で操作できる。
## リージョン一覧
|コード|名前|
|-|-|

元記事を表示

AWSのコスト管理

AWSはクラウドなので、初期費用が抑えられる代わりに、従量制での課金となる。
そのため**日々の料金管理が重要な課題**となる。また、管理する対象も複数のサービスが多く煩雑になる。
# AWS Billing and Cost Management(AWSコスト管理)
* 請求書の支払い
* 使用料の監視
* コスト・使用状況レポート
* サービスの解約
などができる。
## AWS Billing and Cost Managementの主なサービス
|項目|内容|料金|
|-|-|-|
|請求書|毎月の請求書や、使っているAWSサービスの詳細内訳が確認できる|無料|
|請求ダッシュボード|支出ステータスやコスト傾向などが確認できる|無料|
|AWS Cost Explorer|コストと使用量を掲示的に可視化、把握、管理できる|付属のユーザーインターフェイス使用時は無料、APIを使用したプログラムアクセスは有料|
|AWS Budgets|コストと使用料のカスタム予算を設定して、特定の条件でアラートを発信する|使用自体は無料だが、3つめのカスタム予算から料金がかかる|
|コストと使用

元記事を表示

AWS Direct Connectとは

AWS Black Belt Online Seminarで学んだことを記録していきます。
参照URL

## Direct Connectとは?
Direct Connectは専用線と思われがちだがオンプレミスと直接接続する専用線サービスではない。
ロケーションが起点となり、このロケーションとオンプレミスの間をキャリア線で結んで契約する必要がある。
ロケーションにある顧客機器ルータとAWSルータを構内配線で接続してAWS cloudを結ぶことができる。
ではDirect Connectはどんな機能を提供するのか?どの範囲で提供するのか?というと
ロケーションに設置されたAWSルータとAWS cloudの間がDirect Connectで提供される

オンプレミス→DirectConnectロケーション→AWSのVPC

上のようなイメージの構成となる。

## そもそも物理接続ってなんや?
顧客側の専用ラックとAWSラックをMeet-Me Roomという回線で接続している。
この接続に必要なのが

元記事を表示

Amazon EC2のリソース状況を監視

# Amazon CloudWatch
普通のサーバーと同じようにAWSのサービスにも監視が必要。
物理的な部分に関してはAWSが監視してくれますが、**載せるシステムやソフトウェアの監視は自分たちで行う必要**がある。そこで使用するのが**Amazon CloudWatch**。
Amazon CloudWatchは、各AWSサービスでのリソースのモニタリングと管理を行うサービス。
AWSの各種サービスからメトリクス(いろいろな観点から動作を評価する数値)、ログなどを収集し、記録する。収集したログが閾値を超えたら、特定のアクションが怒るように設定できるため、監視状況に対応した管理も可能。
※Amazon CloudWatchは、対応しているサービスと対応していないサービスがある。
# 使用できるアクションとAmazon CloudWatch Logs
Amazon CloudWatchでは、CPU利用率、ボリュームの読み書き回数やバイト数、ネットワークの送受信バケット数などを監視できる。
また、閾値を超えた場合には、**メール送信、EC2アクション(インスタンスの起動・停止など)、A

元記事を表示

仮想インターフェースの種類と接続方法

AWS Black Belt Online Seminarで学んだことを記録していきます。

参照URL

## 三つの仮想インターフェース

VIFを使用するときには大きなconnectionの中に
複数のVLANを設定することができる。主にこの三つがある。

・プライベートVIF
・パブリックVIF
・トランジットVIF

VIFを複数のアカウント(クロスアカウント)で利用することができる
またデータ転送量については各アカウントに課金されていく。

## プライベートVIFを使った接続方法

DirectConnect ゲートウェイを使用した接続が推奨されている。
(DXGW)
XGWを使用することで複数のVPCと接続することができる。

基本的には

オンプレミスのルータ→AWS DirectConnectデバイス→VGW

といった構成である。この間をBGPピア接続をする。
また、複数のプラベートVIFを設定することによって本番、検証、開発環境といったふうに分けることもできる。

##

元記事を表示

Amazon Lightsail WordPressでブログサイトを作る

# はじめに
– AWSを勉強したい私(ハードルが高いという先入観から重い腰がなかなか上がらず早数ヶ月経過)
– ブログを開設したい夫(今すぐにでもはじめたい様子。YouTubeで得た知識からよくわからんレンタルサーバーを年額16,000円で借りようとしている。まずい。)

目的の一致・半ば危機感から爆速でブログサイトを作成するに至りました。

# 前提
– Mac OS
– AWSアカウント作成済み

# やったこと

今回はスピード重視・完全なる個人サイト・まずはとりあえず開設という目的のためLightsailを使ってみました。基本的にチュートリアル通りの手順通り。

https://aws.amazon.com/jp/lightsail/

## 参考サイト

上から順にやっていきます。

公式チュートリアル
https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-tutorial-launching-and-configuring-wordpress
(補足)https://www.t

元記事を表示

【ベストプラクティス】Amazon VPC の構築方法を分かりやすく解説

# はじめに
**Amazon VPC**は、**AWS上で仮想ネットワークを構築**できるサービスです。
VPCの**概要や理論**については**以下の記事**で詳細に解説しました。

https://qiita.com/c60evaporator/items/2f24d4796202e8b06a77

一方で、「**理論だけでなく実践も重要!**」
と思われる方も多いと思いますので、
**本記事では実際にVPCによる仮想ネットワークを構築**する方法を解説します。

構築の指針として、以下の**ベストプラクティスを極力満たすよう**進めていきたいと思います。

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-security-best-practices.html

特に[**VPCフローログ**](https://qiita.com/c60evaporator/items/2f24d4796202e8b06a77#vpcとログ)や[**VPCピアリング**](https://qiita.com/c60evapo

元記事を表示

【Terraform】S3のライフサイクルルールの設定

## はじめに
TerraformでS3のライフサイクルルールを設定する方法について書きます。

:::note warn
本記事では、基本的な設定のみ紹介しております。
:::

## ライフサイクルルールとは?
– 一定時間経過した後にS3のオブジェクトを別のストレージクラスに移行させるための設定になります。
– S3のコストを抑えるために使用します。

## 前提
– 使用するTerraformのバージョン情報

“`
% terraform –version
Terraform v1.1.8
on darwin_amd64
+ provider registry.terraform.io/hashicorp/aws v4.22.0

Your version of Terraform is out of date! The latest version
is 1.2.7. You can update by downloading from https://www.terraform.io/downloads.html
%
“`

– コード適用の流れについては省きます。

元記事を表示

OTHERカテゴリの最新記事