- 1. AWS DataSyncとAzure File Sync 比較 ~まとめ編~
- 2. re:Invent 2022 ストレージ関連の新サービス、アップデートまとめ
- 3. AWS DataSyncとAzure File Sync 比較 ~Azure File Sync動作確認編~
- 4. スイッチロールについて
- 5. 自己紹介(学生、未経験エンジニアの方々へ)
- 6. Amazon Workspacesで作業するためのちょっとした設定
- 7. Amplifyのカスタムヘッダー設定時に判明したこと
- 8. aws-vaultを使ってAWSのシークレットキーおよびアクセスキーを暗号化した状態で使用しよう!
- 9. 【AWS】Route53の設定(初心者用)
- 10. 【お名前.com】ドメイン購入 (初心者用)
- 11. 【AWS】Webサーバーの構築 (初心者用)
- 12. 【AWS】IAMパスワードポリシーの変更方法
- 13. 【AWS】IAMユーザーから請求情報にアクセスする方法
- 14. 【AWS】IAM作業ユーザー登録
- 15. 【AWS】1年無料期間がいつ終わるか確認する方法
- 16. 【初学者向け】AWS VPCの基本のキ
- 17. GlueジョブからCloudWatchLogsへ出力されるログ転送量の削減
- 18. boto3 APIで実装するAssumeRole(Python)
- 19. Fargateで読み取り専用ルートファイルシステムで動作させる場合の考慮
- 20. 【コスト削減】小規模な ECS on Fargate 環境をスモールステップで約76%節約した話
AWS DataSyncとAzure File Sync 比較 ~まとめ編~
AWS DataSync(以下、DataSync)と Azure File Sync(以下、File Sync)シリーズの8本目の記事です。
1本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~共通点と相違点~](https://qiita.com/hidekko/items/9610ef551999f6ea1f37)
2本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~](https://qiita.com/hidekko/items/45eab57f6c6088eb1607)
3本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築事前準備編~](https://qiita.com/hidekko/items/8e7a3fb6494462926597)
4本目の記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築編~](https://qiita.com/hidekko/i
re:Invent 2022 ストレージ関連の新サービス、アップデートまとめ
# re:Invent 2022で発表されたストレージ関連のアップデートをまとめました
小林さんの資料から抜粋させていただいております。(小林さん、毎年ありがとうございます!)https://aws.amazon.com/jp/blogs/news/2022-11-reinvent2022-aws-blackbelt/
## S3 Access Point で共有時の権限委譲が可能に
https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-s3-access-points-securely-delegate-permissions-datasets-aws-accounts/
– Amazon S3 Access Pointでアカウントをまたいだ共有時、権限付与を共有される側に権限委譲(デリゲーション)できるようになった
– バケットの所有者は、共有される側のアカウントで作成されたアクセスポイントに対してアクセス権を付与することができる
– 共有される側のアカウントは、そのアカウントにあるアクセスポイントを介して共
AWS DataSyncとAzure File Sync 比較 ~Azure File Sync動作確認編~
AWS DataSync(以下、DataSync)と Azure File Sync(以下、File Sync)シリーズの7本目の記事です。
1本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~共通点と相違点~](https://qiita.com/hidekko/items/9610ef551999f6ea1f37)
2本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~](https://qiita.com/hidekko/items/45eab57f6c6088eb1607)
3本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築事前準備編~](https://qiita.com/hidekko/items/8e7a3fb6494462926597)
4本目の記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築編~](https://qiita.com/hidekko/i
スイッチロールについて
## スイッチロールとは
**通常の複数のAWSアカウントの管理方法**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/2bc6313b-d66a-53b5-b91f-559f12cddedb.png)
**Switch Role方式**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/722e07ef-1423-304e-9e3e-67e22d8f5076.png)## スイッチロールのやり方
①スイッチロール先での作業
IAMロールの作成
– 信頼されたエンティティタイプ:AWSアカウント
– AWSアカウント:別のAWSアカウント
アカウントIDにスイッチロールを許可したいIDを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273377
自己紹介(学生、未経験エンジニアの方々へ)
# はじめに
こんにちは!インフラエンジニア志望のゆひと申します!
記念すべき、Qiita初投稿なので以下の**5点**についてお話できればなと思います。[1. 大学について](#1-大学について)
[2. 悩める就活、、、(~大学3年生春)](#2-悩める就活、、、(~大学3年生春))
[3. コンサルバイトとの出会い(大学3年秋~)](#3-コンサルバイトとの出会い(大学3年秋~))
[4. インフラエンジニアに興味を持った理由](#4-インフラエンジニアに興味を持った理由)
[5. Qiita投稿について](#5-Qiita投稿について)# 1. 大学について
情報工学を専攻する大学3年生です。学内での成績はかなり良く、3年の1学期は約60名中、トップの成績でした。俗に言うGPAじゃんけんでは負けないと思うので第一希望の最適化計算を行っている研究室に配属されると思います(笑)。そのまま、同大学院に進学する予定です。# 2. 悩める就活、、、(~大学3年生春)
大学2年生までは、「成長できる・稼げる・カッコイイ!」という理由で**みんな大好きコンサル業界**に漠然と興味
Amazon Workspacesで作業するためのちょっとした設定
Amazon WorkspacesはAWSで提供されているリモートデスクトップ。
参画しているプロジェクトではセキュリティの観点から
– ローカルにファイルを保存することができない
– ローカルからBacklogやJIRAなどに接続してはいけないという制限がある。
でも、もともと用意されている社内のOA端末でリモート接続すると、重すぎて作業にならない。
そこで、Amazon Workspacesを契約してもらって作業することになった。
私は開発の担当ではなく要件定義や外部設計の担当なので、作業は主に
– Web会議をする
– Microsoft OfficeのPowerPointまたはExcelを使ってドキュメントを書く
– 作成した資料をファイル共有用のWebサービスにアップロードする
– システムに関する資料をダウンロードする
– システムに関する資料を読む
– チャットツールでコミュニケーションを取る
– Backlogを書いたりやJIRAを見たりするという感じ。
## 必要だった設定
### 英語キーボードになっているので、日本語キーボードにする。
A
Amplifyのカスタムヘッダー設定時に判明したこと
## はじめに
Amplifyのカスタムヘッダーを設定した際に判明したことについてまとめます。## カスタムヘッダーの設定方法
まず、Amplifyのカスタムヘッダー設定には、下記の2つの方法があります。
* AWSマネジメントコンソールからの設定
* customHttp.ymlをプロジェクトのルートディレクトリに配置今回は後者の「customHttp.ymlをプロジェクトのルートディレクトリに配置」で行うことにしました。
## 判明したこと
設定後に反映されているかを確認するために、AWSマネジメントコンソール上のAmplifyの設定を確認してみました。
しかし、下記のように画面上には何も表示されていませんでした。![Amplify_customHttp_yml.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2825569/2e6b3515-8969-38e7-4800-77c5459660d8.png)
設定した内容がここに表示されるものだと思い込んでいたため、設定できていないのか
aws-vaultを使ってAWSのシークレットキーおよびアクセスキーを暗号化した状態で使用しよう!
## aws-vaultとは
AWSのシークレットキーとアクセスキーを暗号化して保存できるツールです
aws configure コマンドでこれらの秘匿情報が平文でローカルマシンの ~/.aws/credentials に保存されてしまいます
セキュリティリスクが大きいため、aws-vaultを使うことを推奨しますGitHubのリンクは以下の通りです
https://github.com/99designs/aws-vault
## aws-vaultのインストール
brewでインストールします
“`
brew install –cask aws-vault
“`下記のようにバージョンが表示されたら成功です
“`
aws-vault –version
v6.6.1
“`## aws-vaultの設定を行おう!
### シークレットキーとアクセスキーの設定
まず、`aws-vault add` ユーザ名でユーザを追加します
“`
aws-vault add shun198
“`以下のようなポップアップが表示されますが`開く`を押します
【AWS】Route53の設定(初心者用)
# ~ はじめに ~
以前の「[記事](https://qiita.com/ponponpoko/items/ac9e9d75d1d040868155)」で購入したドメインをRoute53に設定して、作成したWebサーバーにドメインからアクセスできるようする勉強を行ったので、その備忘録をここに残します。
:::note info
[Amazon Route 53 とは?(AWSより引用)](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/Welcome.html)
Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。Route 53 を使用すると、ドメイン登録、DNS ルーティング、ヘルスチェックの 3 つの主要な機能を任意の組み合わせで実行できます。
:::※ Route53を使うことで、DNSサーバーの構築・維持管理が不要
**~メモ~**
**ホストゾーンとは:**
DNSのリ
【お名前.com】ドメイン購入 (初心者用)
# ~はじめに~
AWS-Route53を勉強するにあたってドメインを購入したので、ドメイン購入の仕方を備忘録として記録したいと思う。今回は、「[お名前.com](https://www.onamae.com/)」でドメインを購入しました。
[ドメインとは?](https://www.value-domain.com/media/domain-about/):
インターネット上にあるWebサイトを示すURL(住所)の一部に使う、識別子のようなもの。
ドメインをIPアドレスに紐づけることで、
IPアドレスの代わりにドメインを使ってWebサイトにアクセスするURLを分かりやすくする。
![](https://storage.googleapis.com/zenn-user-upload/cd91d69d9089-20230110.png)
**nslookup**コマンドで名前解決をすることができる。([windows](https://atmarkit.itmedia.co.jp/ait/articles/0307/19/news003.html))([Linux](https://
【AWS】Webサーバーの構築 (初心者用)
# ~はじめに~
Webサーバーの構築を行ったので、基本的な構築方法を忘れないために備忘録として書きます。
今回は、下記の流れで行いました。1. EC2インスタンスの設置
2. [Apache](https://hnavi.co.jp/knowledge/blog/apache/)をインストール**~構成図~**
![](https://storage.googleapis.com/zenn-user-upload/3bedc2518362-20230109.png)# 1. EC2インスタンスの設置
・検索欄より「EC2」を検索し、「EC2コンソール」から「インスタンスを起動」をクリック
![](https://storage.googleapis.com/zenn-user-upload/638201bc5d5f-20230109.png)・構成内容は下記(その他は、お好みで)
![](https://storage.googleapis.com/zenn-user-upload/aba2ebbe8632-20230109.png)
![](https://st
【AWS】IAMパスワードポリシーの変更方法
# はじめに
所属する組織によって、パスワードのルールは異なってくるかと思います。
私が所属する組織では、パスワード長が16桁に設定されております・・・。
IAMでもパスワードのルールを設定することができるようです。
今回は、そのやり方を書きたいと思います。
# IAMパスワードポリシーの設定
1. IAMコンソールの画面左側にある「アクセス管理」->「アカウント設定」をクリックし、
パスワードポリシーの「編集」をクリックする。
![](https://storage.googleapis.com/zenn-user-upload/032a51aa2deb-20230106.png)
2. パスワードポリシーの設定画面に遷移したら「カスタム」を選択し、ルールを決めていく。
今回は試しに、下記の設定を追加してみる。設定が完了したら「変更を保存」をクリックする。
– 「パスワードの有効期限を31日」
– 「同じパスワード再利用制限を12回」
![](https://storage.googleapis.com/zenn-user-upload/321713b9d73e-2
【AWS】IAMユーザーから請求情報にアクセスする方法
# はじめに
基本的にAWS請求情報にアクセスできる権限を持つユーザーは、「ルートユーザー」のみである。
デフォルトでは、IAMユーザーからAWS請求情報にアクセスできない。
これを回避するには、IAMユーザーにAWS請求情報にアクセスできる権限(ポリシー)の割り当てとアカウント画面から「IAMアクセスのアクティブ化」をしなければならない。
今回は、そのやり方を書きたいと思う。
# IAMユーザーに請求情報へのアクセス付与する方法
IAMユーザーは、デフォルトでAWS請求コンソールにアクセスできません。
そのための[対応方法](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/control-access-billing.html#grantaccess)を記述する。※「AdministratorAccess」でアクセスできるのは、
この権限はAWS請求コンソールにアクセスできる権限を持っているため。1. AWSコンソール一番右上の自身のユーザ
【AWS】IAM作業ユーザー登録
# はじめに
今回は、IAMユーザー登録のハンズオンを行ってみたいと思います。
私自身が初心者ですので、間違っていたらご指摘お願いします。
# IAM(Identity and Access Manegement)について
・AWSリソースへのアクセスを管理するサービス
・主な機能は、(ユーザー)認証と(機能/サービスへの)アクセス許可の機能
・ルートユーザーはフル権限なので、IAMユーザーで作業することを推奨
・IAMユーザーをグループ単位で管理することも可能
・ユーザー認証に、MFA(多要素認証)を利用することを推奨
**~備考~**
[IAMセキュリティのベストプラクティスについて](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html)
[ルートユーザーのみでしかできないタスク](https://docs.aws.amazon.com/ja_jp/accounts/latest/reference/root-user-tasks.html)
# IAMユーザーの作成方法
【AWS】1年無料期間がいつ終わるか確認する方法
# はじめに
ご存知の通りAWSでは、新規ユーザーの場合1年間無料で利用できる制度がある。:::note warn
利用できるリソース量には、制限があることを忘れずに・・・。
:::→ [AWS 無料利用枠(AWS のプラットフォーム、製品、サービスを無料で実際に体験できます)](https://aws.amazon.com/jp/free/?gclid=Cj0KCQiA14WdBhD8ARIsANao07grSdH8hJu3tUkC_4J_b_iy_synhLyT94i2A16u_bZg-HV9HO2O2_UaArm0EALw_wcB&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=tier%2312monthsfree&awsf.Free%20Tier%20Categories=*all&trk=ec4d2622-9132-4d67-996b-e37dbc3a40d7&sc_channel=ps&s_kwc
【初学者向け】AWS VPCの基本のキ
## VPCとは
Amazon VPC(Virtual Private Cloud)は、AWS上に独立したプライベートネットワーク空間を作成できるサービスのことです。
通常AWS上のハードウェアやネットワークインフラストラクチャはユーザー全体で共有されていますが、「VPC」と呼ばれる仮想ネットワークを作成することで、論理的に分割された、特定のユーザーだけが利用できるプライベートネットワークを構築することができます。これにより、ネットワークのセキュリティを確保することができます。## ネットワーク設計
サービスを構築する上で本番環境のほかに開発やステージング環境を作りますが、環境の分け方は次のいずれかになることが多いと思います。– 1つのVPCに全ての環境を入れる
– 環境ごとにVPCを分ける
– 環境ごとにAWSアカウントを分ける2のパターンで設計する場合、VPCをdevelopment、staging、productionという名称で3つ作成します。その際に以下のように2クオテット目が連番になるように設定すると分かりやすくなります。
| 環境 | IP |
GlueジョブからCloudWatchLogsへ出力されるログ転送量の削減
## Glueジョブに関係するCloudWatchLogsの料金
GlueジョブからCloudWatchLogsへログが転送されるときに、二つの料金が発生します。
[AWS公式ドキュメント](https://aws.amazon.com/jp/cloudwatch/pricing/?nc1=h_ls)– ログの保管量:1Gbあたり、0.033$
– ログの転送量:1Gbあたり、0.76$ここで、ログの保管量は、それほど高くはないが、ログの転送量は高額のため、
できる限りログの転送量を減らしたほうがいい## ログの転送量を減らすための設定
以下のオプションを追加するのみ。
「WARN」の設定は、主に「WARNログ」「ERROEログ」が出力される実装となり、「INFOログ」は出力されなくなるため、ログの転送量を大幅に減らすことができる。
Glueジョブを運用していく中で、INFOログは不要であることが多いため、基本的には問題なしの場面が多い。(検証時に多少閲覧するくらいです)
– sc.setLogLevel(“WARN”)
“`python
import os
import
boto3 APIで実装するAssumeRole(Python)
## AssumeRoleとは
現在のIAMの権限から、異なるIAMロールへ権限委譲するときに利用するAWS API名。
本記事では、Lambdaに付与しているIAMロールからAssumeRole先のIAMロールへ権限委譲するための実装を後述。
![スクリーンショット 2023-01-13 11.04.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/3ca07396-fb58-9a97-f3dd-d3dcb2e38fad.png)
## IAMロールの構築
Lambdaに付与するIAMロールを作成
![スクリーンショット 2023-01-13 11.06.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/659edbd3-e797-91a7-a5eb-ab4b8420069d.png)AssumeRole先のIAMロールを作成(添付画像の信頼関係の設定必須!)
![スクリーンショット
Fargateで読み取り専用ルートファイルシステムで動作させる場合の考慮
## 読み取り専用ルートファイルシステム
– コンテナ上のファイルシステムへの書き込みを禁止する設定
– 起動中にファイル書き込みができないため、セキュリティレベルが結構上がる
– 多くの場合、一時ファイル、PID生成、ソケットファイル生成などの挙動があるため、単純に本機能を有効にしただけでは、書き込みエラーでプロセスが上がってこないので、この辺りは調べないといけない## どのように設定すればよいか
### AWS側
タスク定義に下記を追記“`json
{
readonlyRootFilesystem = true
}
“`### アプリケーション側
– 書き込みが必要なディレクトリのみをDockerfileのVOLUMEでマウントする
– そうすると、ホストのファイルシステムへの書き込みができるようになる。
– また、このボリュームは揮発性であるため、コンテナ削除のタイミングでボリュームも削除される#### 例
“`Dockerfile
FROM alpine:3.11.3RUN mkdir -p /hoge /fuga
VOLUME [“/ho
【コスト削減】小規模な ECS on Fargate 環境をスモールステップで約76%節約した話
# はじめに
私のチームでは、スクラム開発にRedmine(コンテナ)を利用しています。
ECS on Fargate 環境で Redmine コンテナを利用していますが、当チームはコンテナ経験豊富なメンバーがおらず、当初かなりのコストがかかっていました。一般的に推奨されている方法の積み重ねであるため、特に目新しさはありませんが、スモールステップで約76%のコストを削減しましたので、事例を紹介します。
## ECS on Fargate導入・コスト削減の経緯
大まかな経緯は以下の通りです。
1. 当チームのスクラム開発で、管理ツールを検討。
2. メンバーから、ECS on Fargate で組まれた Redmine のテンプレート(CDK)が展開。
3. 当チームのコンテナ運用経験が乏しかったので、学習も兼ねて Redmine のコンテナを導入することに決定。
4. 特に意識せず、ECS on Fargate 環境を構築したところ、AWS 利用料が高額化。
5. スモールステップでコスト削減を実施!## 環境
Redmine の構築では、以下を参考にさせていただ