- 1. 【AWS】S3のストレージクラスについて
- 2. DR戦略(AWS)
- 3. 閉じこもり (Proxy) 環境の EKS で actions-runner-controller を動かしたい
- 4. 【個人開発】ショートカットキー学習サービス作ってみた。(コード公開予定)【Next.js, Laravel, AWS】
- 5. 【AWS】CloudWatchアラームが設定されたEC2インスタンスIDを取得する
- 6. Node.js でマルチアカウントの AWS リソース情報をファイル出力してみた
- 7. CloudFront Function でCookieを読み込み・書き込みする方法
- 8. AWS SDK for PHP S3アクセス時にinstance profile利用する場合の一工夫 Laravel編
- 9. Amazonlinux xrdp
- 10. DatabricksのアカウントIDを取得するまでの手順(AWS編)
- 11. AWSにおけるDatabricksを用いたレイクハウス構築を高速に:新たなPay-as-You-Goオファリングの発表
- 12. あえてVyattaのテンプレ使わずに、AWS Site to Site VPNの動的ルーティング(BGP)を設定する
- 13. AWS公式資料で挑むMLS認定(6)-Amazon AIサービスの全体像
- 14. S3×CloudFront を使用したActionTextの画像アップロード・配信方法
- 15. 【初心者】AWS Machine Learning Lensを整理する
- 16. AWS認定 機械学習 – 専門知識(DAS):合格への近道
- 17. AWSのサービスを単純明快に説明してみる(コンテナ編)
- 18. CloudWatch Synthetics Canary on Terraform で Error: Cannot find module エラー
- 19. AWSをはじめてさわる人向け
- 20. AWS Control Tower の始め方 2022 春
【AWS】S3のストレージクラスについて
# 1.S3のストレージクラスについて
AWS公式サイト上にS3ストレージクラスが載せてあります。
実際利用上の観点から、その利用ケースを簡単にまとめていきたいです。https://aws.amazon.com/jp/s3/storage-classes/
# 2.S3クラスとユースケースまとめ
|S3クラス種類 |可用性 |AZ |ユースケース |最小ストレージ期間料金 |
|:——————|:——————|:——————|:——————|:——————|
|S3 Standard|99.99%|≥3 |アクセス頻度の高いデータ向けに高い耐久性、可用性、パフォーマンスのオブジェクトストレージを提供 |なし|
|S3 Standard-Infrequent Access|99.9%|≥3 |アクセス頻度は低いが、必要に応じてすぐに取り出すことが必要なデータに適しています|30日間 |
|S3 One Zone-Infrequent Access|99.5%|
DR戦略(AWS)
# 基本用語
– DR(Disaster Recovery): 災害時などにおけるシステムの復旧について考えること
– BCP(Business continuity plan): システムの復旧を含む事業全体の継続について考えること– RTO(Recovery Time Objective): 復旧までかかる時間
– RPO(Recovery Point Objective): 復旧時の最新状態。5分間隔でバックアップを取っていれば失われるデータは5分に抑えられるが、1日単位のバックアップだと24時間分失う可能性がある。
– RLO(Recovery Level Objective): どこまで復旧させるかのレベル。障害発生時の復旧優先度を決めておく# AWSにおける戦略
引用元:https://aws.amazon.com/jp/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-i-strategies-for-recovery-in-the-cloud/## マルチAZ戦略
> すべ
閉じこもり (Proxy) 環境の EKS で actions-runner-controller を動かしたい
## 本記事の構成
やりたいことは主に以下の 2 点です。* プライベートアクセス専用の EKS クラスターで actions-runner-controller を動作させたい
* GitHub API との通信はオンプレミスのプロキシサーバーを経由する以下の構成で検証しています。
* Amazon EKS: Kubernetes 1.22
* actions-runner-controller: v0.23.0
* cert-manager v1.8.0
* eksctl: 0.93.0
* kubectl: v1.21.2
* AWS CLI: 2.5.7![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/70b5e39a-a9f9-e2f5-46b6-57ceadd83c7b.png)
## actions-runner-controller とは
Kubernetes クラスター上で GitHub Actions の self-hosted runner
【個人開発】ショートカットキー学習サービス作ってみた。(コード公開予定)【Next.js, Laravel, AWS】
以前にも数記事書いたことがあるのですが、アカウントを変更し初投稿になります。
特にバズっていたわけではありませんが、以前の記事は[こちらの技術ブログ](https://ramble.impl.co.jp/author/36/)へ移行しました。今回は表題の個人開発についてまとめました。
# 目次
[はじめに](#はじめに)
[使用技術と使用サービス](#使用技術と使用サービス)
[サービス紹介](#サービス紹介)
[利用方法](#利用方法)
[おわりに](#おわりに)# はじめに
まず今回作成したものは[こちら](https://ks-typing.tk)です。今回個人開発をした理由として、**自分のスキル定着・自分ができることを形にしたい**からです。
実務経験が1年に達した際に着手し、約3ヶ月間(1日に1-2時間×週に5日間)で作成しました。
「需要がある」「マネタイズがしっかりできている」「バグや無くレスポンスが良い」などは一切考慮してません。
そのようなことまで考えると壁が高すぎて形にする前に挫折すると思ったからです。
=> 本来であればAWSは東京リージョン
【AWS】CloudWatchアラームが設定されたEC2インスタンスIDを取得する
# はじめに
この記事ではCloudWatchアラームが設定されたインスタンスIDとアラーム名をセットで出力するスクリプトを紹介します。
以前の記事ではEC2のAutoRecovery(自動復旧)を無効化するスクリプトを使用してインスタンスIDのリストを取得しましたが、CloudWatchアラームによるAutoRecoveryが設定されていないインスタンスIDも含まれてしまっています。
本当に無効化しても問題ないのか各インスタンスに対してCloudWatchアラームが設定されているか確認する必要があるのですが、膨大な数のインスタンスが存在する環境の場合、手作業での確認は非効率です。
そんな感じでリスト出力できると確認が楽になるだろうなぁと思って作成しました。前回の記事はこちらになります。
* [【AWS】EC2のAutoRecovery(自動復旧)を無効化するスクリプトを作ってみた](https://qiita.com/itkz1016/items/0003d67791f2693f3602)
# 目次
1. [実行環境](#実行環境)
Node.js でマルチアカウントの AWS リソース情報をファイル出力してみた
使用している AWS リソース情報を一覧で確認したいことってありますよね。
単一アカウントであれば、以下の方法があります。https://dev.classmethod.jp/articles/tag-editor-seach-allregion/
https://dev.classmethod.jp/articles/cli-resource-search/
今回は、上記の方法のうち 2 つ目の記事を参考に、マルチアカウントの AWS リソース情報を json ファイルとして出力する Node.js プログラムを作成してみました。
# 前提
・AWS マルチアカウント構成である
・各アカウントにはスイッチロールすることができる
・スイッチロールの権限は `AdministratorAccess`
・[AWS CLI でスイッチロール](https://zenn.dev/mn87/articles/338b163a2f81cd)ができる状態である
・CLI からの呼び出しで MFA は使用していないなお、今回はマルチリージョンでの出力は行っていませんのでご注意ください。
CloudFront Function でCookieを読み込み・書き込みする方法
AWSで使えるCDNのCloudFrontで、Edge側で処理を書くために使える機能がCloudFront Functionsです。
従来から使えるLambda@Edgeに比べて低機能で制約が多いですが、無料利用枠があることやコストが安いので、できればこっちで書いたほうがお得です。[CloudFront Functions の導入 – 任意の規模において低レイテンシーでコードをエッジで実行 \| Amazon Web Services ブログ](https://aws.amazon.com/jp/blogs/news/introducing-cloudfront-functions-run-your-code-at-the-edge-with-low-latency-at-any-scale/)
ということで、実際にCloudFront Functionsでどこまでやれるのかも知りたかったので、Cookieを読み書きすることぐらいならできるだろうと思って調べてみました。
## Cookieを読み込む
“`javascript
function handler(event)
AWS SDK for PHP S3アクセス時にinstance profile利用する場合の一工夫 Laravel編
# AWS SDK for PHP S3アクセス時にinstance profile利用する場合の一工夫 Laravel編
結論は、LaravelではServiceProviderを駆使して
インスタンスプロファイル認証プロバイダと認証情報のメモ化を使いましょう!# 解説
## デフォルトの認証プロバイダ
### Aws\Credentials\CredentialProvider::defaultProvider()
デフォルトの認証情報プロバイダで、クライアントの作成時に credentials オプションを指定しなかった場合に使用されます。#### どんな仕様か?
このプロバイダは、環境変数、.ini ファイル (.aws/credentials ファイルから .aws/config ファイルの順)、インスタンスプロファイル (EcsCredentials から Ec2 メタデータの順) の順で認証情報のロードを試行します。つまり、EC2インスタンスIAMロールまたはECSタスクIAMロールを使用する場合、AWS php sdkは自動的にec2メタデータAPI(169
Amazonlinux xrdp
# コマンド
## mateのインストール
“`
amazon-linux-extras install mate-desktop1.x
“`## xrdpのデスクトップ環境を「MATE」にする
“`
bash -c ‘echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop’amazon-linux-extras install epel
yum install xrdp
“`# 説明
MATE とは、GNOME のバージョン2の外観(ルック)や操作性(フィール)を引き継いだデスクトップ環境です。
## 画面イメージの描画
## VNC
Virtual Network Computing
RFBプロトコル
サーバは常にスクリーンをキャプチャし続けてそのデータをクライアントに送り,クライアントは届いたキャプチャデータを使ってリモート環境の画面を表示
書き換えが必要な領域のデータのみを送ったり,データを圧縮してやりとりする
VNCは画面の変化点だけを伝送するため、帯域の細いWAN経由でも
DatabricksのアカウントIDを取得するまでの手順(AWS編)
本書では、これからDatabricksを使い始めるケースで、アカウントIDを取得するまでの手順をまとめています。
:::note info
**注意**
– アカウントIDとはDatabricksのサブスクリプションごとに割り当てられるIDです。
– 本書で作成するユーザーアカウントは[アカウントオーナー](https://qiita.com/taka_yayoi/items/5a117a8bdea67051a0ce)となり、お使いのDatabricksのアカウントで最上級の権限を持つユーザーとなります。ですので、アカウントオーナーの情報は厳密に管理するようにしてください。
:::# Databricksへのサインアップ
1. Databricksのフリートライアルを開始するために、[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)をクリックします。
![Screen Shot 2022-05-11 at 10.58.36.png](https://qiita-image-store.s3.ap-nort
AWSにおけるDatabricksを用いたレイクハウス構築を高速に:新たなPay-as-You-Goオファリングの発表
[Building a Lakehouse Faster on AWS With Databricks: Announcing Our New Pay\-as\-You\-Go Offering \- The Databricks Blog](https://databricks.com/blog/2022/05/10/building-a-lakehouse-faster-on-aws-with-databricks-announcing-our-new-pay-as-you-go-offering.html)の翻訳です。
:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::データ&AIアプリケーションを加速するというニーズのため、お客さまはお使いのデータレイクハウスを始めるための迅速な手段を必要としています。Databricksレイクハウスプラットフォームは、シンプルかつアクセス可能になるように設計されており、業界にまたがる企業はお使いのデータ全てからクイックにメリットを得ることが可能となります。
あえてVyattaのテンプレ使わずに、AWS Site to Site VPNの動的ルーティング(BGP)を設定する
AWS Site to Site VPN を設定する際、Vyattaの動的ルーティング(BGP)用の設定ファイルテンプレートをダウンロードして楽に設定することもできるが、あえて手動で設定してみる。
Vyattaと書いてますが、VyOS1.3を使っています。
まず、Genericでテンプレートをダウンロードしておく。以降、設定値は基本的にこのファイルから拾っていく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/323706/35f8ef3d-b45c-6840-0b6a-edd9f121be96.png)
## IKEの設定
ここはコピペでOK
“`
set vpn ipsec ike-group AWS lifetime ‘28800’
set vpn ipsec ike-group AWS proposal 1 dh-group ‘2’
set vpn ipsec ike-group AWS proposal 1 encryption ‘aes128’
set vpn i
AWS公式資料で挑むMLS認定(6)-Amazon AIサービスの全体像
##### [前回] [AWS公式資料で挑むMLS認定(5)-機械学習手法のまとめと比較](https://qiita.com/mingchun_zhao/items/91cc59f69860f12e7638)
## はじめに
今回から、Amazon AIサービスの勉強です。
まずは、Amazon AIサービスの全体像から。## 勉強に使用する教材
下記AWS公式ドキュメントを参照しながら進めます。
– AWS Black Belt Online Seminar
– ユーザーガイド
– デベロッパーガイド
– チュートリアル
– よくある質問
– AWSナレッジセンター
– APIリファレンス## Amazon AIサービスの概要
– AWSの事前トレーニング済みAIサービスは、アプリケーションやワークフローですぐ使えるインテリジェンスを提供
– AWSのAIサービスをアプリケーションと簡単に統合できる
– Amazon.comおよびAmazon社のMLサービスと同様の深層学習技術を使用
– ビジネスメリット
– 継続的な学習によりAPIの品質と精度が得られる
S3×CloudFront を使用したActionTextの画像アップロード・配信方法
# はじめに
ActionTextから登録された画像や添付ファイルはデフォルトだとサーバー内のローカルディスクに保存されます。
大容量のファイルが溜まり続けた場合、サーバがいつかキャパオーバーになってしまう懸念があります。
そこで、ActionTextから投稿された画像の保存先を、ローカルディスクから`Amazon S3`に変更しストレージ容量を確保し、高速コンテンツ配信サービス(CDN)である`Amazon CloudFront`を使用して、配信を行う構成を実装してみたいと思います。
—
【環境】
・ AWS(EC2, S3, CloudFront, IAM etc.)
・ Ruby 2.7.3
・ Ruby on Rails 6.1.5:::note warn
**ActionText**を使用するには、Railsバージョン6系以上が必要です。
:::[Action Text の概要](https://railsguides.jp/action_text_overview.html)
![スクリーンショット 2022-05-11 6.38.44.png](h
【初心者】AWS Machine Learning Lensを整理する
# 背景・目的
私は、現在データエンジニアリングを生業としています。普段は、データ基盤の構築や、パフォーマンスチューニングなどビックデータに関する業務に従事しています。
ビックデータの収集や、蓄積、分析などの環境構築の経験はそこそこありますが、機械学習による予測や分類などのスキルは持ち合わせていませんでした。
今まで機械学習を避け続けてきましたが、一念発起し学ぼうと思います。学び方としては、AWS Certified Machine Learning – Specialty(以降、ML試験という。)の勉強を通して、理解を深めていきます。ML試験のガイドの第2分野に、探索的データ解析が登場しましたのでそこから学びたいと思います。
過去に以下について、学習を進めてきました。今回は機械学習レンズについて学びたいと思います。
– 2.探索的データ分析
– 2.1.モデリング用のデータをサニタイズおよび準備する
– [【初心者】探索的データ解析とは何かを調べてみた](https://qiita.com/zumax/items/52c97307bf18f407bb6e)
AWS認定 機械学習 – 専門知識(DAS):合格への近道
# AWS認定 機械学習 – 専門知識(DAS)に向けて、下記の通り対策すれば合格できます!
AWS DASは、モダンな開発技術とも言える **「データレイク・データウェアハウス・データ分析基盤」** が対象となります。
このような現場を経験している方は少ないと思うため、非常に価値ある資格かと思います。
市場価値を上げるためにも、是非とも取得して欲しい資格の一つです!「1」「2」「3」の順番で取り組んでください。実際にこの順序で学ぶことで、現場にも生かすことができます!
[1. AWSのサービスを実際に手を動かして学ぶ](#1-awsのサービスを実際に手を動かして学ぶ)
[2. 問題集を解く](#2-問題集を解く)
[3. 書籍を読む](#3-書籍を読む)# 1. AWSのサービスを実際に手を動かして学ぶ
初めの勉強は、本試験に出題されるAWSサービスをマネジメントコンソールから学んでください。
いきなり、問題集や書籍から始めると挫折する可能性が高いです。
よく出題されるAWSサービス(実際の業務でもよく利用される)は下記7つであり、
これらを理解することで、**「データレイ
AWSのサービスを単純明快に説明してみる(コンテナ編)
巷ではAWSさんのサービス説明文が難解だと話題です。
これは私も思ってました(笑)https://www.itmedia.co.jp/news/articles/2205/10/news123.html
AWSの各サービス、冒頭の説明文見てもどういうものなのか全然わからなくない?
もしAWSがカップラーメン発売したらこんな感じの紹介してると思う。 pic.twitter.com/4ZoxjQdUUk— Kazuya Gokita (@kazoo04) May 9, 2022
そこで、わかりやすく説明してみようと思います!
## Amazon Elastic Container Registry
**Docker Hub**のAWS版
## Amazon Elastic Container Service (ECS)
AWS版のコンテナ動作環境の**コントロールプレーン**
コンテナ動作環境はEC2/Fargate/ECS Anywhereから選択## Amazon ECS Anywhere
**ECSのコンテナ実行環境**の一つ。**オンプレに構築**しAWS上のECSコントロールプレーンで管理
## Amazon Elastic Kubernetes Service (EKS)
AWS版の**Kubernetes**をク
CloudWatch Synthetics Canary on Terraform で Error: Cannot find module エラー
# 課題
CloudWatch Synthetics Canary の設定を Terraform で構築すると次のエラーに遭遇。# エラー
“`
ERROR: Canary error:
Error: Cannot find module ‘/opt/nodejs/node_modules/pageLoadBuilderBlueprint’
Require stack:
– /var/task/index.js
– /var/runtime/UserFunction.js
– /var/runtime/index.js Stack: Error: Cannot find module ‘/opt/nodejs/node_modules/pageLoadBuilderBlueprint’
Require stack:
– /var/task/index.js
– /var/runtime/UserFunction.js
– /var/runtime/index.js
at Function.Module._resolveFilename (internal/modules
AWSをはじめてさわる人向け
# はじめに
AWSでLAMPを使い始めるので,手順をまとめておく.
今回は公式ページに則ってやった.https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
# サーバ(インスタンス)をたてる
AWSのアカウントを作成してログイン1.右上にある地域を東京にする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525698/015bb637-ed0f-9107-ea1e-e680c8ff044a.png)2.仮想マシンの起動をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525698/4b102826-5c75-ea54-a2c0-d298c4896418.png)3.サーバの名前を決める
![image.png](https://qiita-i
AWS Control Tower の始め方 2022 春
個人アカウントに AWS Control Tower を設定したので、その際の流れをメモしておきます。少し前で恐縮ですが、画面ショット自体は 2022/3/29 時点の情報です。Control Tower そのものや関連するサービス自体の説明はしていません。
## セットアップの流れ
Control Tower コンソールに移動し、ランディングゾーンの設定に進みます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/8932991f-13d4-bb32-8e3a-fd7daed06905.png)
最初に Control Tower を設定するホームリージョンを指定します。ランディングゾーンの作成中に一部のリソースがホームリージョンでプロビジョニングされます。ランディングゾーンの作成後、ホームリージョンは変更できませんのでご注意ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaw