- 1. VPC CNIのEnhanced Subnet Discovery を試してみる!
- 2. 2分で読める「AWS Amplify」について
- 3. 【AWS】S3+CloudFront オリジンデータ更新時のキャッシュ動作
- 4. AWS: AWS入門(基本編2) – アカウントを作成する
- 5. CloudFromationでIAMユーザ作成時にアクセスキーをSecret Managerに保管してみた
- 6. EC2とRDSでWeb環境構築するよ!(最終回:Web環境の構築編)
- 7. 【AWS】ガバメントクラウド勉強会に向けたおさらい
- 8. 手を動かして0から理解するAmplify Gen2
- 9. S3バケットのコピーを作る
- 10. 【AWS】ロードバランサーを運用する上で重要!ターゲットグループのヘルスチェックの基本と設定方法
- 11. EBSデフォルト暗号化をカスタムリソースで実施〜Node.js編〜
- 12. クラウドとIaaS、PaaS、SaaS
- 13. 【AWS】 Route53+ACM+CloudFront+S3で静的Webサイトの構築
- 14. 【AWS】Lambdaで「StartQuery へのリクエスト中にエラーが発生しました」と表示された場合
- 15. PythonでAWS CLIコマンド実行の練習 (boto3編)
- 16. データ基盤学習必見 クラウドデータレイク(OREILLY出版)早速読んでみた 2024/5/17
- 17. Amazon Route53 でドメインを登録してみた
- 18. 【AWS SageMaker】SageMaker Ground Truthで手持ちの画像をラベリングしてみた
- 19. Amplify Gen2がGAしたので再Quickstartしてみた
- 20. EC2とRDSでWeb環境構築するよ!(第4回:RDS編)
VPC CNIのEnhanced Subnet Discovery を試してみる!
EKSのCNIであるVPC CNIにEnhanced Subnet Discovery機能が追加されました!
https://aws.amazon.com/jp/blogs/containers/amazon-vpc-cni-introduces-enhanced-subnet-discovery/
VPC CNIはPodのIPアドレスをAWS VPC上のサブネット内から払出すCNIです。
VPC内のIPを払出す事でEKSクラスタ外のサーバやAWSサービスにオーバーヘッド無くアクセスできるメリットがあります。
一方、Podに払出す事ができるIPアドレスの上限がVPC CIDRレンジに制限されるため、IPアドレスの枯渇がしばしば問題になる事がありました。EKSクラスタのIPアドレス枯渇問題については著者が以下のブログでまとめておりますので、宜しければこちらもご参照ください。
これまでもVPC CNIにはカスタムネットワークというIPアドレス枯渇問題に使える機能がありましたが、今回のEnh
2分で読める「AWS Amplify」について
# 1. AWS Amplifyとは
https://aws.amazon.com/jp/amplify/?nc=sn&loc=1
AWS Amplifyは、Amazon Web Services(AWS)が提供する一連のツールとサービスで、フロントエンドのウェブアプリケーションおよびモバイルアプリケーションの開発、デプロイ、ホスティングを簡素化することを目的とした「クラウドプラットフォームサービス」です。以下の主要なコンポーネントから構成されています。
### Amplify CLI
コマンドラインツールで、プロジェクトのセットアップ、リソースのプロビジョニング、アプリケーションのデプロイを行います。### Amplify Console
継続的デプロイメントとホスティングを提供するサービスで、Gitリポジトリと連携してコードの変更を自動的にデプロイします。### Amplify Libraries
クライアントサイドライブラリで、認証、データストレージ、API呼び出し、分析などの機能を簡単に統合できます。### Amplify UI Components
事前に
【AWS】S3+CloudFront オリジンデータ更新時のキャッシュ動作
## 意義
S3+cloudfrontのサービスでS3データ(オリジン)更新時にユーザーの見え方についてどのような動作になるのかを確認するために実施## 前提として
今回は手動での動きや操作を確認したいが自動化の場合は下記URLのようなS3イベント通知→Lamdba実行→キャッシュ削除が一番効率は良いと思う。今回はあえて手動で実施する。
https://zenn.dev/collabostyle/articles/3e7866de979682## 使用サービス
・S3
・CloudFront## 準備作業
今回は事前に準備してある”index.html”ファイルを使用して作成。
一連の設定は下記の通り。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3557022/da8ed794-d162-6440-2fe5-ee737ff0192e.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazona
AWS: AWS入門(基本編2) – アカウントを作成する
###### 実施環境
Microsoft Edge 124.0.2478.67 (64bit)
### 0. 概要
AWS は、アカウントを作ることで様々なサービスを使うことができます。
今回は AWS について、アカウントを作成してサインインするところまで進めてみます。### 1. AWS アカウントの作成
以下のサイトに接続します。
https://aws.amazon.com/jp/
右上の「 AWS アカウントを作成」をクリックします。
![WS000000.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/b3979d51-f377-d669-ae36-e49309cf772e.jpeg “1_01”)
すると、メールアドレスの入力画面が出ます。
使用するメールアドレスと適当なアカウント名を入力し、「認証コードを E メールアドレスに送信」をクリックします。![WS000002.JPG](https://qiita-image-store.s3.ap-
CloudFromationでIAMユーザ作成時にアクセスキーをSecret Managerに保管してみた
## はじめに
アクセスキーを作成するとセキュリティが心配になりますよね。
数も増えると管理も大変になってしまいます。そんな時は、「Secret Manager」を使いましょう!
今回は、CloudFormationでIAMユーザ作成→アクセスキー作成→Secret Managerに
保存まで自動化してみました。## テンプレート
“`
AWSTemplateFormatVersion: 2010-09-09
Description: CreateIAMUser for Switch Role
Resources:
TestUser:
Type: AWS::IAM::User
Properties:
UserName: TestUser
ManagedPolicyArns:
– arn:aws:iam::aws:policy/AdministratorAccessAccessKey:
Type: AWS::IAM::AccessKey
Properties:
Status:
EC2とRDSでWeb環境構築するよ!(最終回:Web環境の構築編)
EC2とRDSのWeb環境構築の最終回です。
第4回:RDS編はこちら
https://qiita.com/kikurage2030/items/82205ab72742a5ee5b85## サービスの全体象
作りたいサービスの概要はこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3785085/00cd9bdd-7272-b7c8-213d-616e17591a30.png)EC2にWebサーバを立ててPHPのプログラムがMySQLにアクセスしてテーブルの情報を表示する画面を作ります。
いわゆる一般的なWebシステムの構成でWebサーバはPublicサブネットに公開し、DBサーバはPrivateサブネットで冗長構成としてEC2のみのアクセスを許可する制御とします。また独自ドメインを取得してDNSでの名前解決も行えるようにします。このシリーズで取り組む内容は
第1回:VPC・サブネット周りの作業
第2回:EC2の構築
第3回:Route53の登録
第4回:R
【AWS】ガバメントクラウド勉強会に向けたおさらい
## はじめに
**ガバメントクラウド**を知っていますか?
直訳すると「政府クラウド」という名前から、
ガチガチ鉄壁感と分厚いガイドラインの気配を私は感じます。ただ、実態は「お、どこかで聞いたベストプラクティス」といった感じに、
仕上がっていることを知りました。今回は↓の5/29開催の勉強会に参加するにあたって、
ガバメントクラウドに対する基本知識のおさらいをする記事となります。https://gov-cloud.connpass.com/event/318262/
## ガバメントクラウドとは?
デジタル庁のホームページから抜粋すると以下意味となる。
>政府共通のクラウドサービスの利用環境です。クラウドサービスの利点を最大限に活用することで、迅速、柔軟、かつセキュアでコスト効率の高いシステムを構築可能とし、利用者にとって利便性の高いサービスをいち早く提供し改善していくことを目指します。要は「危険な操作を防ぐ/発見できるルールが整備されたセキュアなAWS環境とモダン構成を迅速に開発できるテンプレ一ト」などの一式を連携してもらえるイメージ。
また、ガバメントクラウ
手を動かして0から理解するAmplify Gen2
今週は、AWS Startup Loft Osaka Pop-Upにお邪魔してきました。
https://aws.amazon.com/jp/blogs/startup/aws-startup-loft-osaka-pop-up-2024/
コワーキングスペースを提供してくれたり、日替わりでさまざまなイベントが開催されていました。(火曜日から木曜日まで、3日間もお邪魔しました。暖かく迎えていただいて大変感謝しております)
木曜日にはAmplifyに関するイベントがあり、GAされたばかりのGen2に関して学ぶことができました。なんと **AmplifyのプロダクトマネージャのMattさんからのDeep dive** もあり、 **裏側までちら見せ** してもらうという贅沢な場でした。(現地はAM 7:00ぐらいと言ってた気がします。Mattさんありがとうございました!!)
:::note
Amplify Gen2を始めるなら今です!!
:::## Amplifyとは
Amplifyは、「AWSを意識しないでAWSを使える」という一見不思議なサービスです。
![](http
S3バケットのコピーを作る
AWS Cloudfront のコンテンツのスナップショットを作るために、そのオリジンとしていたAWSのS3バケットのコピーのやり方を備忘として残しておきます。
# AWS CLI for Windowsをインストールする
WebブラウザからアクセスできるAWSの管理コンソールでは、S3バケットをコピーする機能がないため、コマンドラインインタフェース(CLI)を使います。ここではWindows PowerShell から使うために、AWS CLI for Windows をインストールします。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.htmlAWSCLIV2.msi ファイルをダンロードしたら、手元のWindows 上で実行してインストールします。
インストールが済んだら、PowerShell を立ち上げて、インストールされたAWS CLI のバージョンを確認しておきましょう。
aws --version
aws-cli/2.15.53 Python
【AWS】ロードバランサーを運用する上で重要!ターゲットグループのヘルスチェックの基本と設定方法
# はじめに
ロードバランサーは、**複数のサーバー(ターゲット)に対して負荷を分散する仕組み**です。高い可用性と拡張性を実現する上で欠かせないツールですが、その運用には注意が必要です。特に重要なのが、ターゲットの健全性を監視する「**ヘルスチェック**」の設定です。今回は、ヘルスチェックの基本的な仕組みから、具体的な設定方法、ベストプラクティスまでを解説します。# ターゲットグループとヘルスチェックの役割
ロードバランサーの構築では、まず負荷分散の対象となるターゲット(EC2インスタンスなど)を「**ターゲットグループ**」としてまとめます。ターゲットグループには、**同じ役割を持つターゲットを登録**します。
ロードバランサーは、ターゲットグループ内の「正常な」ターゲットにのみトラフィックを転送します。つまり、どのターゲットが正常で、どのターゲットが異常かを常に把握しておく必要があります。ここで活躍するのが「ヘルスチェック」です。
ヘルスチェックは、**ロードバランサーからターゲットに対して定期的に行われるリクエスト**です。応答内容に基づいて、各ターゲットの状態が「正常」か
EBSデフォルト暗号化をカスタムリソースで実施〜Node.js編〜
# EBSデフォルト暗号化をカスタムリソースで実施〜Node.js編〜
以下の業務要件があったため、EBSデフォルト暗号化をカスタムリソース(Node.js)で実装することになりました。
- リソースの作成や設定値の変更は、コンソールやCLIからを行わずIaCで管理する
- ランタイムには、Node.jsを使用するPythonを用いた実装は、以下の記事が参考になります。
https://dev.classmethod.jp/articles/lambda-backed-custom-resources-enable-encryption-ebs/
早速、ソースコードの記載から始めていきます。
後半では、詰まったポイントも記載するので、興味がある方は一読してください。# ソースコード
```yaml:EnableEBSDefaultEncryption.yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: Template to enable EBS default encryption across all r
クラウドとIaaS、PaaS、SaaS
## IaaS、PaaS、SaaSって何さ
#### ざっくり言うと...
- クラウドサービスの利用形態の分類
- IaaS: Infrastructure as a Service
- PaaS: Platform as a Service
- SaaS: Software as a Service- IaaSはハードウェアの保守管理を中心に行い、PaaSは開発環境を提供する為のミドルウェア、サーバOSまでを運用管理し、SaaSはエンドユーザが利用するアプリケーションまで運用管理をする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3765079/3d3bfb56-f5fc-d3a6-94fa-b63cec731d4a.png)
#### そもそもクラウドって何
クラウドを話す前に知っておく必要があるのが「オンプレミス」というもの。
オンプレミスって?
>オンプレミスとは、サーバーなどのハードウェアやIT機器、ファイルソフトなどのソフトウェアを自社で保
【AWS】 Route53+ACM+CloudFront+S3で静的Webサイトの構築
## 今回の意義
AWSへの知見を深める
代表的なサービスに触れるため## 使用サービス
【AWS】
・AWS Certificate Manager
・Amazon CloudFront
・Amazon S3
・Amazon Route53
・AWS CLI(VSCODE)## 参考資料
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-StaticWebsiteHosting-2022-confirmation_254.html## 構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3557022/307886cd-f6da-9a93-b043-435a71468d31.png)## S3の設定
・バケットの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3557022/40080
【AWS】Lambdaで「StartQuery へのリクエスト中にエラーが発生しました」と表示された場合
# 概要
AWS LambdaをCloudformationで作成した際、
「StartQuery へのリクエスト中にエラーが発生しました」
というエラーに遭遇しました。原因と解決法を紹介します。
# エラー概要
以下でCF実行。
```yaml
LambdaRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
-
Effect: Allow
Principal:
Service:
- sns.amazonaws.com
- lambda.amazonaws.com
Action:
- sts:AssumeRole
Path: "/"
R
PythonでAWS CLIコマンド実行の練習 (boto3編)
# 目的
https://qiita.com/sincere_networker/items/acc5f86244fe5e50e290上記ではsubprocess.runでAWS CLIコマンドを実行していたが、boto3に変更してみる
https://docs.aws.amazon.com/ja_jp/pythonsdk/
# Pythonスクリプトの作成
直近3ヶ月間の最大スループット値(In/Out)を取得する
```python:get_ec2_throughput_boto3.py
import boto3
import json
import time
from datetime import datetime, timedeltadef cloudwatch_get_metric(metric_name):
# boto3クライアントを作成
cloudwatch = boto3.client('cloudwatch')# CloudWatchからメトリクスデータを取得
response = cloudwatch.get_me
データ基盤学習必見 クラウドデータレイク(OREILLY出版)早速読んでみた 2024/5/17
# 1.前置き
みなさんこんにちは、私は日頃データ基盤の構築を行なっております。
近年、オライリー者からデータ基盤の本が多数出てきていること、本当に嬉しく思います。
さて、2024年5月17日にそのオライリー社から新たに
クラウドデータレイクという本が出版されました今回はその本の感想をしていきたいと思います。
https://www.oreilly.co.jp/books/9784814400676/
解説は思ったのですが、内容がかなり網羅的に記載されている分、記事にすると余計抽象的になってしまい記事の内容を考え中です。
# 2.まずはこの本の感想
## 現場のエンジニアにとってはちょっと浅いと感じるかもしれない。
これが一番の感想でした。
この本の本当のターゲットは恐らく、
『これからデータ基盤を構築したいけど、概略もよくわからない』
『データレイクってなに?』
『なんでデータレイクにデータを入れる必要があるの?』
これがあまり理解できていない方に対しての本なのかなと思います。また、最近機械学習などの流行から
『データレイクハウス』
という言葉が出てきていると
Amazon Route53 でドメインを登録してみた
# 背景・目的
以前、[Amazon Route 53を整理してみた](https://qiita.com/zumax/items/f9b617d3d8df6ff1d4ab)や、[Amazon Route 53 Resolverを整理してみた](https://qiita.com/zumax/items/715de9f932f07a7ffceb)では、Route 53関連の知識について整理しました。今回は、実際にRoute 53を使ってドメインを登録してみます。
# まとめ
下記に特徴を整理します
|特徴|説明|
|:--|:--|
|Route 53 プロファイル|・DNS関連のRoute 53の設定を多くのVPC、AWSアカウントに適用して管理が可能
・プロファイルを使用すると、多数のVPCのDNS設定を1つのVPCで管理するように、簡単に管理可能|
|プロファイルに関連付けることができるリソース|・プライベートホストゾーンとそこで指定された設定
・Route 53 リゾルバルール
・DNS ファイアウォール ルールグループ
|VPC設定の一部は、プロフ
【AWS SageMaker】SageMaker Ground Truthで手持ちの画像をラベリングしてみた
# 背景
AWS SageMakerについて勉強していたところ、SageMaker Ground Truthは画像にラベリングを行うものとあったので、実際に触ってみました。# 試した事(概要)
漫画家の矢吹健太郎先生の作品である「ToLoveる-ダークネス-」のヒロインキャラクター画像に対して、キャラクター名をラベリングしてみました。例えば、
![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3779844/1b78b8e5-64e3-b359-3d0e-622808bfa127.png)
これは「ヤミ」のラベルを付けて、
![002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3779844/425398c7-50e3-e046-8987-51c50af73e7b.png)
これは「モモ」のラベルを付けてみる形です。# 試した事(詳細)
## 1. S3にラベリングを行いたい画像をアップロード
!
Amplify Gen2がGAしたので再Quickstartしてみた
Amplify Gen2がこの5月にGAしました。
それに際してドキュメントのQuickstartの内容も若干変化していたので、もう一回Quickstartしてみました。
参考; [Amplify Gen2ドキュメント](https://docs.amplify.aws/react/start/quickstart/)
これに続いてStorage機能を試す予定です。# フルスタックアプリをAWSにデプロイする
デプロイはこんな流れです。
1. リポジトリの作成
1. 最初のアプリをデプロイ
1. アプリを確認する
## リポジトリの作成
ドキュメントの"Create repository from template"をクリックします。
![画像](https://d39oe90ddnxn3x.cloudfront.net/01_AmplifyGen2_ReQuickStart/01_AmplifyGen2_ReQuickStart01.png )
クリックするとGitHubのリポジトリ作成画面になります。説明とリポジトリ名はあらかじめ記入してあります。
![画像](https://
EC2とRDSでWeb環境構築するよ!(第4回:RDS編)
EC2とRDSのWeb環境構築の第4回目です。
第3回:Route53編はこちら
https://qiita.com/kikurage2030/items/46154965781b49b93e0d## サービスの全体象
作りたいサービスの概要はこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3785085/00cd9bdd-7272-b7c8-213d-616e17591a30.png)EC2にWebサーバを立ててPHPのプログラムがMySQLにアクセスしてテーブルの情報を表示する画面を作ります。
いわゆる一般的なWebシステムの構成でWebサーバはPublicサブネットに公開し、DBサーバはPrivateサブネットで冗長構成としてEC2のみのアクセスを許可する制御とします。また独自ドメインを取得してDNSでの名前解決も行えるようにします。このシリーズで取り組む内容は
第1回:VPC・サブネット周りの作業
第2回:EC2の構築
第3回:Route53の登録